← Katalog
E I A C

Grafana

Observability-as-Code

Wizualizacja i dashboardy - dashboards-as-code (JSON/Jsonnet) i provisioning z plików. Jedna szyba na metryki, logi i tracing.

Grafana to warstwa wizualizacji i „jedna szyba” na dane z wielu źródeł - Prometheus, Loki, Tempo, bazy i dziesiątki innych. W duchu EIAC liczy się to, że dashboardy i źródła danych można trzymać jako kod: provisioning z plików YAML oraz definicje dashboardów w JSON/Jsonnet (np. przez Grafonnet/Grizzly), więc widoczność procesu jest wersjonowana i odtwarzalna, a nie klikana ręcznie w UI.

Kiedy używać

  • Potrzebujesz spójnych dashboardów dla metryk, logów i tracingu w jednym miejscu.
  • Chcesz dashboardy i konfigurację jako kod (GitOps), a nie klikane i gubione.
  • Zależy Ci na self-hostingu i szerokim wyborze źródeł danych.

Przykład użycia

# provisioning/datasources/prometheus.yml - źródło danych jako kod
apiVersion: 1
datasources:
  - name: Prometheus
    type: prometheus
    url: http://prometheus:9090
    isDefault: true

Warto wiedzieć

  • Dashboardy jako kod: Jsonnet (Grafonnet) lub deklaratywny Perses jako alternatywa „dashboards-as-code first”.
  • Licencja AGPL-3.0 (rdzeń OSS); pełny self-hosting bez zależności od chmury dostawcy.
  • Świetnie spina się z całym stosem Grafany: Loki (logi) i Tempo (tracing).