Monitoring mit Telegraf, InfluxDB und Grafana

Bin immer wieder von den Grafana Dashboards begeistert. Sehen toll aus und sind für eine Langzeitüberwachung und Monitoring extrem nützlich.
Muss ich in meinem Homelab jetzt auch mal installieren um damit etwas rumzuspielen und Erfahrung zu sammeln. (Server OS ist Debian 10.)

Der TIG-Stack besteht aus diesen drei Komponenten:

  • Telegraf – Agent für die Erfassung und Sammlung von Messdaten. (sammelt)
  • InfluxDB – Performante Zeitreihendatenbank. (speichert)
  • Grafana – Datenvisualisierung für Zeitreihenanalyse. (visualisiert)

InfluxDB installieren

Die aktuelle InfluxDB Version hier herunterladen und installieren.

wget https://dl.influxdata.com/influxdb/releases/influxdb_1.7.6_amd64.deb
dpkg -i influxdb_1.7.6_amd64.deb

Den Service automatisch starten lassen.

systemctl daemon-reload
systemctl enable influxdb
systemctl start influxdb

Konfigurationsdatei: /etc/influxdb/influxdb.conf (keine Änderungen, alles auf default)

Telegraf installieren

Die aktuelle Telegraf Version hier herunterladen und installieren.

wget https://dl.influxdata.com/telegraf/releases/telegraf_1.10.4-1_amd64.deb
dpkg -i telegraf_1.10.4-1_amd64.deb

Den Service automatisch starten lassen.

systemctl daemon-reload
systemctl enable telegraf
systemctl start telegraf

Konfigurationsdatei: /etc/telegraf/telegraf.conf (keine Änderungen, alles auf default)

Telegraf erstellt nach dem starten automatisch seine InfluxDB Datenbank und befüllt diese auch schon mit gesammelten Daten des eigenen Servers.

root@tig:~# influx
Connected to http://localhost:8086 version 1.7.6
InfluxDB shell version: 1.7.6
Enter an InfluxQL query

# Datenbanken anzeigen
> show databases
name: databases
name
----
_internal
telegraf

# Datenbank wechseln
> use telegraf
Using database telegraf

# Messungen anzeigen
> show measurements
name: measurements
name
----
cpu
disk
kernel
mem
processes
swap
system

# einfache query
> select * from system limit 5
name: system
time                host load1 load15 load5 n_cpus n_users uptime uptime_format
----                ---- ----- ------ ----- ------ ------- ------ -------------
1559053420000000000 tig  0.52  0.63   0.68  1      1       929193 10 days, 18:06
1559053430000000000 tig  0.74  0.65   0.72  1      1       929203 10 days, 18:06
1559053440000000000 tig  0.62  0.64   0.7   1      1       929213 10 days, 18:06
1559053450000000000 tig  0.57  0.63   0.69  1      1       929223 10 days, 18:07
1559053460000000000 tig  0.48  0.63   0.66  1      1       929233 10 days, 18:07

Passt, Daten landen in InfluxDB.

Grafana installieren

Die aktuelle Grafana Version hier herunterladen und installieren.

wget https://dl.grafana.com/oss/release/grafana_6.2.1_amd64.deb 
dpkg -i grafana_6.2.1_amd64.deb

Den Service automatisch starten lassen.

systemctl daemon-reload
systemctl enable grafana-server
systemctl start grafana-server

Konfigurationsdatei: /etc/grafana/grafana.ini (keine Änderungen, alles auf default)

Der Grafana Webserver ist er über Port 3000 erreichbar. http://<IP>:3000 (default user und password: admin)

Grafana Data Source erstellen

Data Sources → Add data source → Type: InfluxDB → Database: telegraf

Grafana Dashboard erstellen

Dashboards → new Dashboard → Add Query → Query: Telegraf

Die Basis des TIG Stacks ist fertig. Jetzt kann ausprobiert und rumgespielt werden! ;)

Sonstiges

Grafana Play – Demoserver um mal zu sehen was alles mit Grafana möglich ist.
Grafana Dashboards – Fertige Dashboards für die verschiedensten Einsatzzwecke und Anwendungen.
Telegraf Input Plugins – Was von Telegraf alles über die inputs gesammelt werden kann.

Schreibe einen Kommentar