OMD 3.0

Die Open Monitoring Distribution hat mit dem letzten Update zahlreiche kleinere Verbesserungen vorgenommen. Am auffälligsten dabei ist aber, abgesehen vom Major-Release 3.00, dass einige (teils veraltete) Komponenten entfernt wurden. Darunter sind:

  • Nagios 3 (alter Nagios Core)
  • Icinga 1 (alter Icinga Core)
  • Nagvis (Thruk Panorama ist die bessere Alternative)
  • Check_MK (Thruk GUI ist bei OMD Default)

Hat man noch den Nagios 3 oder Icinga 1 Core im Einsatz wird man beim Update automatisch zu Naemon migriert. Bei meinen Tests klappte das immer ohne Probleme.

Ich finde es einen guten Schritt für die Zukunft von OMD und möchte mich für das tolle Update bedanken!

https://github.com/ConSol/omd/blob/labs/Changelog

https://labs.consol.de/omd/migration_3.html

 

Check File Size mit Nagios NSClient++

Beschreibung

Dateigröße von einem Windows-Rechner mit vorinstalliertem NSClient++ und Nagios NRPE überwachen.

1) NSCLIENT.INI

Folgende Parameter müssen in der nsclient.ini aktiviert sein.

[/settings/NRPE/server]
allow arguments = true
allow nasty characters = true

CheckDisk = enabled

2) NRPE Kommunikation testen (von Nagios Server aus)

./check_nrpe -H <CLIENT-IP->

3) Command definieren

define command {
command_name check_file_size
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c check_files -a "path=$ARG1$" "warn=size>$ARG2$" "crit=size>$ARG3$" max-depth=1
}

4) Service erstellen (Beispiel)

define service {
use service-template-1min
host_name Windows Test Machine 2
service_description File Size of database.log
check_command check_file_size!c:\\database.log!1000k!2000k
}

Screenshots

Weitere NRPE Beispiele

./check_nrpe -H 192.168.1.1 -c check_files -a path="c:\\database.log" "perf-config=size(unit:M)" "detail-syntax=${status}%(file) = %(size)" "warn=size>800k" "crit=size>1000k" max-depth=1
./check_nrpe -H 192.168.1.1 -c check_files -a path='E:\\ServerFolders\\NoBackup\\Junk' pattern=*.* 'filter=size gt 100M' 'warn= count > 0' 'crit= count > 0' top-syntax='${status}: ${count} files found ${problem_list}' 'empty-state=ok'

Weitere Informationen

https://docs.nsclient.org/reference/windows/CheckDisk/#check-file-sizes

https://support.nagios.com/kb/article.php?id=783#file_size

Custom Nagios NCPA Plugin: Remote Ping

In diesem Artikel möchte ich euch zeigen wie man sein eigenes benutzerdefiniertes Plugin in den Nagios Cross-Platform Agent integriert.

In diesem Fall möchten wir das ein Client lokal einen Ping ausführt und die Ausgabe dann an Nagios zurück liefert. Das kann hilfreich sein wenn man zum Beispiel nicht nur die Round Trip Time von Nagios zum Client wissen will, sondern auch von Client zu Client.

Windows NCPA-Client Installation

  1. Download des NCPA Clients für Windows:
    https://www.nagios.org/ncpa/#downloads
  2. Nach Aufruf des Setups können die Einstellungen auf Default gelassen werden, nur bei dem Token muss ein sicheres Passwort für die Agent-Kommunikation gewählt werden:
    NCPA_Setup_Token
  3. Ob die Installation erfolgreich war kann über die Web-GUI des Agents überprüft werden, indem man mit dem Browser auf https://localhost:5693/ navigiert:
    ncpa_dashboard

Remote-Ping Plugin Installation

  1. Download:
    https://exchange.nagios.org/directory/Plugins/Uncategorized/Operating-Systems/Windows-NRPE/NagiosPluginsNT/details
  2. Zip-Archiv entpacken nach: C:\Program Files (x86)\Nagios\NCPA\plugins
    ncpa_check_ping
  3. Zum Test kann das Plugin über das NCPA API-Dashboard aufgerufen werden:
    ncpa_check_ping_api

Check Installation am Nagios Server

  1. Installation des Nagios Plugins check_ncpa.py:
    wget https://assets.nagios.com/downloads/ncpa/check_ncpa.tar.gz
    tar xzvf check_ncpa.tar.gz
  2. Test der Agent-Kommunikation:
    python check_ncpa.py -H 192.168.1.161 -t 2XI3ADFIMlaRlpC3 -P 5693 -M system/agent_version
    OK: Agent_version was ['2.0.3']
  3. Command-Definition in der commands.cfg anlegen:
    define command {
     command_name check_ncpa
     command_line python $USER1$/check_ncpa.py -H $HOSTADDRESS$ $ARG1$
    }
  4. Service-Definition des Hosts konfigurieren:
    define service{
     use generic-service
     host_name Windows Test Machine
     service_description REMOTE Ping
     check_command check_ncpa!-t '2XI3ADFIMlaRlpC3' -P 5693 -M plugins/check_ping.exe -a '-H 8.8.8.8'
    }
  5. Nagios Konfiguration neu laden
  6. Fertig! Hier die Ansicht im Dashboard:
    remote_ping_serviceremote_ping_pnp4nagios

Windows Eventlog Monitoring mit Nagios NCPA

In diesem Artikel möchte ich euch zeigen wie man die EventLogs eines Windows-Rechners mit Nagios überwacht.

Es gibt viele Möglichkeiten eine EventLog Überwachung zu realisieren. Nach langem suchen und testen mit NSClient++, WMI, NagEventLog oder sogar SNMP-Traps ist mein erste Wahl der Nagios Cross-Platform Agent, kurz NCPA.

NCPA ist ein moderner Agent für alle gängigen Betriebssysteme. Er unterstützt aktive und passive Checks, Custom Scripts, hat eine einheitliche API und eine sehr ansehnliche Web-GUI.

In meinem Beispiel versuche ich den Eintrag mit der Event-ID 10016 aus den System Logs abzufragen. Das hat keinen speziellen Grund, ihr könnt das ganz nach Bedarf anpassen.

Nagios_NCPA_EventLog

Windows Client Installation

  1. Download des NCPA Clients für Windows:
    https://www.nagios.org/ncpa/#downloads
  2. Nach Aufruf des Setups können die Einstellungen auf Default gelassen werden, nur bei dem Token muss ein sicheres Passwort für die Agent-Kommunikation gewählt werden:
    NCPA_Setup_Token
  3. Ob die Installation erfolgreich war kann über die Web-GUI des Agents überprüft werden, indem man mit dem Browser auf https://localhost:5693/ navigiert. Hier hat man auch die Möglichkeit die gewünschte Abfrage vorab zu testen:
    NCPA_WebGUI

Check Installation am Nagios Server

  1. Installation des Nagios Plugins check_ncpa.py:
    wget https://assets.nagios.com/downloads/ncpa/check_ncpa.tar.gz
    tar xzvf check_ncpa.tar.gz
  2. Test der Agent-Kommunikation:
    python check_ncpa.py -H 192.168.1.161 -t 2XI3ADFIMlaRlpC3 -P 5693 -M system/agent_version
    OK: Agent_version was ['2.0.3']
  3. Command-Definition in der commands.cfg anlegen:
    define command {
     command_name check_ncpa
     command_line python $USER1$/check_ncpa.py -H $HOSTADDRESS$ $ARG1$
    }
  4. Service-Definition des Hosts konfigurieren:
    define service{
     use generic-service
     host_name Windows Test Machine
     service_description EventID 10016
     check_command check_ncpa!-t '2XI3ADFIMlaRlpC3' -P 5693 -M logs -q name=System,severity=ERROR,logged_after=1h,event_id=10016 -c 0
    }
  5. Nagios Konfiguration neu laden
  6. Fertig! Hier die Ansicht im Dashboard:
    Nagios_EventLog_Monitoring