Observability
NAuth exposes controller-runtime metrics on /metrics when chart monitoring is enabled. These are Prometheus metrics and can be scraped by Prometheus directly or by the OpenTelemetry Collector Prometheus receiver.
Enable the metrics endpoint:
helm upgrade --install nauth oci://ghcr.io/wirelesscar/nauth \ --namespace nauth \ --create-namespace \ --set monitoring.enabled=trueThe reconciliation count metric is:
controller_runtime_reconcile_total{controller="<controller>",result="<result>"}Current controller labels:
| Resource | Controller label | Availability |
|---|---|---|
Account | account | Since v0.1.0 |
AccountExport | accountexport | Unreleased |
AccountImport | accountimport | Unreleased |
User | user | Since v0.1.0 |
NatsCluster | natscluster | Since v0.6.1 |
Useful Grafana queries:
sum by (controller, result) (rate(controller_runtime_reconcile_total{service="nauth-metrics-service"}[5m]))increase(controller_runtime_reconcile_total{service="nauth-metrics-service"}[15m])rate(controller_runtime_reconcile_errors_total{service="nauth-metrics-service"}[5m])OpenTelemetry Collector scrape example:
receivers: prometheus: config: scrape_configs: - job_name: nauth metrics_path: /metrics static_configs: - targets: - nauth-metrics-service.nauth.svc:8080
exporters: otlp: endpoint: grafana-agent.grafana.svc:4317 tls: insecure: true
service: pipelines: metrics: receivers: [prometheus] exporters: [otlp]