Enable monitoring¶
This guide walks through enabling Grafana dashboards for your JAAS deployment.
The JIMM application ships three Grafana dashboards — JAAS Metrics, JAAS Logs, and JAAS Traces — which are provisioned automatically once JIMM is integrated with a Grafana instance. Metrics are collected by Prometheus, logs are collected by Loki, and traces are collected by Tempo. The monitoring dashboards are described below; for the tracing dashboard see Enable tracing.
Note
This guide covers monitoring for JIMM only. For monitoring the other components of your deployment — for example OpenFGA, PostgreSQL or Vault — see the documentation of the corresponding charms.
Prerequisites¶
A running JAAS deployment
A deployed COS stack
Integrate with Grafana, Prometheus and Loki¶
JIMM exposes three COS integration endpoints:
JIMM endpoint |
Interface |
Provides |
|---|---|---|
|
|
The JAAS dashboards |
|
|
Scraping of JIMM’s |
|
|
Forwarding of JIMM’s workload logs |
To integrate JAAS with the Grafana, Prometheus and Loki applications of your COS stack — directly or through an application offer — follow the integration instructions in Integrate JAAS with the Canonical Observability Stack.
Once the relations settle, Grafana automatically provisions the JAAS dashboards — no manual import is needed.
Verify¶
Open the Grafana UI of your COS deployment and log in. In the Grafana UI, open Dashboards. You should see the JAAS dashboards listed alongside the operator overview dashboards:
Dashboard |
Description |
|---|---|
JAAS Metrics |
Operational metrics collected via Prometheus |
JAAS Logs |
Workload logs collected via Loki |
What to expect in the JAAS Metrics dashboard¶
The dashboard is organised in rows, each covering an area of JIMM:
Row |
Panels |
Data source |
|---|---|---|
JIMM |
Active connections, managed controllers, managed models, Go runtime statistics (memory, goroutines, garbage collection) |
|
Juju Controllers |
Ping duration, call durations and rates, error rate per controller and method |
|
Auth |
Authentication failure rate per method |
|
Vault |
Vault call durations and rates |
|
OpenFGA |
OpenFGA call durations and rates |
|
Database |
Database query durations and rates |
|
For the up-to-date definition of the dashboards, see the Grafana dashboards in the JIMM charm source.
Note
Prometheus only creates a time series the first time a counter is incremented. On an idle deployment — no connected controllers, no user activity — most panels will show no data. This is expected: the panels populate as JIMM handles authentication attempts, Juju API calls, and so on. The Go runtime and database panels show data as soon as JIMM is running.
What to expect in the JAAS Logs dashboard¶
The dashboard shows JIMM’s workload logs with:
A log volume histogram broken down by severity level (
debug,info,warn,error)A log stream panel with the parsed log fields (level, caller, message)
Use the level dropdown to filter by severity and the search box for full-text, case-insensitive filtering.
Troubleshooting¶
All panels show no data and the variable dropdowns are empty: check that Grafana can reach the Prometheus and Loki datasources. Their URLs are derived from the ingress, so a broken or misconfigured ingress (for example, a TLS certificate that does not cover the datasource hostnames) makes the topology variables fail silently.
The JAAS Metrics dashboard shows data only in the database and Go runtime panels: this is expected on an idle deployment — see the note above.