ansible-role-grafana/README.md

3.4 KiB

Grafana

Grafana ist eine Redering-Enging für Zeitreihen.

Variablen

Die folgenden Variablen müssen vor der Ausführung der Rolle gesetzt werden:

Variable Wert Default Bedeutung
grafana_domain string Domainname der Grafana-Instanz
grafana_db_password string Passwort des Datenbanknutzers
grafana_webserver apache oder nginx Optional: Einrichtung des entsprechendem Webservers
grafana_db_type mysql oder postgres sqlite3 optional: Datenbanktyp

Ausführen der Rolle

  • Erstelle ein Playbook namen grafana.yml und führe die Rolle aus:
    ansible-playbook playbooks/grafana.yml
    
  • Grafana aufrufen - der Erstlogin erfolgt mit admin:admin. Anschließend das Passwort ändern und in unsere Zugangsdatenbank eintragen.

Grafana mit Icinga verknüpfen

Mit Grafana lassen sich die Performance-Daten aus den Icinga-Checks grafisch in Icinga Web 2 darstellen:

  • Neue Data Source hinzufügen und InfluxDB als Datenquelle angeben
    Option Wert
    Server http://localhost:8086
    Datanbank icinga2
  • Unter /org/apikeys einen API-Schlüssel erzeugen und den Schlüssel kopieren.
  • Nun die Icinga-Dashboards unter /dashboard/import importieren. Dazu hier die Dateien base-metrics.json und icinga2-default.json herunter laden.
  • Beim Import von icinga2-default.json müssen die Queries (Hostname, Service, Command) angepasst werden
    • Dazu die Dashboard-Settings öffnen
    • links im Menü Variables auswählen
    • die entsprechende Variable anklicken
    • Im Feld Select variable type den Wert Query wählen und unter Query Options das Query von der o.g. Modul-Seite eintragen
  • Die Darstellung des Grafen für den http-Check anpassen, da es ansonsten keine Aussagekraft hat:
    • Dazu das Dashboard ''icinga2-default'' öffnen und einen beliebigen http-Check auswählen und mit Edit Panel bearbeiten:
    • Rechts in den Panel-Optionen: Axes --> Left Y: Unit auf Seconds und Scale --> log(base 2)
    • Unten bei der Query-Abfrage: Transform --> Filter by name --> size deaktivieren
  • Das Icinga-Web-2-Modul aktivieren. Automatisiert über die Ansible-Rolle
  • Modul in Icinga Web 2 /config/modules#!/grafana/config konfigurieren:
    Option Wert
    host Grafana-Domain
    Default Dashboard UID Dazu in Grafana eine Grafik öffnen und über die Share-Funktion die Panel-ID aus der URL kopieren, siehe
    Grafana access Indirect proxy
    Authentication type API Token
  • Hostalive-Graph in Icinga Web 2 hinzufügen:
    • Neuen Graphen unter grafana/graph anlegen
    • Dashboard name: base-metrics
    • Dashborad UID und Panel-ID erneut aus dem Share-Link einer base-metrics-Grafik kopieren