Go to file
2023-11-20 12:48:55 +01:00
defaults Use sqlite3 as default database 2023-11-20 12:23:12 +01:00
files/systemd Control restart via systemd 2023-11-20 11:55:43 +01:00
handlers Control restart via systemd 2023-11-20 11:55:43 +01:00
meta Updates 2023-11-20 11:47:05 +01:00
tasks Add missing conditional 2023-11-20 12:34:14 +01:00
templates Fix templates 2023-11-20 12:32:55 +01:00
.gitignore Add gitignore 2023-11-20 12:48:25 +01:00
README.md Use sqlite3 as default database 2023-11-20 12:23:12 +01:00

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