Grafana
Health Check
Mission Control integrates with Grafana through its underlying data sources.
Health Check
Use cases:
- Monitor Prometheus metrics that power your Grafana dashboards
- Validate dashboard data sources are accessible and returning data
- Alert when metrics used in critical dashboards breach thresholds
- Check that Grafana's backend services (Prometheus, Elasticsearch, etc.) are healthy
Prometheus Data Source
While Mission Control doesn't have a direct Grafana health check, you can monitor the data sources that power your Grafana dashboards.
grafana-prometheus-check.yamlapiVersion: canaries.flanksource.com/v1
kind: Canary
metadata:
name: grafana-data-source
spec:
interval: 60
prometheus:
- name: grafana-prometheus
url: http://prometheus:9090 # Same Prometheus used by Grafana
query: up{job="grafana"}
test:
expr: results[0] == 1
Elasticsearch Data Source
grafana-elasticsearch-check.yamlapiVersion: canaries.flanksource.com/v1
kind: Canary
metadata:
name: grafana-logs
spec:
interval: 60
elasticsearch:
- name: grafana-elasticsearch
url: http://elasticsearch:9200
index: logs-*
query: |
{
"query": {
"range": {
"@timestamp": { "gte": "now-5m" }
}
}
}
results: 1
Grafana HTTP Endpoint
grafana-api-check.yamlapiVersion: canaries.flanksource.com/v1
kind: Canary
metadata:
name: grafana-health
spec:
interval: 30
http:
- name: grafana-api
url: http://grafana:3000/api/health
responseCodes:
- 200
responseContent:
jsonPath:
path: $.database
value: ok
Dashboards
Mission Control ships with pre-built Grafana dashboards for monitoring health checks and configuration scraping.
Available Dashboards
| Dashboard | Description |
|---|---|
| Canary Overview | High-level view of all health checks with pass/fail rates and trends |
| Canary Details | Detailed metrics for individual checks including latency histograms |
| Config-DB Scrape | Scraper performance metrics, cache efficiency, and change rates |
Installation
Enable dashboards during Helm installation:
helm install mission-control flanksource/mission-control \
--set grafanaDashboards=true \
--set serviceMonitor=true
This creates ConfigMaps that Grafana's sidecar can auto-discover. See Prometheus Integration for the metrics these dashboards visualize.