50 lines
3.2 KiB
Markdown
50 lines
3.2 KiB
Markdown
Grafana
|
|
=======
|
|
|
|
[Grafana](https://grafana.com) ist eine Redering-Enging für Zeitreihen.
|
|
|
|
# Variablen
|
|
Die folgenden Variablen müssen vor der Ausführung der Rolle gesetzt werden:
|
|
|
|
| Variable | Wert | Bedeutung |
|
|
|----------|------|--------------|
|
|
| `grafana_domain` | string | Domainname der Grafana-Instanz |
|
|
| `grafana_db_password` | string | Passwort des Datenbanknutzers |
|
|
|
|
# Ausführen der Rolle
|
|
- Erstelle ein Playbook namen `grafana.yml` und führe die Rolle aus:
|
|
```Shell
|
|
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](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
|
|
- 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](https://github.com/Mikesch-mp/icingaweb2-module-grafana) aktivieren. Automatisiert über die [Ansible-Rolle](https://git.systemausfall.org/systemausfall.org/ansible/src/branch/main/roles/icinga2)
|
|
- 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](https://dokuwiki.tachtler.net/lib/exe/detail.php?id=tachtler%3Aicinga2_-_grafana&media=tachtler:grafana:grafana_dashboard_icinga-default_share_uid.png) |
|
|
| Grafana access | Indirect proxy |
|
|
| Authentication type | API Token |
|
|
- [Hostalive](https://dokuwiki.tachtler.net/doku.php?id=tachtler:icinga2_-_grafana#icingaweb2add_new_grafana_graphhostalive)-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
|