Observability
JaaS gives you four ways to see what it is doing in a cluster. Structured logs tell you what happened on a single request or reconcile; traces follow one operation across its spans; metrics aggregate behaviour into time series for dashboards and alerts; and alerts plus Kubernetes Events turn a sustained problem into a page or a notification.
Each pillar has its own page covering both the binary’s flags and the Helm chart keys that drive them:
- Logging
— the
log/sloglogger,--log-leveland--log-format, and reading JSON logs withkubectl logsandjq. - Tracing — OTLP gRPC export to an OpenTelemetry collector, sampling, and viewing spans.
- Metrics
— the Prometheus endpoint, the custom
jaas_*metric family, scraping with aServiceMonitor, and querying with PromQL. - Alerting
— the opt-in
PrometheusRulealert catalog with its runbook links, plus Kubernetes Events routed through Flux’s notification-controller.
Logging applies to every mode JaaS runs in. Tracing, metrics, and alerting are
operator-mode concerns and take effect once --enable-flux-integration is set
(operator.enabled in the chart).
- Alerting
The opt-in PrometheusRule alert catalog with tunable thresholds and runbook links, plus Kubernetes Events routed through Flux's notification-controller.
- Logging
JaaS logs through log/slog with configurable level and format; in operator mode controller-runtime's own logs share the same handler. Reading JSON logs with kubectl and jq, and the Helm chart keys that drive it.
- Metrics
The controller-runtime Prometheus endpoint, the custom jaas_ metric family, scraping with a ServiceMonitor or a plain scrape config, querying with PromQL, and the Helm chart keys that drive it.
- Tracing
The JaaS operator exports OpenTelemetry traces over OTLP gRPC. Pointing it at a collector, sampling, viewing spans, and the Helm chart keys that drive it.