Debian 9 : Installation - InfluxDB / Grafana und collectd
Eine kleiner Monitoring Umgebung mit InfluxDB / Grafana und collectd aufzubauen ist recht einfach. Man benötigt dazu eine Datenbank und ein Werkzeug das die Daten anzeigt, Grafana ist hier ganz schick.
Meiner Meinung nach ist Grafana nur dazu geeignet Metriken der laufenden Systeme anzuzeigen. Wer ein funktionales (notifications/business intelligence/usw...) Monitoring benötigt ist bei check_mk besser aufgehoben.
Ich möchte hier aber nur die Metriken anzeigen damit unsere Kunden einen Überblick über die Systeme haben.
Das Beispiel hier ist auf Debian 9 entstanden. Für mich haben sich folgende Pakete für das tägliche arbeiten bewährt.
Zu allererst werden wir root um die Packete zu installieren.
Jetzt muß man collectd natürlich konfigurieren.
Hier meine kleine Beispielkonfiguration :
Jetzt laden wir das Paket für die InfluxDB herunter und installieren es.
Jetzt kommt die Konfiguration
Wenn es so aussieht bei euch wie auf meinem Screenshot ist alles richtig.
Jetzt fehlt nur noch Grafana das installieren wir mir dem Befehl :
Jetzt können wir uns in Grafana anmelden (admin/admin) dazu öffnen wir die Adresse im webbrowser http://192.168.2.180:3000.
Direkt nach dem anmelden klicken wir auf und fügen unsere Datenquelle hinzu. Die Einstellungen entnehmt bitte dem Screenshot.
Jetzt könnt ihr loslegen und euer erstes Dashboard zusammen bauen. Das mach ich in einem anderen Artikel.
Meiner Meinung nach ist Grafana nur dazu geeignet Metriken der laufenden Systeme anzuzeigen. Wer ein funktionales (notifications/business intelligence/usw...) Monitoring benötigt ist bei check_mk besser aufgehoben.
Ich möchte hier aber nur die Metriken anzeigen damit unsere Kunden einen Überblick über die Systeme haben.
Das Beispiel hier ist auf Debian 9 entstanden. Für mich haben sich folgende Pakete für das tägliche arbeiten bewährt.
Zu allererst werden wir root um die Packete zu installieren.
su - root apt install ccze htop vim mc wget curl w3m screen net-tools -ydann installieren wir collectd, dieser sammelt die Informationen auf dem System ein und schreibt diese in die InfluxDB, das kann mit dem Befehl
apt install collectderledigt werden. Keinen Schreck bekommen das bringt einiges an Abhängigkeiten mit. Bei mir waren das ca. 280MB
Jetzt muß man collectd natürlich konfigurieren.
vi /etc/collectd/collectd.confHier ist jetzt natürlich nur eine kleine Grundkonfiguration es gibt einige collectd-plugins die man aktivieren kann.
Hier meine kleine Beispielkonfiguration :
FQDNLookup true BaseDir "/var/lib/collectd" PIDFile "/var/run/collectd.pid" PluginDir "/usr/lib/collectd" TypesDB "/usr/share/collectd/types.db" LoadPlugin syslog LoadPlugin cpu LoadPlugin df LoadPlugin interface LoadPlugin load LoadPlugin memory LoadPlugin network <Plugin cpu> ReportByCpu true ReportByState true ValuesPercentage false </Plugin> <Plugin df> # Device "/dev/sda1" # Device "192.168.0.2:/mnt/nfs" # MountPoint "/home" # FSType "ext3" # ignore rootfs; else, the root file-system would appear twice, causing # one of the updates to fail and spam the log FSType rootfs # ignore the usual virtual / temporary file-systems FSType sysfs FSType proc FSType devtmpfs FSType devpts FSType tmpfs FSType fusectl FSType cgroup IgnoreSelected true # ReportByDevice false # ReportInodes false # ValuesAbsolute true # ValuesPercentage false </Plugin> <Plugin interface> Interface "enp0s3" # hier muss natürlich der Interface Name # eurer Netzwerkkarte rein IgnoreSelected false ReportInactive true UniqueName false </Plugin> <Plugin load> ReportRelative true </Plugin> <Plugin memory> ValuesAbsolute true ValuesPercentage false </Plugin> <Plugin load> ReportRelative true </Plugin> <Plugin network> Server "192.168.2.180" "25251" # um die Konfiguration dann auf alle Server # im Netz kopieren zu können gebe ich # hier immer die wirklich IP an </Plugin>jetzt stellen wir sicher das collectd aktiviert ist und starten es neu
systemctl enable collectd.service systemctl restart collectd.service
Jetzt laden wir das Paket für die InfluxDB herunter und installieren es.
wget https://dl.influxdata.com/influxdb/releases/influxdb_1.4.3_amd64.deb && dpkg -i influxdb_1.4.3_amd64.deb
Install InfluxDB
Jetzt kommt die Konfiguration
vi /etc/influxdb/influxdb.confjetzt passen wir die Werte für den collectd deamon an. Hier wieder meine Beispiel Konfiguration , sucht den Bereich collectd und setzt diese Werte
[[collectd]] enabled = true bind-address = ":25251" database = "collectd" # retention-policy = "" # # The collectd service supports either scanning a directory for multiple types # db files, or specifying a single db file. typesdb = "/usr/share/collectd/types.db"dann stellen wir wieder sicher das influxdb automatisch startet und machen einen neustart
systemctl enable influxdb.service systemctl restart influxdbJetzt kann man schonmal testen ob Daten rein kommen.
Influx DB
Wenn es so aussieht bei euch wie auf meinem Screenshot ist alles richtig.
Jetzt fehlt nur noch Grafana das installieren wir mir dem Befehl :
wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana_4.6.3_amd64.deb && dpkg -i grafana_4.6.3_amd64.debdann stellen wir wieder sicher das grafana automatisch startet.
systemctl enable grafana-server.service systemctl start grafana-server.service
Jetzt können wir uns in Grafana anmelden (admin/admin) dazu öffnen wir die Adresse im webbrowser http://192.168.2.180:3000.
Direkt nach dem anmelden klicken wir auf und fügen unsere Datenquelle hinzu. Die Einstellungen entnehmt bitte dem Screenshot.
Hier mal zur Erinnerung diese Anleitung dient nur zum spielen in einer produktiven Umgebung muss natürlich mehr Wert auf Sicherheit genommen werden
Jetzt könnt ihr loslegen und euer erstes Dashboard zusammen bauen. Das mach ich in einem anderen Artikel.