Eventhandler

  • Hallo,


    erstmal muss ich sagen, dass ich ein richtiger Anfänger von Nagios/Linux bin.

    Ich habe seit 2 Wochen einen Icinga Director in Betrieb, bisher läuft alles schon ganz gut.

    Habe schon einige Services zum Überprüfen (Windows Prozesse, Windows Services, Backups, Festplattenplatz, CPU, ILO Überwachung).

    Jetzt hab ich aber leider ein Problem und finde irgendwie im Internet zu wenig, oder ich suche falsch.

    Ich überprüfe gerade mittels dem "service-windows" command die Windows Dienste meiner Server.

    Bei dem NSClient ist auch ein Powershellscript zum Neustarten der Dienste vorgefertigt dabei.

    Wenn ich jetzt mit diesem Befehl "/usr/lib64/nagios/plugins/check_nrpe -H $address$ -c restart_service" via commandline arbeite, startet er auch wie gewünscht den Dienst neu.

    Ich habe jetzt ein Eventplugin Command mit diesem Befehl erstellt und dem meinem Windows Service check zugewießen, allerdings funktioniert das nicht, also er macht gar nichts, auch wenn ich den Dienst stoppe.

    Bin ich da am völlig falschen Weg?

    Bitte um Hilfe!

    The post was edited 2 times, last by danieldd ().

  • Ich vermute, er versucht schon etwas zu tun, fällt aber irgendwo hin. Das kann durch falsche berechtigungen usw sein.

    mach mal folgendes:


    su - nagios --shell=/bin/bash

    /usr/lib64/nagios/plugins/check_nrpe -H $address$ -c restart_service

    ersetzte $address$ durch die Adresse deines Hostes und schaue was passiert.

    Linux is dead, long live Linux


    Remember to NEVER EVER use git repositories in a productive environment if you CAN NOT control them

  • Danke für deine Antwort.

    Wenn ich die 2 Befehle auf der commandline mache funktionierts...da startet er den gewünschten Dienst neu.

  • dann schau mal, ob was im log von icinga steht, wenn du das event command erzwingst

    Linux is dead, long live Linux


    Remember to NEVER EVER use git repositories in a productive environment if you CAN NOT control them

  • Ich habe jetzt erstmal zum Testen ein Plugin Check Command mit dem neustart gemacht, da funktioniert alles, sprich Berechtigungen sollten passen.

    Habe den Service gestoppt und 3x den check ausgeführt (der Eventhandler wirst erst im hardstate getriggert oder?)

    Jedenfalls sehe ich im logfile kein Eintrag für einen Eventhandler



    [2017-08-18 18:12:32 +0200] information/ExternalCommandListener: Executing external command: [1503072752] SCHEDULE_FORCED_SVC_CHECK;hyperv;Check Windows Services;1503072752

    [2017-08-18 18:12:36 +0200] information/ExternalCommandListener: Executing external command: [1503072756] SCHEDULE_FORCED_SVC_CHECK;hyperv;Check Windows Services;1503072756

    [2017-08-18 18:12:38 +0200] information/ExternalCommandListener: Executing external command: [1503072758] SCHEDULE_FORCED_SVC_CHECK;hyperv;Check Windows Services;1503072758

    [2017-08-18 18:12:38 +0200] information/Checkable: Checking for configured notifications for object 'hyperv!Check Windows Services'

    [2017-08-18 18:12:38 +0200] information/Notification: Sending 'Problem' notification 'hyperv!Check Windows Services!Service notification for user 'Helpdesk'

    [2017-08-18 18:12:38 +0200] information/Notification: Completed sending 'Problem' notification 'hyperv!Check Windows Services!Service notification' for checkable 'hyperv!Check Windows Services' and user 'Helpdesk'.



    Mein Service sieht so aus:


    Code
    1. template Service "Check Windows Services" {
    2. check_command = "service-windows"
    3. enable_event_handler = true
    4. event_command = "restart_windows_service"
    5. command_endpoint = host_name
    6. vars.service_win_service = "spooler"
    7. }

    Und mein Eventhandler ist einfach ein Event Plugin Command mit diesem command "/usr/lib64/nagios/plugins/check_nrpe -H 192.168.0.14 -p 5666 -c restart_service"

  • momentan kann ich dir leider nicht helfen, werde versuchen Montag dran zu denken, wenn ich wieder auf der Arbeit bin.


    Normalerweise sollte im log eine zeile auftauchen, dass der Eventhandler getriggert wird.

    Linux is dead, long live Linux


    Remember to NEVER EVER use git repositories in a productive environment if you CAN NOT control them

  • ah wird der im critical soft state getriggert oder wie?

    sorry bin erst seit 2 wochen dabei und habe echt noch keinen plan :(

  • ah wird der im critical soft state getriggert oder wie?

    Nicht nur. Sobald bei einer Prüfung erkannt wird, daß sich ein Host nicht mehr im "UP"- bzw. ein Service im "OK"-Zustand und gleichzeitig im SOFT-Status befindet oder zwischen SOFT/HARD-Status wechselt, wird der Eventhandler ausgeführt. Informationen gibt es u.a. hier (ist zwar aus Icinga1, gilt aber analog auch für Icinga2).