DevOps Středně pokročilý
Grafana — Efektivní Dashboardy¶
GrafanaDashboardsMonitoringObservability 5 min čtení
Best practices pro Grafana dashboardy. Dashboard as Code, provisioning, alerting a design principy.
Dashboard Design Principy¶
- USE method — Utilization, Saturation, Errors pro každý resource
- RED method — Rate, Errors, Duration pro každý service
- Hierarchie — Overview → Service → Detail (drill-down)
- Max 10-12 panelů na dashboard
- Konzistentní barvy — zelená OK, žlutá warning, červená 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
Shrnutí¶
Efektivní Grafana dashboardy sledují USE/RED principy, jsou verzované jako kód a mají jasnou hierarchii.
Potřebujete pomoct s implementací?¶
Náš tým má zkušenosti s návrhem a implementací moderních architektur. Rádi vám pomůžeme.