Metrics
Three processes serve Prometheus metrics at /metrics, under liken’s shared
contract
.
The operator container serves plain HTTP on port 9200, one per
node. The capture container serves them on port 9201, the same TLS
port as the taps, and the route needs no token. The audio-api
Deployment serves plain HTTP on port 9200, once for the cluster.
The base applies with no Prometheus in the cluster. An owner who runs
the prometheus-operator adds the deploy/monitoring component beside
the base, which holds a PodMonitor for each port.
Each process also sets liken_build_info{component, version} to 1.
The component is audio-operator, audio-capture, or audio-api.
| Component | Metric | Type | Why |
|---|---|---|---|
| audio-operator | audio_endpoint_connected{endpoint} |
gauge | physical link |
| audio-operator | audio_endpoint_ready{endpoint} |
gauge | PipeWire node present |
| audio-operator | audio_endpoint_claimed{endpoint} |
gauge | claimed but unusable is the alert |
| audio-operator | audio_observation_valid{source}, audio_observation_last_success_timestamp_seconds{source} |
gauge | PipeWire or BlueZ stopped answering |
| audio-operator | audio_control_failures_total{operation} |
counter | volume writes that fail |
| audio-operator | audio_reconcile_duration_seconds{kind} |
histogram | how long one reconcile pass of one Sink or Source took |
| audio-operator | audio_reconcile_errors_total{kind} |
counter | reconcile passes that ended in an error |
| audio-operator | audio_watch_restarts_total{kind} |
counter | watches the API server closed that the operator opened again |
| audio-capture | audio_capture_ready |
gauge | the container holds a server certificate and can answer a tap |
| audio-capture | audio_captures_active{aspect} |
gauge | taps running on the node now |
| audio-capture | audio_capture_bytes_total{aspect,format}, audio_capture_seconds_total{aspect,format} |
counter | how much sound the taps sent, and how long they held streams open |
| audio-capture | audio_capture_failures_total{reason} |
counter | taps that failed |
| audio-api | audio_api_requests_total{route,method,status} |
counter | requests answered |
| audio-api | audio_api_request_seconds{route} |
histogram | time to the response headers |
| audio-api | audio_api_streams_active{aspect} |
gauge | capture streams the API relays now |
| audio-api | audio_api_certificate_expiry_seconds |
gauge | when the first certificate of the API runs out, in seconds since the epoch |
resources:
- https://github.com/liken-sh/liken//audio-operator/deploy?ref=<version>
components:
- https://github.com/liken-sh/liken//audio-operator/deploy/monitoring?ref=<version>