Icinga2 mit Grafana und Influxdb: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Thomas (Diskussion | Beiträge) |
|||
| (4 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
| Zeile 3: | Zeile 3: | ||
=InfluxDB= | =InfluxDB= | ||
| − | *apt-get install | + | *wget https://dl.influxdata.com/influxdb/releases/influxdb_1.2.2_amd64.deb |
| + | *sudo dpkg -i influxdb_1.2.2_amd64.deb | ||
| + | *apt-get install influxdb-client | ||
| + | |||
<pre> | <pre> | ||
root@localhost:~# influx | root@localhost:~# influx | ||
| Zeile 9: | Zeile 12: | ||
InfluxDB shell version: 0.13.0 | InfluxDB shell version: 0.13.0 | ||
> create database icinga2; | > create database icinga2; | ||
| − | > create user icinga2 with password | + | > create user icinga2 with password 'geheim'; |
> grant all on icinga2 to icinga2; | > grant all on icinga2 to icinga2; | ||
</pre> | </pre> | ||
| − | *vi /etc/icinga2/features- | + | *vi /etc/icinga2/features-available/influxdb.conf |
<pre> | <pre> | ||
library "perfdata" | library "perfdata" | ||
| Zeile 23: | Zeile 26: | ||
username = "icinga2" | username = "icinga2" | ||
password = "sysadm" | password = "sysadm" | ||
| − | + | enable_send_thresholds = true | |
| − | + | enable_send_metadata = true | |
host_template = { | host_template = { | ||
measurement = "$host.check_command$" | measurement = "$host.check_command$" | ||
| Zeile 39: | Zeile 42: | ||
} | } | ||
} | } | ||
| + | </pre> | ||
| + | ===Connect Icinga2 to HTTPS-Influxdb=== | ||
| + | *In diesem Fall muss noch der Eintrag "ssl_enable = true" hinzugefügt werden | ||
| + | *vi /etc/icinga2/features-available/influxdb.conf | ||
| + | <pre> | ||
| + | library "perfdata" | ||
| + | object InfluxdbWriter "influxdb" { | ||
| + | host = "127.0.0.1" | ||
| + | port = 8086 | ||
| + | ssl_enable = true | ||
| + | database = "icinga2" | ||
| + | username = "icinga2" | ||
| + | password = "sysadm" | ||
| + | enable_send_thresholds = true | ||
| + | enable_send_metadata = true | ||
| + | host_template = { | ||
| + | measurement = "$host.check_command$" | ||
| + | tags = { | ||
| + | hostname = "$host.name$" | ||
| + | } | ||
| + | } | ||
| + | service_template = { | ||
| + | measurement = "$service.check_command$" | ||
| + | tags = { | ||
| + | hostname = "$host.name$" | ||
| + | service = "$service.name$" | ||
| + | } | ||
| + | } | ||
| + | } | ||
</pre> | </pre> | ||
Aktuelle Version vom 19. Mai 2017, 08:21 Uhr
Vorraussetzungen
InfluxDB
- wget https://dl.influxdata.com/influxdb/releases/influxdb_1.2.2_amd64.deb
- sudo dpkg -i influxdb_1.2.2_amd64.deb
- apt-get install influxdb-client
root@localhost:~# influx Connected to http://localhost:8086 version 0.13.0 InfluxDB shell version: 0.13.0 > create database icinga2; > create user icinga2 with password 'geheim'; > grant all on icinga2 to icinga2;
- vi /etc/icinga2/features-available/influxdb.conf
library "perfdata"
object InfluxdbWriter "influxdb" {
host = "127.0.0.1"
port = 8086
database = "icinga2"
username = "icinga2"
password = "sysadm"
enable_send_thresholds = true
enable_send_metadata = true
host_template = {
measurement = "$host.check_command$"
tags = {
hostname = "$host.name$"
}
}
service_template = {
measurement = "$service.check_command$"
tags = {
hostname = "$host.name$"
service = "$service.name$"
}
}
}
Connect Icinga2 to HTTPS-Influxdb
- In diesem Fall muss noch der Eintrag "ssl_enable = true" hinzugefügt werden
- vi /etc/icinga2/features-available/influxdb.conf
library "perfdata"
object InfluxdbWriter "influxdb" {
host = "127.0.0.1"
port = 8086
ssl_enable = true
database = "icinga2"
username = "icinga2"
password = "sysadm"
enable_send_thresholds = true
enable_send_metadata = true
host_template = {
measurement = "$host.check_command$"
tags = {
hostname = "$host.name$"
}
}
service_template = {
measurement = "$service.check_command$"
tags = {
hostname = "$host.name$"
service = "$service.name$"
}
}
}
Feature enabled
- icinga2 feature enable influxdb
- systemctl restart icinga2.service
Grafana
Installation
- cat <<EOF >/etc/apt/sources.list.d/grafana.list
- > deb https://packagecloud.io/grafana/stable/debian/ wheezy main
- > EOF
- curl -s https://packagecloud.io/gpg.key | sudo apt-key add -
- apt-get update
- apt-get install grafana
- systemctl start grafana-server
Module hinzufügen
- cd /usr/share/icingaweb2/modules
- git clone https://github.com/Mikesch-mp/icingaweb2-module-grafana.git grafana
Module enabled
- icingacli module enable grafana
- systemctl restart icinga2.service
Configuration
- vi /etc/icingaweb2/modules/grafana/config.ini
[grafana] username = "icinga2" host = "hostname:3000" protocol = "http" password = "geheim" height = "280" width = "640" timerange = "3h" enableLink = "yes" defaultdashboard = "icinga2-default" datasource = "influxdb" defaultdashboardstore = "db" accessmode = "direct" directrefresh = "yes"
- vi /etc/icingaweb2/modules/grafana/graphs.ini
[icinga2 default] dashboard = "icinga2-default.json" panelId = "1" height = "280" width = "460"
Im Grafana-Webinterface
Influxdb hinzufügen
- Klick auf das Grafana-Symbol und im sich öffnenden Menü auf "Data Source"
- In dem sich öffnenden Bildschirm auf "Add Data Source" klicken
- Wie im unteren Screenshot die Daten ausfüllen und auf "Save & Test" klicken
Dashboard downloaden
Dashboard hinzufügen
- Klick auf das Grafana-Symbol und im sich öffnenden Menü auf "Dashboards"
- Im sich öffnenden Bildschirm auf "Home" und im sich öffnenden Menü unten auf "Import"
- Nun auf "Upload .json File" und die weiter oben herunter geladene Datei auswählen und auf "load" klicken
- Unbedingt im Feld "Name" "icinga2-default" eintragen und bei InfluxDB "icinga2" auswählen und auf "Import" klicken
Im Icinga2-Webinterface
Der folgende Vorgang muss für jeden einzellnen Graphen im Dashboard wiederholt werden!
- Links auf "Configuration" und dort auf "Grafana Graphs"
- Es müsste eine Liste der bereits vorhandenen Grafana Graphen erscheinen über der sich wie im unteren Screenshot der Button "Add Grafana Graph" befinden müsste
- Das sich öffnende Formular wie unten ausfüllen und auf "Add Graph" klicken








