Observe Superset¶
This guide describes how to connect Superset to the Canonical Observability Stack (COS) to collect its metrics, logs, and a prebuilt dashboard.
Deploy COS¶
COS usually runs in its own model. Deploy the cos-lite bundle and expose the endpoints Superset consumes as offers:
juju add-model cos
juju deploy cos-lite --trust
juju offer prometheus:metrics-endpoint
juju offer loki:logging
juju offer grafana:grafana-dashboard
Integrate Superset with COS¶
Switch back to the Superset model and integrate each endpoint:
juju switch <SUPERSET_MODEL>
juju integrate superset-k8s admin/cos.prometheus
juju integrate superset-k8s admin/cos.loki
juju integrate superset-k8s admin/cos.grafana
Repeat for the worker application to collect its telemetry too. The worker exports the counters of the scheduled tasks it runs, such as report delivery and log pruning, alongside Celery worker and queue metrics, which the dashboard uses for its worker panels.
The beat scheduler exports no metrics, so relate it to Loki only:
juju integrate superset-k8s-beat admin/cos.loki
Relating its metrics-endpoint is harmless but publishes no scrape target.
Verify¶
Retrieve the Grafana admin password and the Grafana address:
juju run grafana/0 -m cos get-admin-password
juju status -m cos
Open Grafana on port 3000 of its unit address and log in as admin. The Superset Metrics dashboard is provisioned automatically and shows availability, dashboard and chart load times, SQL Lab query timings, worker status, and log panels for the UI, worker, and beat applications.
For what each metric and alert means, see Observability.