semantic-conventions/model/k8s/metrics.yaml

1405 lines
51 KiB
YAML

groups:
# k8s.pod.* metrics
- id: metric.k8s.pod.uptime
type: metric
metric_name: k8s.pod.uptime
annotations:
code_generation:
metric_value_type: double
stability: development
brief: "The time the Pod has been running"
entity_associations:
- k8s.pod
note: |
Instrumentations SHOULD use a gauge with type `double` and measure uptime in seconds as a floating point number with the highest precision available.
The actual accuracy would depend on the instrumentation and operating system.
instrument: gauge
unit: "s"
# k8s.pod.cpu.* metrics
- id: metric.k8s.pod.cpu.time
type: metric
metric_name: k8s.pod.cpu.time
annotations:
code_generation:
metric_value_type: double
stability: development
brief: "Total CPU time consumed"
entity_associations:
- k8s.pod
note: >
Total CPU time consumed by the specific Pod on all available CPU cores
instrument: counter
unit: "s"
- id: metric.k8s.pod.cpu.usage
type: metric
metric_name: k8s.pod.cpu.usage
annotations:
code_generation:
metric_value_type: double
stability: development
brief: "Pod's CPU usage, measured in cpus. Range from 0 to the number of allocatable CPUs"
note: >
CPU usage of the specific Pod on all available CPU cores, averaged over the sample window
instrument: gauge
unit: "{cpu}"
# k8s.pod.memory.* metrics
- id: metric.k8s.pod.memory.usage
type: metric
metric_name: k8s.pod.memory.usage
annotations:
code_generation:
metric_value_type: int
stability: development
brief: "Memory usage of the Pod"
entity_associations:
- k8s.pod
note: >
Total memory usage of the Pod
instrument: gauge
unit: "By"
# k8s.pod.network.* metrics
- id: metric.k8s.pod.network.io
type: metric
metric_name: k8s.pod.network.io
annotations:
code_generation:
metric_value_type: int
stability: development
brief: "Network bytes for the Pod"
instrument: counter
unit: "By"
entity_associations:
- k8s.pod
attributes:
- ref: network.interface.name
- ref: network.io.direction
- id: metric.k8s.pod.network.errors
type: metric
metric_name: k8s.pod.network.errors
annotations:
code_generation:
metric_value_type: int
stability: development
brief: "Pod network errors"
instrument: counter
entity_associations:
- k8s.pod
unit: "{error}"
attributes:
- ref: network.interface.name
- ref: network.io.direction
# k8s.pod.filesystem.* metrics
- id: metric.k8s.pod.filesystem.available
type: metric
metric_name: k8s.pod.filesystem.available
stability: development
brief: "Pod filesystem available bytes"
instrument: updowncounter
unit: "By"
annotations:
code_generation:
metric_value_type: int
entity_associations:
- k8s.pod
note: |
This metric is derived from the
[FsStats.AvailableBytes](https://pkg.go.dev/k8s.io/kubelet@v0.33.0/pkg/apis/stats/v1alpha1#FsStats) field
of the [PodStats.EphemeralStorage](https://pkg.go.dev/k8s.io/kubelet@v0.33.0/pkg/apis/stats/v1alpha1#PodStats)
of the Kubelet's stats API.
- id: metric.k8s.pod.filesystem.capacity
type: metric
metric_name: k8s.pod.filesystem.capacity
stability: development
brief: "Pod filesystem capacity"
instrument: updowncounter
unit: "By"
annotations:
code_generation:
metric_value_type: int
entity_associations:
- k8s.pod
note: |
This metric is derived from the
[FsStats.CapacityBytes](https://pkg.go.dev/k8s.io/kubelet@v0.33.0/pkg/apis/stats/v1alpha1#FsStats) field
of the [PodStats.EphemeralStorage](https://pkg.go.dev/k8s.io/kubelet@v0.33.0/pkg/apis/stats/v1alpha1#PodStats)
of the Kubelet's stats API.
- id: metric.k8s.pod.filesystem.usage
type: metric
metric_name: k8s.pod.filesystem.usage
stability: development
brief: "Pod filesystem usage"
instrument: updowncounter
unit: "By"
annotations:
code_generation:
metric_value_type: int
entity_associations:
- k8s.pod
note: |
This may not equal capacity - available.
This metric is derived from the
[FsStats.UsedBytes](https://pkg.go.dev/k8s.io/kubelet@v0.33.0/pkg/apis/stats/v1alpha1#FsStats) field
of the [PodStats.EphemeralStorage](https://pkg.go.dev/k8s.io/kubelet@v0.33.0/pkg/apis/stats/v1alpha1#PodStats)
of the Kubelet's stats API.
# k8s.container.* metrics
- id: metric.k8s.container.status.state
type: metric
metric_name: k8s.container.status.state
annotations:
code_generation:
metric_value_type: int
stability: development
brief: "Describes the number of K8s containers that are currently in a given state"
note: |
All possible container states will be reported at each time interval to avoid missing metrics.
Only the value corresponding to the current state will be non-zero.
instrument: updowncounter
unit: "{container}"
entity_associations:
- k8s.container
attributes:
- ref: k8s.container.status.state
requirement_level: required
- id: metric.k8s.container.status.reason
type: metric
metric_name: k8s.container.status.reason
annotations:
code_generation:
metric_value_type: int
stability: development
brief: "Describes the number of K8s containers that are currently in a state for a given reason"
instrument: updowncounter
unit: "{container}"
entity_associations:
- k8s.container
note: |
All possible container state reasons will be reported at each time interval to avoid missing metrics.
Only the value corresponding to the current state reason will be non-zero.
attributes:
- ref: k8s.container.status.reason
requirement_level: required
# k8s.node.* metrics
- id: metric.k8s.node.uptime
type: metric
metric_name: k8s.node.uptime
annotations:
code_generation:
metric_value_type: double
stability: development
brief: "The time the Node has been running"
note: |
Instrumentations SHOULD use a gauge with type `double` and measure uptime in seconds as a floating point number with the highest precision available.
The actual accuracy would depend on the instrumentation and operating system.
instrument: gauge
unit: "s"
entity_associations:
- k8s.node
# k8s.node.allocatable.* metrics
- id: metric.k8s.node.allocatable.cpu
type: metric
metric_name: k8s.node.allocatable.cpu
annotations:
code_generation:
metric_value_type: double
stability: development
brief: "Amount of cpu allocatable on the node"
entity_associations:
- k8s.node
instrument: updowncounter
unit: "{cpu}"
- id: metric.k8s.node.allocatable.ephemeral_storage
type: metric
metric_name: k8s.node.allocatable.ephemeral_storage
annotations:
code_generation:
metric_value_type: int
stability: development
brief: "Amount of ephemeral-storage allocatable on the node"
entity_associations:
- k8s.node
instrument: updowncounter
unit: "By"
- id: metric.k8s.node.allocatable.memory
type: metric
metric_name: k8s.node.allocatable.memory
annotations:
code_generation:
metric_value_type: int
stability: development
brief: "Amount of memory allocatable on the node"
entity_associations:
- k8s.node
instrument: updowncounter
unit: "By"
- id: metric.k8s.node.allocatable.pods
type: metric
metric_name: k8s.node.allocatable.pods
annotations:
code_generation:
metric_value_type: int
stability: development
brief: "Amount of pods allocatable on the node"
entity_associations:
- k8s.node
instrument: updowncounter
unit: "{pod}"
# k8s.node.condition.* metrics
- id: metric.k8s.node.condition.status
type: metric
metric_name: k8s.node.condition.status
annotations:
code_generation:
metric_value_type: int
stability: development
brief: "Describes the condition of a particular Node."
note: >
All possible node condition pairs (type and status) will be reported at each time interval to avoid missing metrics.
Condition pairs corresponding to the current conditions' statuses will be non-zero.
instrument: updowncounter
unit: "{node}"
entity_associations:
- k8s.node
attributes:
- ref: k8s.node.condition.type
requirement_level: required
- ref: k8s.node.condition.status
requirement_level: required
# k8s.node.cpu.* metrics
- id: metric.k8s.node.cpu.time
type: metric
metric_name: k8s.node.cpu.time
annotations:
code_generation:
metric_value_type: double
stability: development
brief: "Total CPU time consumed"
note: >
Total CPU time consumed by the specific Node on all available CPU cores
instrument: counter
entity_associations:
- k8s.node
unit: "s"
- id: metric.k8s.node.cpu.usage
type: metric
metric_name: k8s.node.cpu.usage
annotations:
code_generation:
metric_value_type: double
stability: development
brief: "Node's CPU usage, measured in cpus. Range from 0 to the number of allocatable CPUs"
note: >
CPU usage of the specific Node on all available CPU cores, averaged over the sample window
instrument: gauge
entity_associations:
- k8s.node
unit: "{cpu}"
# k8s.node.filesystem.* metrics
- id: metric.k8s.node.filesystem.available
type: metric
metric_name: k8s.node.filesystem.available
stability: development
brief: "Node filesystem available bytes"
instrument: updowncounter
unit: "By"
annotations:
code_generation:
metric_value_type: int
entity_associations:
- k8s.node
note: |
This metric is derived from the
[FsStats.AvailableBytes](https://pkg.go.dev/k8s.io/kubelet@v0.33.0/pkg/apis/stats/v1alpha1#FsStats) field
of the [NodeStats.Fs](https://pkg.go.dev/k8s.io/kubelet@v0.33.0/pkg/apis/stats/v1alpha1#NodeStats)
of the Kubelet's stats API.
- id: metric.k8s.node.filesystem.capacity
type: metric
metric_name: k8s.node.filesystem.capacity
stability: development
brief: "Node filesystem capacity"
instrument: updowncounter
unit: "By"
annotations:
code_generation:
metric_value_type: int
entity_associations:
- k8s.node
note: |
This metric is derived from the
[FsStats.CapacityBytes](https://pkg.go.dev/k8s.io/kubelet@v0.33.0/pkg/apis/stats/v1alpha1#FsStats) field
of the [NodeStats.Fs](https://pkg.go.dev/k8s.io/kubelet@v0.33.0/pkg/apis/stats/v1alpha1#NodeStats)
of the Kubelet's stats API.
- id: metric.k8s.node.filesystem.usage
type: metric
metric_name: k8s.node.filesystem.usage
stability: development
brief: "Node filesystem usage"
instrument: updowncounter
unit: "By"
annotations:
code_generation:
metric_value_type: int
entity_associations:
- k8s.node
note: |
This may not equal capacity - available.
This metric is derived from the
[FsStats.UsedBytes](https://pkg.go.dev/k8s.io/kubelet@v0.33.0/pkg/apis/stats/v1alpha1#FsStats) field
of the [NodeStats.Fs](https://pkg.go.dev/k8s.io/kubelet@v0.33.0/pkg/apis/stats/v1alpha1#NodeStats)
of the Kubelet's stats API.
# k8s.node.memory.* metrics
- id: metric.k8s.node.memory.usage
type: metric
metric_name: k8s.node.memory.usage
annotations:
code_generation:
metric_value_type: int
stability: development
brief: "Memory usage of the Node"
note: >
Total memory usage of the Node
instrument: gauge
entity_associations:
- k8s.node
unit: "By"
# k8s.node.network.* metrics
- id: metric.k8s.node.network.io
type: metric
metric_name: k8s.node.network.io
annotations:
code_generation:
metric_value_type: int
stability: development
brief: "Network bytes for the Node"
instrument: counter
unit: "By"
entity_associations:
- k8s.node
attributes:
- ref: network.interface.name
- ref: network.io.direction
- id: metric.k8s.node.network.errors
type: metric
metric_name: k8s.node.network.errors
annotations:
code_generation:
metric_value_type: int
stability: development
brief: "Node network errors"
instrument: counter
unit: "{error}"
entity_associations:
- k8s.node
attributes:
- ref: network.interface.name
- ref: network.io.direction
# k8s.deployment.* metrics
- id: metric.k8s.deployment.desired_pods
type: metric
metric_name: k8s.deployment.desired_pods
annotations:
code_generation:
metric_value_type: int
stability: development
brief: "Number of desired replica pods in this deployment"
entity_associations:
- k8s.deployment
note: |
This metric aligns with the `replicas` field of the
[K8s DeploymentSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#deploymentspec-v1-apps).
instrument: updowncounter
unit: "{pod}"
- id: metric.k8s.deployment.available_pods
type: metric
metric_name: k8s.deployment.available_pods
annotations:
code_generation:
metric_value_type: int
stability: development
entity_associations:
- k8s.deployment
brief: "Total number of available replica pods (ready for at least minReadySeconds) targeted by this deployment"
note: |
This metric aligns with the `availableReplicas` field of the
[K8s DeploymentStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#deploymentstatus-v1-apps).
instrument: updowncounter
unit: "{pod}"
# k8s.replicaset.* metrics
- id: metric.k8s.replicaset.desired_pods
type: metric
metric_name: k8s.replicaset.desired_pods
annotations:
code_generation:
metric_value_type: int
stability: development
brief: "Number of desired replica pods in this replicaset"
entity_associations:
- k8s.replicaset
note: |
This metric aligns with the `replicas` field of the
[K8s ReplicaSetSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#replicasetspec-v1-apps).
instrument: updowncounter
unit: "{pod}"
- id: metric.k8s.replicaset.available_pods
type: metric
metric_name: k8s.replicaset.available_pods
annotations:
code_generation:
metric_value_type: int
stability: development
entity_associations:
- k8s.replicaset
brief: "Total number of available replica pods (ready for at least minReadySeconds) targeted by this replicaset"
note: |
This metric aligns with the `availableReplicas` field of the
[K8s ReplicaSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#replicasetstatus-v1-apps).
instrument: updowncounter
unit: "{pod}"
# k8s.replicationcontroller.* metrics
- id: metric.k8s.replicationcontroller.desired_pods
type: metric
metric_name: k8s.replicationcontroller.desired_pods
annotations:
code_generation:
metric_value_type: int
stability: development
brief: "Number of desired replica pods in this replication controller"
entity_associations:
- k8s.replicationcontroller
note: |
This metric aligns with the `replicas` field of the
[K8s ReplicationControllerSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#replicationcontrollerspec-v1-core)
instrument: updowncounter
unit: "{pod}"
- id: metric.k8s.replicationcontroller.available_pods
type: metric
metric_name: k8s.replicationcontroller.available_pods
annotations:
code_generation:
metric_value_type: int
stability: development
entity_associations:
- k8s.replicationcontroller
brief: "Total number of available replica pods (ready for at least minReadySeconds) targeted by this replication controller"
note: |
This metric aligns with the `availableReplicas` field of the
[K8s ReplicationControllerStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#replicationcontrollerstatus-v1-core)
instrument: updowncounter
unit: "{pod}"
# k8s.statefulset.* metrics
- id: metric.k8s.statefulset.desired_pods
type: metric
metric_name: k8s.statefulset.desired_pods
annotations:
code_generation:
metric_value_type: int
stability: development
brief: "Number of desired replica pods in this statefulset"
entity_associations:
- k8s.statefulset
note: |
This metric aligns with the `replicas` field of the
[K8s StatefulSetSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#statefulsetspec-v1-apps).
instrument: updowncounter
unit: "{pod}"
- id: metric.k8s.statefulset.ready_pods
type: metric
metric_name: k8s.statefulset.ready_pods
annotations:
code_generation:
metric_value_type: int
stability: development
entity_associations:
- k8s.statefulset
brief: "The number of replica pods created for this statefulset with a Ready Condition"
note: |
This metric aligns with the `readyReplicas` field of the
[K8s StatefulSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#statefulsetstatus-v1-apps).
instrument: updowncounter
unit: "{pod}"
- id: metric.k8s.statefulset.current_pods
type: metric
metric_name: k8s.statefulset.current_pods
annotations:
code_generation:
metric_value_type: int
stability: development
entity_associations:
- k8s.statefulset
brief: "The number of replica pods created by the statefulset controller from the statefulset version indicated by currentRevision"
note: |
This metric aligns with the `currentReplicas` field of the
[K8s StatefulSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#statefulsetstatus-v1-apps).
instrument: updowncounter
unit: "{pod}"
- id: metric.k8s.statefulset.updated_pods
type: metric
metric_name: k8s.statefulset.updated_pods
annotations:
code_generation:
metric_value_type: int
stability: development
entity_associations:
- k8s.statefulset
brief: "Number of replica pods created by the statefulset controller from the statefulset version indicated by updateRevision"
note: |
This metric aligns with the `updatedReplicas` field of the
[K8s StatefulSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#statefulsetstatus-v1-apps).
instrument: updowncounter
unit: "{pod}"
# k8s.hpa.* metrics
- id: metric.k8s.hpa.desired_pods
type: metric
metric_name: k8s.hpa.desired_pods
annotations:
code_generation:
metric_value_type: int
stability: development
brief: "Desired number of replica pods managed by this horizontal pod autoscaler, as last calculated by the autoscaler"
note: |
This metric aligns with the `desiredReplicas` field of the
[K8s HorizontalPodAutoscalerStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#horizontalpodautoscalerstatus-v2-autoscaling)
instrument: updowncounter
entity_associations:
- k8s.hpa
unit: "{pod}"
- id: metric.k8s.hpa.current_pods
type: metric
metric_name: k8s.hpa.current_pods
annotations:
code_generation:
metric_value_type: int
stability: development
brief: "Current number of replica pods managed by this horizontal pod autoscaler, as last seen by the autoscaler"
note: |
This metric aligns with the `currentReplicas` field of the
[K8s HorizontalPodAutoscalerStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#horizontalpodautoscalerstatus-v2-autoscaling)
instrument: updowncounter
entity_associations:
- k8s.hpa
unit: "{pod}"
- id: metric.k8s.hpa.max_pods
type: metric
metric_name: k8s.hpa.max_pods
annotations:
code_generation:
metric_value_type: int
stability: development
brief: "The upper limit for the number of replica pods to which the autoscaler can scale up"
note: |
This metric aligns with the `maxReplicas` field of the
[K8s HorizontalPodAutoscalerSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#horizontalpodautoscalerspec-v2-autoscaling)
instrument: updowncounter
entity_associations:
- k8s.hpa
unit: "{pod}"
- id: metric.k8s.hpa.min_pods
type: metric
metric_name: k8s.hpa.min_pods
annotations:
code_generation:
metric_value_type: int
stability: development
brief: "The lower limit for the number of replica pods to which the autoscaler can scale down"
note: |
This metric aligns with the `minReplicas` field of the
[K8s HorizontalPodAutoscalerSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#horizontalpodautoscalerspec-v2-autoscaling)
instrument: updowncounter
entity_associations:
- k8s.hpa
unit: "{pod}"
- id: metric.k8s.hpa.metric.target.cpu.value
type: metric
metric_name: k8s.hpa.metric.target.cpu.value
stability: development
brief: "Target value for CPU resource in HPA config."
note: |
This metric aligns with the `value` field of the
[K8s HPA MetricTarget](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#metrictarget-v2-autoscaling).
If the type of the metric is [`ContainerResource`](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/#support-for-metrics-apis),
the `k8s.container.name` attribute MUST be set to identify the specific container within the pod to which the metric applies.
instrument: gauge
unit: "{cpu}"
attributes:
- ref: k8s.hpa.metric.type
- ref: k8s.container.name
requirement_level:
conditionally_required: if and only if k8s.hpa.metric.type is ContainerResource
entity_associations:
- k8s.hpa
- k8s.namespace
- id: metric.k8s.hpa.metric.target.cpu.average_value
type: metric
metric_name: k8s.hpa.metric.target.cpu.average_value
stability: development
brief: "Target average value for CPU resource in HPA config."
note: |
This metric aligns with the `averageValue` field of the
[K8s HPA MetricTarget](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#metrictarget-v2-autoscaling).
If the type of the metric is [`ContainerResource`](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/#support-for-metrics-apis),
the `k8s.container.name` attribute MUST be set to identify the specific container within the pod to which the metric applies.
instrument: gauge
unit: "{cpu}"
attributes:
- ref: k8s.hpa.metric.type
- ref: k8s.container.name
requirement_level:
conditionally_required: if and only if k8s.hpa.metric.type is ContainerResource
entity_associations:
- k8s.hpa
- k8s.namespace
- id: metric.k8s.hpa.metric.target.cpu.average_utilization
type: metric
metric_name: k8s.hpa.metric.target.cpu.average_utilization
stability: development
brief: "Target average utilization, in percentage, for CPU resource in HPA config."
note: |
This metric aligns with the `averageUtilization` field of the
[K8s HPA MetricTarget](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#metrictarget-v2-autoscaling).
If the type of the metric is [`ContainerResource`](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/#support-for-metrics-apis),
the `k8s.container.name` attribute MUST be set to identify the specific container within the pod to which the metric applies.
instrument: gauge
unit: "1"
attributes:
- ref: k8s.hpa.metric.type
- ref: k8s.container.name
requirement_level:
conditionally_required: if and only if k8s.hpa.metric.type is ContainerResource.
entity_associations:
- k8s.hpa
- k8s.namespace
# k8s.daemonset.* metrics
- id: metric.k8s.daemonset.current_scheduled_nodes
type: metric
metric_name: k8s.daemonset.current_scheduled_nodes
annotations:
code_generation:
metric_value_type: int
stability: development
brief: "Number of nodes that are running at least 1 daemon pod and are supposed to run the daemon pod"
note: |
This metric aligns with the `currentNumberScheduled` field of the
[K8s DaemonSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#daemonsetstatus-v1-apps).
instrument: updowncounter
entity_associations:
- k8s.daemonset
unit: "{node}"
- id: metric.k8s.daemonset.desired_scheduled_nodes
type: metric
metric_name: k8s.daemonset.desired_scheduled_nodes
annotations:
code_generation:
metric_value_type: int
stability: development
brief: "Number of nodes that should be running the daemon pod (including nodes currently running the daemon pod)"
note: |
This metric aligns with the `desiredNumberScheduled` field of the
[K8s DaemonSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#daemonsetstatus-v1-apps).
instrument: updowncounter
entity_associations:
- k8s.daemonset
unit: "{node}"
- id: metric.k8s.daemonset.misscheduled_nodes
type: metric
metric_name: k8s.daemonset.misscheduled_nodes
annotations:
code_generation:
metric_value_type: int
stability: development
brief: "Number of nodes that are running the daemon pod, but are not supposed to run the daemon pod"
note: |
This metric aligns with the `numberMisscheduled` field of the
[K8s DaemonSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#daemonsetstatus-v1-apps).
instrument: updowncounter
entity_associations:
- k8s.daemonset
unit: "{node}"
- id: metric.k8s.daemonset.ready_nodes
type: metric
metric_name: k8s.daemonset.ready_nodes
annotations:
code_generation:
metric_value_type: int
stability: development
brief: "Number of nodes that should be running the daemon pod and have one or more of the daemon pod running and ready"
note: |
This metric aligns with the `numberReady` field of the
[K8s DaemonSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#daemonsetstatus-v1-apps).
instrument: updowncounter
entity_associations:
- k8s.daemonset
unit: "{node}"
# k8s.job.* metrics
- id: metric.k8s.job.active_pods
type: metric
metric_name: k8s.job.active_pods
annotations:
code_generation:
metric_value_type: int
stability: development
brief: "The number of pending and actively running pods for a job"
instrument: updowncounter
unit: "{pod}"
entity_associations:
- k8s.job
note: |
This metric aligns with the `active` field of the
[K8s JobStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#jobstatus-v1-batch).
- id: metric.k8s.job.failed_pods
type: metric
metric_name: k8s.job.failed_pods
annotations:
code_generation:
metric_value_type: int
stability: development
brief: "The number of pods which reached phase Failed for a job"
instrument: updowncounter
unit: "{pod}"
entity_associations:
- k8s.job
note: |
This metric aligns with the `failed` field of the
[K8s JobStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#jobstatus-v1-batch).
- id: metric.k8s.job.successful_pods
type: metric
metric_name: k8s.job.successful_pods
annotations:
code_generation:
metric_value_type: int
stability: development
brief: "The number of pods which reached phase Succeeded for a job"
instrument: updowncounter
unit: "{pod}"
entity_associations:
- k8s.job
note: |
This metric aligns with the `succeeded` field of the
[K8s JobStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#jobstatus-v1-batch).
- id: metric.k8s.job.desired_successful_pods
type: metric
metric_name: k8s.job.desired_successful_pods
annotations:
code_generation:
metric_value_type: int
stability: development
brief: "The desired number of successfully finished pods the job should be run with"
instrument: updowncounter
unit: "{pod}"
entity_associations:
- k8s.job
note: |
This metric aligns with the `completions` field of the
[K8s JobSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#jobspec-v1-batch)..
- id: metric.k8s.job.max_parallel_pods
type: metric
metric_name: k8s.job.max_parallel_pods
annotations:
code_generation:
metric_value_type: int
stability: development
brief: "The max desired number of pods the job should run at any given time"
instrument: updowncounter
unit: "{pod}"
entity_associations:
- k8s.job
note: |
This metric aligns with the `parallelism` field of the
[K8s JobSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#jobspec-v1-batch).
# k8s.cronjob.* metrics
- id: metric.k8s.cronjob.active_jobs
type: metric
metric_name: k8s.cronjob.active_jobs
annotations:
code_generation:
metric_value_type: int
stability: development
brief: "The number of actively running jobs for a cronjob"
instrument: updowncounter
unit: "{job}"
entity_associations:
- k8s.cronjob
note: |
This metric aligns with the `active` field of the
[K8s CronJobStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#cronjobstatus-v1-batch).
# k8s.namespace.* metrics
- id: metric.k8s.namespace.phase
type: metric
metric_name: k8s.namespace.phase
annotations:
code_generation:
metric_value_type: int
stability: development
brief: "Describes number of K8s namespaces that are currently in a given phase."
instrument: updowncounter
unit: "{namespace}"
entity_associations:
- k8s.namespace
attributes:
- ref: k8s.namespace.phase
requirement_level: required
# k8s.container.* metrics
- id: metric.k8s.container.cpu.limit
type: metric
metric_name: k8s.container.cpu.limit
annotations:
code_generation:
metric_value_type: double
stability: development
brief: "Maximum CPU resource limit set for the container"
entity_associations:
- k8s.container
note: |
See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details.
instrument: updowncounter
unit: "{cpu}"
- id: metric.k8s.container.cpu.request
type: metric
metric_name: k8s.container.cpu.request
annotations:
code_generation:
metric_value_type: double
stability: development
brief: "CPU resource requested for the container"
entity_associations:
- k8s.container
note: |
See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details.
instrument: updowncounter
unit: "{cpu}"
- id: metric.k8s.container.memory.limit
type: metric
metric_name: k8s.container.memory.limit
annotations:
code_generation:
metric_value_type: int
stability: development
brief: "Maximum memory resource limit set for the container"
entity_associations:
- k8s.container
note: |
See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details.
instrument: updowncounter
unit: "By"
- id: metric.k8s.container.memory.request
type: metric
metric_name: k8s.container.memory.request
annotations:
code_generation:
metric_value_type: int
stability: development
brief: "Memory resource requested for the container"
entity_associations:
- k8s.container
note: |
See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details.
instrument: updowncounter
unit: "By"
- id: metric.k8s.container.storage.limit
type: metric
metric_name: k8s.container.storage.limit
annotations:
code_generation:
metric_value_type: int
stability: development
brief: "Maximum storage resource limit set for the container"
entity_associations:
- k8s.container
note: |
See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details.
instrument: updowncounter
unit: "By"
- id: metric.k8s.container.storage.request
type: metric
metric_name: k8s.container.storage.request
annotations:
code_generation:
metric_value_type: int
stability: development
brief: "Storage resource requested for the container"
entity_associations:
- k8s.container
note: |
See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details.
instrument: updowncounter
unit: "By"
- id: metric.k8s.container.ephemeral_storage.limit
type: metric
metric_name: k8s.container.ephemeral_storage.limit
annotations:
code_generation:
metric_value_type: int
stability: development
brief: "Maximum ephemeral storage resource limit set for the container"
entity_associations:
- k8s.container
note: |
See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details.
instrument: updowncounter
unit: "By"
- id: metric.k8s.container.ephemeral_storage.request
type: metric
metric_name: k8s.container.ephemeral_storage.request
annotations:
code_generation:
metric_value_type: int
stability: development
brief: "Ephemeral storage resource requested for the container"
entity_associations:
- k8s.container
note: |
See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details.
instrument: updowncounter
unit: "By"
- id: metric.k8s.container.restart.count
type: metric
metric_name: k8s.container.restart.count
annotations:
code_generation:
metric_value_type: int
stability: development
brief: "Describes how many times the container has restarted (since the last counter reset)"
instrument: updowncounter
unit: "{restart}"
entity_associations:
- k8s.container
note: |
This value is pulled directly from the K8s API and the value can go indefinitely high and be reset to 0
at any time depending on how your kubelet is configured to prune dead containers.
It is best to not depend too much on the exact value but rather look at it as
either == 0, in which case you can conclude there were no restarts in the recent past, or > 0, in which case
you can conclude there were restarts in the recent past, and not try and analyze the value beyond that.
- id: metric.k8s.container.ready
type: metric
metric_name: k8s.container.ready
annotations:
code_generation:
metric_value_type: int
stability: development
brief: >
Indicates whether the container is currently marked as ready to accept traffic,
based on its readiness probe (1 = ready, 0 = not ready)
instrument: updowncounter
unit: "{container}"
entity_associations:
- k8s.container
note: |
This metric SHOULD reflect the value of the `ready` field in the
[K8s ContainerStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#containerstatus-v1-core).
# k8s.resourcequota.cpu.* metrics
- id: metric.k8s.resourcequota.cpu.limit.hard
type: metric
metric_name: k8s.resourcequota.cpu.limit.hard
annotations:
code_generation:
metric_value_type: double
stability: development
brief: |
The CPU limits in a specific namespace.
The value represents the configured quota limit of the resource in the namespace.
instrument: updowncounter
unit: "{cpu}"
entity_associations:
- k8s.resourcequota
note: |
This metric is retrieved from the `hard` field of the
[K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core).
- id: metric.k8s.resourcequota.cpu.limit.used
type: metric
metric_name: k8s.resourcequota.cpu.limit.used
annotations:
code_generation:
metric_value_type: double
stability: development
brief: |
The CPU limits in a specific namespace.
The value represents the current observed total usage of the resource in the namespace.
instrument: updowncounter
unit: "{cpu}"
entity_associations:
- k8s.resourcequota
note: |
This metric is retrieved from the `used` field of the
[K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core).
- id: metric.k8s.resourcequota.cpu.request.hard
type: metric
metric_name: k8s.resourcequota.cpu.request.hard
annotations:
code_generation:
metric_value_type: double
stability: development
brief: |
The CPU requests in a specific namespace.
The value represents the configured quota limit of the resource in the namespace.
instrument: updowncounter
unit: "{cpu}"
entity_associations:
- k8s.resourcequota
note: |
This metric is retrieved from the `hard` field of the
[K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core).
- id: metric.k8s.resourcequota.cpu.request.used
type: metric
metric_name: k8s.resourcequota.cpu.request.used
annotations:
code_generation:
metric_value_type: double
stability: development
brief: |
The CPU requests in a specific namespace.
The value represents the current observed total usage of the resource in the namespace.
instrument: updowncounter
unit: "{cpu}"
entity_associations:
- k8s.resourcequota
note: |
This metric is retrieved from the `used` field of the
[K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core).
# k8s.resourcequota.memory.* metrics
- id: metric.k8s.resourcequota.memory.limit.hard
type: metric
metric_name: k8s.resourcequota.memory.limit.hard
annotations:
code_generation:
metric_value_type: int
stability: development
brief: |
The memory limits in a specific namespace.
The value represents the configured quota limit of the resource in the namespace.
instrument: updowncounter
unit: "By"
entity_associations:
- k8s.resourcequota
note: |
This metric is retrieved from the `hard` field of the
[K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core).
- id: metric.k8s.resourcequota.memory.limit.used
type: metric
metric_name: k8s.resourcequota.memory.limit.used
annotations:
code_generation:
metric_value_type: int
stability: development
brief: |
The memory limits in a specific namespace.
The value represents the current observed total usage of the resource in the namespace.
instrument: updowncounter
unit: "By"
entity_associations:
- k8s.resourcequota
note: |
This metric is retrieved from the `used` field of the
[K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core).
- id: metric.k8s.resourcequota.memory.request.hard
type: metric
metric_name: k8s.resourcequota.memory.request.hard
annotations:
code_generation:
metric_value_type: int
stability: development
brief: |
The memory requests in a specific namespace.
The value represents the configured quota limit of the resource in the namespace.
instrument: updowncounter
unit: "By"
entity_associations:
- k8s.resourcequota
note: |
This metric is retrieved from the `hard` field of the
[K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core).
- id: metric.k8s.resourcequota.memory.request.used
type: metric
metric_name: k8s.resourcequota.memory.request.used
annotations:
code_generation:
metric_value_type: int
stability: development
brief: |
The memory requests in a specific namespace.
The value represents the current observed total usage of the resource in the namespace.
instrument: updowncounter
unit: "By"
entity_associations:
- k8s.resourcequota
note: |
This metric is retrieved from the `used` field of the
[K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core).
# k8s.resourcequota.hugepage_count.* metrics
- id: metric.k8s.resourcequota.hugepage_count.request.hard
type: metric
metric_name: k8s.resourcequota.hugepage_count.request.hard
annotations:
code_generation:
metric_value_type: int
stability: development
brief: |
The huge page requests in a specific namespace.
The value represents the configured quota limit of the resource in the namespace.
instrument: updowncounter
unit: "{hugepage}"
entity_associations:
- k8s.resourcequota
note: |
This metric is retrieved from the `hard` field of the
[K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core).
attributes:
- ref: k8s.hugepage.size
requirement_level: required
- id: metric.k8s.resourcequota.hugepage_count.request.used
type: metric
metric_name: k8s.resourcequota.hugepage_count.request.used
annotations:
code_generation:
metric_value_type: int
stability: development
brief: |
The huge page requests in a specific namespace.
The value represents the current observed total usage of the resource in the namespace.
instrument: updowncounter
unit: "{hugepage}"
entity_associations:
- k8s.resourcequota
note: |
This metric is retrieved from the `used` field of the
[K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core).
attributes:
- ref: k8s.hugepage.size
requirement_level: required
# k8s.resourcequota.storage.* metrics
- id: metric.k8s.resourcequota.storage.request.hard
type: metric
metric_name: k8s.resourcequota.storage.request.hard
annotations:
code_generation:
metric_value_type: int
stability: development
brief: |
The storage requests in a specific namespace.
The value represents the configured quota limit of the resource in the namespace.
instrument: updowncounter
unit: "By"
entity_associations:
- k8s.resourcequota
note: |
This metric is retrieved from the `hard` field of the
[K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core).
The `k8s.storageclass.name` should be required when a resource quota is defined for a specific
storage class.
attributes:
- ref: k8s.storageclass.name
requirement_level:
conditionally_required: |
The `k8s.storageclass.name` should be required when a resource quota is defined for a specific
storage class.
- id: metric.k8s.resourcequota.storage.request.used
type: metric
metric_name: k8s.resourcequota.storage.request.used
annotations:
code_generation:
metric_value_type: int
stability: development
brief: |
The storage requests in a specific namespace.
The value represents the current observed total usage of the resource in the namespace.
instrument: updowncounter
unit: "By"
entity_associations:
- k8s.resourcequota
note: |
This metric is retrieved from the `used` field of the
[K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core).
The `k8s.storageclass.name` should be required when a resource quota is defined for a specific
storage class.
attributes:
- ref: k8s.storageclass.name
requirement_level:
conditionally_required: |
The `k8s.storageclass.name` should be required when a resource quota is defined for a specific
storage class.
# k8s.resourcequota.persistentvolumeclaim_count.* metrics
- id: metric.k8s.resourcequota.persistentvolumeclaim_count.hard
type: metric
metric_name: k8s.resourcequota.persistentvolumeclaim_count.hard
annotations:
code_generation:
metric_value_type: int
stability: development
brief: |
The total number of PersistentVolumeClaims that can exist in the namespace.
The value represents the configured quota limit of the resource in the namespace.
instrument: updowncounter
unit: "{persistentvolumeclaim}"
note: |
This metric is retrieved from the `hard` field of the
[K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core).
The `k8s.storageclass.name` should be required when a resource quota is defined for a specific
storage class.
attributes:
- ref: k8s.storageclass.name
requirement_level:
conditionally_required: |
The `k8s.storageclass.name` should be required when a resource quota is defined for a specific
storage class.
- id: metric.k8s.resourcequota.persistentvolumeclaim_count.used
type: metric
metric_name: k8s.resourcequota.persistentvolumeclaim_count.used
annotations:
code_generation:
metric_value_type: int
stability: development
brief: |
The total number of PersistentVolumeClaims that can exist in the namespace.
The value represents the current observed total usage of the resource in the namespace.
instrument: updowncounter
unit: "{persistentvolumeclaim}"
note: |
This metric is retrieved from the `used` field of the
[K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core).
The `k8s.storageclass.name` should be required when a resource quota is defined for a specific
storage class.
attributes:
- ref: k8s.storageclass.name
requirement_level:
conditionally_required: |
The `k8s.storageclass.name` should be required when a resource quota is defined for a specific
storage class.
# k8s.resourcequota.ephemeral_storage.* metrics
- id: metric.k8s.resourcequota.ephemeral_storage.request.hard
type: metric
metric_name: k8s.resourcequota.ephemeral_storage.request.hard
annotations:
code_generation:
metric_value_type: int
stability: development
brief: |
The sum of local ephemeral storage requests in the namespace.
The value represents the configured quota limit of the resource in the namespace.
instrument: updowncounter
unit: "By"
entity_associations:
- k8s.resourcequota
note: |
This metric is retrieved from the `hard` field of the
[K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core).
- id: metric.k8s.resourcequota.ephemeral_storage.request.used
type: metric
metric_name: k8s.resourcequota.ephemeral_storage.request.used
annotations:
code_generation:
metric_value_type: int
stability: development
brief: |
The sum of local ephemeral storage requests in the namespace.
The value represents the current observed total usage of the resource in the namespace.
instrument: updowncounter
unit: "By"
entity_associations:
- k8s.resourcequota
note: |
This metric is retrieved from the `used` field of the
[K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core).
- id: metric.k8s.resourcequota.ephemeral_storage.limit.hard
type: metric
metric_name: k8s.resourcequota.ephemeral_storage.limit.hard
annotations:
code_generation:
metric_value_type: int
stability: development
brief: |
The sum of local ephemeral storage limits in the namespace.
The value represents the configured quota limit of the resource in the namespace.
instrument: updowncounter
unit: "By"
entity_associations:
- k8s.resourcequota
note: |
This metric is retrieved from the `hard` field of the
[K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core).
- id: metric.k8s.resourcequota.ephemeral_storage.limit.used
type: metric
metric_name: k8s.resourcequota.ephemeral_storage.limit.used
annotations:
code_generation:
metric_value_type: int
stability: development
brief: |
The sum of local ephemeral storage limits in the namespace.
The value represents the current observed total usage of the resource in the namespace.
instrument: updowncounter
unit: "By"
entity_associations:
- k8s.resourcequota
note: |
This metric is retrieved from the `used` field of the
[K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core).
# k8s.resourcequota.object_count metric
- id: metric.k8s.resourcequota.object_count.hard
type: metric
metric_name: k8s.resourcequota.object_count.hard
annotations:
code_generation:
metric_value_type: int
stability: development
brief: |
The object count limits in a specific namespace.
The value represents the configured quota limit of the resource in the namespace.
instrument: updowncounter
unit: "{object}"
entity_associations:
- k8s.resourcequota
note: |
This metric is retrieved from the `hard` field of the
[K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core).
attributes:
- ref: k8s.resourcequota.resource_name
requirement_level: required
- id: metric.k8s.resourcequota.object_count.used
type: metric
metric_name: k8s.resourcequota.object_count.used
annotations:
code_generation:
metric_value_type: int
stability: development
brief: |
The object count limits in a specific namespace.
The value represents the current observed total usage of the resource in the namespace.
instrument: updowncounter
unit: "{object}"
entity_associations:
- k8s.resourcequota
note: |
This metric is retrieved from the `used` field of the
[K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core).
attributes:
- ref: k8s.resourcequota.resource_name
requirement_level: required