Advanced Monitoring
Beyond the dashboards, KubeOpera exposes its observability data through four services you can query directly — from scripts and CI jobs.
| Service | Gives you | Backed by |
|---|---|---|
| log-gateway | Logs for a service or namespace, plus extracted patterns. | Loki |
| tracing-gateway | Trace detail, slow and failing traces, and the service map. | Jaeger |
| apm-gateway | Request rate, p99 latency and error rate per service. | Prometheus |
| slo-manager | SLO compliance, error budget and burn rate. | Prometheus |
Each takes simple parameters — a service, a namespace, a time range — and translates them into the right LogQL, PromQL or Jaeger query, so you don't need to know those languages.
Example: a deploy gate in CI
Block a production deploy if the service's error budget is nearly spent:
BUDGET=$(curl -s -H "Authorization: Bearer $KUBEOPERA_TOKEN" \
"https://kubeopera.example.com/api/slo/api/v1/slos/checkout-availability/status" \
| jq -r .error_budget_remaining)
if (( $(echo "$BUDGET < 0.1" | bc -l) )); then
echo "Error budget below 10% — holding the deploy."
exit 1
fi
Sending your own traces
KubeOpera runs an OpenTelemetry collector that forwards to Jaeger. Point your apps' OTLP exporter at it (see Monitoring your applications) and their traces appear in tracing-gateway, the Traces page and AI investigations automatically.
Next steps
- Dashboards reference — the same data in the UI.