Icinga2

Monitoring einrichten auf neuem Host

Von eigenem Gerät aus: shellkrams/icinga/deploy #hostname#. FERTIG

Schwellwerte pro Host ändern: /home/monitor/wrapper auf Host anpassen für extra Optionen, conf für Schwellwerte

Nicht überwachbare Einträge als statische HTTPS-Zertifikate

in /opt/tls-checks/hosts einen "static"-Eintrag gemäß Readme eintragen, also z.b. mdm.example.com-hier-kann-sonst-noch-was-rein static 2018-06-06. Danach /etc/icinga2/conf.d/autogen-https-cert ausführen und Icinga reloaden. Danach sollte es "Dummy"-Cert auftauchen.

Check-Plugins direkt aufrufen

liegen in /usr/lib/nagios/plugins -> können von da einfach aufgerufen werden. zB:

root@monitor:/usr/lib/nagios/plugins# ./check_http -H example.com
HTTP OK: HTTP/1.1 200 OK - 155736 bytes in 0,673 second response time |time=0,672727s;;;0,000000;10,000000 size=155736B;;;0

Error: DISK CRITICAL - /sys/kernel/debug/tracing is not accessible: Permission denied

Zu ~monitor/wrapper hinzufügen bei check_disk: -x tracefs weil das macht das und aber keine Ahnung warum das plötzlich n Problem ist lol

Disable Docker stuff

Bei check_disk: -X nsfs -X overlay

Eintrag aus known_hosts entfernen (zB nach neuaufsetzen von Server)

runuser -u nagios -- ssh-keygen -f "/var/lib/nagios/.ssh/known_hosts" -R 10.10.10.10

Dann Monitoring-Befehl nochmal von Hand ausführen, um host keys zu akzeptieren: runuser -u nagios -- /usr/lib/nagios/plugins/check_by_ssh -i /var/lib/nagios/.ssh/id_rsa -u monitor -C check_disk -H 10.0.96.8

Plugins schreiben

Skript schreiben, das gewünschten Wert amuf stdout ausgibt; Status wird definiert durch Exitcodes:

0 = OK for services and UP for hosts
1 = WARNING for services and UP or DOWN/UNREACHABLE for hosts (the host is flapping or changes its states frequently)
2 = CRITICAL for services and DOWN/UNREACHABLE for hosts
3 = UNKNOWN DOWN/UNREACHABLE

MQTT Server ins Monitoring nehmen

Hostdefinition: vars.check_mqtt = true;

Wenn keine Auth: fertig. Wenn mit Auth, User monitor anlegen (mosquitto_passwd /etc/mosquitto/pwfile monitor), interaktiv Passwort mitgeben (keepass). Dann noch in /etc/mosquitto/aclfile:

# icinga2 / monitor.example.com
user monitor
topic         nagios/test

Monitoring API Endpoint

https://monitor.example.com:5665

Komplette Check-Befehle auslesen

Um zu sehen, welchen Befehl Icinga genau ausführt (mit expandeten Variablen etc.), Debug log aktivieren mit icinga2 feature enable debuglog. Danach Icinga neustarten, Log kommt dann nach /var/log/icinga2/debug.log. Vorsicht, große Datenmengen, daher möglichst kurz laufen lassen, danach wieder aus mit disable und Icinga wieder neustarten