DevOps Fortgeschritten
Grafana — Effektive Dashboards¶
GrafanaDashboardsMonitoringObservability 5 min Lesezeit
Best Practices für Grafana-Dashboards. Dashboard as Code, Provisioning, Alerting und Design-Prinzipien.
Dashboard-Design-Prinzipien¶
- USE-Methode — Utilization, Saturation, Errors für jede Ressource
- RED-Methode — Rate, Errors, Duration für jeden Service
- Hierarchie — Übersicht → Service → Detail (Drill-down)
- Max 10-12 Panels pro Dashboard
- Konsistente Farben — Grün OK, Gelb Warning, Rot Critical
Dashboard as Code¶
# Provisioning
apiVersion: 1
providers:
- name: default
orgId: 1
folder: ''
type: file
options:
path: /var/lib/grafana/dashboards
# Grafonnet (Jsonnet)
local grafana = import 'grafonnet/grafana.libsonnet';
local dashboard = grafana.dashboard;
local prometheus = grafana.prometheus;
dashboard.new('API Overview', tags=['api'])
.addPanel(
grafana.graphPanel.new('Request Rate', datasource='Prometheus')
.addTarget(prometheus.target('sum(rate(http_requests_total[5m]))'))
, gridPos={x:0, y:0, w:12, h:8})
Alerting¶
apiVersion: 1
groups:
- orgId: 1
name: sre-alerts
folder: SRE
interval: 1m
rules:
- uid: high-error-rate
title: High Error Rate
condition: C
data:
- refId: A
datasourceUid: prometheus
model:
expr: sum(rate(http_requests_total{status=~"5.."}[5m])) / sum(rate(http_requests_total[5m])) * 100
for: 5m
labels:
severity: critical
Zusammenfassung¶
Effektive Grafana-Dashboards folgen USE/RED-Prinzipien, sind als Code versioniert und haben eine klare Hierarchie.
Brauchen Sie Hilfe bei der Implementierung?¶
Unser Team hat Erfahrung mit dem Entwurf und der Implementierung moderner Architekturen. Wir helfen Ihnen gerne.