Skip to main content

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.yaml
apiVersion: 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.yaml
apiVersion: 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.yaml
apiVersion: 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

DashboardDescription
Canary OverviewHigh-level view of all health checks with pass/fail rates and trends
Canary DetailsDetailed metrics for individual checks including latency histograms
Config-DB ScrapeScraper 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.

Next Steps