CentOS 7 mit Hilfe von NRPE überwachen

30 Mär 2018 Lesezeit: 5 Minuten

In meinem aktuellen Monitoringsetup habe ich festgestellt, dass die ausgiebige Verwendung von SNMP zu einigen False/Positives führte. Das nervt gewaltig und ist zudem auch noch ziemlich unbequem.

Daher habe ich mich an eine Ansible-Rolle gemacht, welche meine Hosts vorbereitet zukünftig NRPE zu nutzen. Um es besser nachvollziehen zu können, welche Schritte gegangen werden müssen habe ich das ganze hier einmal niedergeschrieben.

Auf dem zu Monitorenden Hosts:

yum Install nrpe.x86_64 nrpe-selinux.x86_64 nagios-plugins-*

 

Anschließend muss die Datei /etc/nagios/nrpe.conf angepasst werden. Standardmässig ist nur das ausführen von Commands ohne Parameter erlaubt. Daher will ich das ändern um mehr Flexibilität bei der Anpassung der Rahmenparameter zu haben. Damit mir das nicht auf die Füße fällt muss der Wert von dont_blame geändert werden. Damit mir aber niemand dazwischen funkt, schränke ich die Hosts ein, die Checkscommands aufrufen dürfen - dazu dient allowed_hosts. Zum Schluss werden noch lokale Commands definiert. Diese sind notwendig und müssen für alle gewünschten Checks eingerichtet werden. Andernfalls kann NRPE nicht tun wofür es da ist (Nagios Remote Plugin Execution). Die Betonung liegt hier ganz klar auf Remote und Execution.

dont_blame_nrpe=1

allowed_hosts=127.0.0.1,192.168.X.X

command[check_users]=/usr/lib64/nagios/plugins/check_users -w $ARG1$ -c $ARG2$
command[check_load]=/usr/lib64/nagios/plugins/check_load -w $ARG1$ -c $ARG2$
command[check_disk]=/usr/lib64/nagios/plugins/check_disk -w $ARG1$ -c $ARG2$ -u GB -E -p $ARG3$
command[check_mailq]=/usr/lib64/nagios/plugins/check_mailq -w $ARG1$ -c $ARG2$
command[check_ntp_peer]=/usr/lib64/nagios/plugins/check_ntp_time -w $ARG1$ -c $ARG2$ -H $ARG3$
command[check_procs]=/usr/lib64/nagios/plugins/check_procs -w $ARG1$ -c $ARG2$
command[check_procs_zombie]=/usr/lib64/nagios/plugins/check_procs -w $ARG1$ -c $ARG2$ -s Z
command[check_procs_named]=/usr/lib64/nagios/plugins/check_procs -w $ARG1$ -c $ARG2$ -C named
command[check_procs_java]=/usr/lib64/nagios/plugins/check_procs -w $ARG1$ -c $ARG2$ -C java
command[check_procs_apache]=/usr/lib64/nagios/plugins/check_procs -w $ARG1$ -c $ARG2$ -C apache
command[check_procs_httpd]=/usr/lib64/nagios/plugins/check_procs -w $ARG1$ -c $ARG2$ -C httpd
command[check_procs_platform]=/usr/lib64/nagios/plugins/check_procs -w $ARG1$ -c $ARG2$ -C platform
command[check_procs_dhcpd]=/usr/lib64/nagios/plugins/check_procs -w $ARG1$ -c $ARG2$ -C dhcpd
command[check_procs_qemu]=/usr/lib64/nagios/plugins/check_procs -w $ARG1$ -c $ARG2$ -C qemu
command[check_procs_mysqld]=/usr/lib64/nagios/plugins/check_procs -w $ARG1$ -c $ARG2$ -C mysqld
command[check_sensors]=/usr/lib64/nagios/plugins/check_sensors
command[check_smtp]=/usr/lib64/nagios/plugins/check_smtp -H $ARG1$
command[check_swap]=/usr/lib64/nagios/plugins/check_swap -w $ARG1$ -c $ARG2$
command[check_security_updates]=/usr/lib64/nagios/plugins/check_updates --security-only -t 30
 

Auf dem Monitoring-Server:

Nun sind wir fast fertig. Für müssen nun nur noch unserem icinga Monitoring-Server mitteilen, dass es doch bitte ein neues Checkcommand kennt und zum anderen natürlich noch einen zu monitorenden Service daraus machen. Anschließend wird der angegebene Dienst per NRPE auf dem neu installierten Host überwacht.

define command {
                command_name    check_nrpe
                command_line    /usr/lib/nagios/plugins/check_nrpe -H $ARG1$ -c $ARG2$ -a $ARG3$
        }

$ARG1$ wird zum Hostnamen

$ARG2$ wird zum Command das auf dem Server definiert wurde (sehe oben)

$ARG3$ wird zu den Schwellwerten für Warning und Critical

define service {
                hostgroup_name                nrpe
                service_description             Check users on system
                check_command                check_nrpe!$HOSTNAME!check_users!2 5!
                use                             generic-service
        }
 


Windows 10 USB Stick unter Linux erstellen

17 Mai 2017 Lesezeit: 2 Minuten

Es ist einfach nicht weg zu bekommen. Dieses olle Windows mit all seinen Unannehmlichkeiten. Eine davon ist, dass es immer wieder etwas zu tun gibt, wenn man von einem USB-Stick installieren möchte oder muss. Natürlich gibt es diverse Tools die einem das abnehmen - aber cool ist was anderes.

Heute stand ich vor der Aufgabe unter Fedora einen solchen USB-Stick zu erstlelen um damit dann einen halbwegs defekten Windows Laptop wieder fertig zu bekommen. Weder einen Windows Rechner oder CD/DVD Laufwerk hatte ich zur hand, also hab ich nach Möglichkeiten gesucht diese Aufgabe zu bewäligen. Bisher hatte ich gute Erfahrungen mit WinUSB gemacht - was nur lange nicht mehr aktualisiert wurde.

Jetzt gibt es da aber einen netten Fork, der das alles wohl wieder richten soll und ich habe mir die Freiheit genommen diesen mail unter meinem Fedora zu installieren. Wie das geht sieht man hier:

  • dnf groupinstall "C-Entwicklungswerkzeuge und -Bibliotheken"
  • mkdir windusb
  • cd windusb/
  • git clone https://github.com/slacka/WinUSB.git
  • cd WinUSB/
  • ./configure
  • make
  • make install

Anschließend ist es mit folgendem Aufruf recht einfach möglich einen dusseligen Windows 10 USB Stick herzustellen. 

  • /usr/local/bin/winusb --format /home/USER/Downloads/ISOs/Win10_1511_1_German_x64.iso /dev/sdc

KVM Zusammenfassung - für Einsteiger

24 Apr 2017 Lesezeit: ~1 Minute

Wer Lust hat sich mal mit KVM zu befassen, der solllte sich auch gleich mal diese kleine Präsentation anschauen. Meiner Ansicht nach auch heute noch aktuell und vor allem ermöglicht sie sich selbst einen umfassenden Einblick zu verschaffen, was und vor allem wie man damit arbeiten kann.

Tolle Sache!

Quelle: Hier!