49 lines
2.9 KiB
Markdown
49 lines
2.9 KiB
Markdown
|
Grafana
|
||
|
=======
|
||
|
|
||
|
[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) herunter laden und entpacken. Als Pfad kann `/data/icingaweb2-modules` gewählt werden
|
||
|
- Modulepfad in `/etc/icingaweb2/global.ini` anpassen:
|
||
|
```Ini
|
||
|
[global]
|
||
|
...
|
||
|
module_path = "/usr/share/icingaweb2/modules:/data/icingaweb2-modules"
|
||
|
```
|
||
|
- Verzeichnis `/etc/icingaweb2/modules/grafana` anlegen und Besitzrechte analog zu den anderen Verzeichnissen vergeben
|
||
|
- Modul in Icingaweb2 `/config/modules#!/grafana/config` konfigurieren:
|
||
|
- host: Grafana-Domain
|
||
|
- Default Dashboard UID: Dazu in Grafana eine Grafik öffnen und über die *Share*-Funktion die Panel-ID aus der URL kopieren
|
||
|
- Grafana access: Indirect proxy
|
||
|
- Authentication type: API Token
|
||
|
- Das Redering der Graphen erfolgt mit dem [Grafana Image Renderer](https://grafana.com/grafana/plugins/grafana-image-renderer) - Installation mit:
|
||
|
```Shell
|
||
|
grafana-cli plugins install grafana-image-renderer
|
||
|
```
|
||
|
- Zusätzlich muss Chromium installiert werden (automatisch durch die Rolle)
|
||
|
- [Hostalive](https://dokuwiki.tachtler.net/doku.php?id=tachtler:icinga2_-_grafana#icingaweb2add_new_grafana_graphhostalive)-Graph hinzufügen:
|
||
|
- Dashboard name: base-metrics
|
||
|
- Dashborad UID und Panel-ID erneut aus dem Share-Link kopieren
|