[Grafana](https://grafana.com) ist eine Redering-Enging für Zeitreihen.
# Ausführen der Rolle
- In der jeweiligen `host_vars`-Datei die Variablen in einer `grafana`-Map setzen:
| Variable | Wert | Beschreibung |
|----------|------|--------------|
| `domain` | string | Domainname der Grafana-Instanz |
- Rolle ausführen:
```Shell
ansible-playbook playbooks/grafana.yml
```
- Grafana aufrufen - der Erstlogin erfolgt mit `admin:amdin`. 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-Web2 darstellen:
- Neue "Data Source" hinzufügen und InfluxDB als Datenquelle angeben
- Unte `/org/apikeys` einen API-Schlüssel erzeugen
- Nun die Icinga-Dashboards unter `/dashboard/import` importieren. Dazu [hier](https://github.com/Mikesch-mp/icingaweb2-module-grafana/tree/master/dashboards/influxdb) die Dateien `base-metrics.json` und `icinga2-default.json` herunter laden.
- Beim Import von `icinga2-default.json` müssen die [Queries](https://github.com/Mikesch-mp/icingaweb2-module-grafana/blob/master/doc/06-create-grafana-dashboards-influxdb.md#Templating) (Hostname, Service, Command) angepasst werden
- Die Darstellung des Grafen für den http-Check anpassen, da sie ansonsten keine Aussagekraft hat:
- Dazu das Dashboard ''icinga2-default'' öffnen und einen beliebigen http-Check auswählen
- ''Edit Panel'':
- 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 [Icingaweb2-Modul](https://github.com/Mikesch-mp/icingaweb2-module-grafana|Icingaweb2-Modul) aktivieren. Automatisiert über die [Ansible-Rolle](https://git.systemausfall.org/systemausfall.org/ansible/src/branch/main/roles/icinga2)