To enable the Prometheus metrics exporter for CRI-O, either start crio
with --metrics-enable
or add the corresponding option to a config overwrite,
for example /etc/crio/crio.conf.d/01-metrics.conf
:
[crio.metrics]
enable_metrics = true
The metrics endpoint serves per default on port 9090
. This can be changed via
the --metrics-port
command line argument or via the configuration file:
metrics_port = 9090
If CRI-O runs with enabled metrics, then this can be verified by querying the endpoint manually via curl.
> curl localhost:9090/metrics
…
Beside the default golang based metrics, CRI-O provides the following additional metrics:
Metric Key | Possible Labels | Type | Purpose |
---|---|---|---|
crio_operations |
every CRI-O RPC* | Counter | Cumulative number of CRI-O operations by operation type. |
crio_operations_latency_microseconds |
every CRI-O RPC*,network_setup_pod (CNI pod network setup time),network_setup_overall (Overall network setup time) |
Summary | Latency in microseconds of CRI-O operations. Split-up by operation type. |
crio_operations_errors |
every CRI-O RPC* | Counter | Cumulative number of CRI-O operation errors by operation type. |
crio_image_pulls_by_digest |
name , digest , mediatype , size |
Counter | Bytes transferred by CRI-O image pulls by digest. |
crio_image_pulls_by_name |
name , size |
Counter | Bytes transferred by CRI-O image pulls by name. |
crio_image_pulls_by_name_skipped |
name |
Counter | Bytes skipped by CRI-O image pulls by name. |
* Available CRI-O RPC's from the gRPC API: Attach
, ContainerStats
, ContainerStatus
,
CreateContainer
, Exec
, ExecSync
, ImageFsInfo
, ImageStatus
,
ListContainerStats
, ListContainers
, ListImages
, ListPodSandbox
,
PodSandboxStatus
, PortForward
, PullImage
, RemoveContainer
,
RemoveImage
, RemovePodSandbox
, ReopenContainerLog
, RunPodSandbox
,
StartContainer
, Status
, StopContainer
, StopPodSandbox
,
UpdateContainerResources
, UpdateRuntimeConfig
, Version