Metrics
Zincati tracks and exposes some of its internal metrics, in order to ease monitoring tasks across a large fleet of nodes.
Metrics are collected and exported according to Prometheus textual format, over a local endpoint.
Gathering metrics
To gather metrics from a locally running Zincati instance, it is sufficient to connect and read from the Unix-domain socket located at /run/zincati/public/metrics.promsock
.
For example, manual inspection can be performed via socat
:
$ sudo socat - UNIX-CONNECT:/run/zincati/public/metrics.promsock
# HELP zincati_update_agent_last_refresh_timestamp UTC timestamp of update-agent last refresh tick.
# TYPE zincati_update_agent_last_refresh_timestamp gauge
zincati_update_agent_last_refresh_timestamp 1563360122
# HELP zincati_update_agent_latest_state_change_timestamp UTC timestamp of update-agent last state change.
# TYPE zincati_update_agent_latest_state_change_timestamp gauge
zincati_update_agent_latest_state_change_timestamp 1563360122
# HELP zincati_update_agent_updates_enabled Whether auto-updates logic is enabled.
# TYPE zincati_update_agent_updates_enabled gauge
zincati_update_agent_updates_enabled 1
[...]
Additionally, the local Unix-domain socket can be proxied to HTTP and exposed to Prometheus. For an example of such setup, check the local_exporter repository.