TroLUG 2020-02#

Thema: Linux Monitoring mit Munin
Referent: Jan Grosser

Ich komme zum TroLUG Treffen am 06.02.2020\

Anmeldungen#

  • Jan
  • Elli
  • Jonas (per ssh remote dabei)
  • Harald W.
  • Maic
  • Michael
  • Johannes (kann leider nicht)
  • Andy

ro-tfxXwJ9VSSyt75CgpbVjtKgP9@lon1.tmate.io

pi@pimuckl:~ $

Munin Master läuft unter Linux
Einen Munin Node gibt es auch für Windows.
Installation: apt install munin munin-node

Absicherung der Web-Oberfläche mit Login/Passwort über HTTP Basic Auth.
mkdir -p /var/www/passwd/
htpasswd -c /var/www/passwd/passwords munin
welche Rechte muss passwords haben? 0600?
-> Der Webserver muss es lesen können, ansonsten egal.

Es wird das Apache Modul cgid benötigt:
a2enmod cgid; systemctl restart apache2

vim /etc/munin/munin-node.conf
Konfiguration des Munin-Node:\

  • Hostnamen festlegen
  • ggf. IP-Adresse des Masters freischalten

cat /etc/hosts
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
127.0.1.1 pimuckl

cat /etc/hostname#

pimuckl

Konfiguration des Munin-Masters:\

  • eigene IP-Adresse angeben

Starten: systemctl restart munin
Beim Booten autom. starten:
systemctl enable munin

systemctl restart munin-node
systemctl enable munin-node

Aufrufen: http://pimuckl.local/munin/
(geht nur im Freifunk Troisdorf Netz…)\

  • Hat Jan eine Domain im Freifunk Troisdorf registriert? -> Nein, das ist eine automatische Konfiguration mit mdns (Avahi)

ufw status

Munin verwendet den TCP Port 4949.
Der Master baut die Verbindung zu allen Nodes auf und holt die Daten aktiv ab.

Munin Plugins sind Skripte in einer beliebigen Programmiersprache.
Z.B.: bash, Perl, python
Plugins haben zwei Modi:\

  • Normal: Skript gibt den Messwert aus
  • Config: Skript gibt Parameter für die Darstellung des Graphen aus

Plugins werden aktiviert, indem ein symbolischer Link von /etc/munin/plugins auf das Plugin Skript gesetzt wird.
Vorher Plugin testen: munin-run -d <plugin_name>
Im Config Mode testen: munin-run -d <plugin_name> config

root@pimuckl:/etc/munin/plugins# munin-run christmas config
graph_title Tage bis Weihnachten
graph_args –base 1000
graph_scale no
graph_vlabel Tage
graph_category deadlines
christmas.label christmas

Schreiben die nach stdout? JA:

munin-run chrismas
christmas.value 328

Woher weiß Munin, was für ein Datentyp christmas.value ist? String, Float, Integer?
Es gibt nur einen Datentyp: numerisch.

Welchen Http server nimmt man am besten, wenn nur Munin laufen soll und der möglichst sicher, schlank und Wartungsarm sein soll?
Der Vortrag benutzte Apache. Aber für mich sieht es so aus, als ob so ziemlich jeder geht.
Viele benutzen auf dem Raspberry Pi den Nginx