Nagios :: Schnittstelle.Laufzeitinteraktion mit Nagios | |
Jetzt downloaden |
Nagios :: Schnittstelle. Ranking & Zusammenfassung
Anzeige
- Lizenz:
- Perl Artistic License
- Preis:
- FREE
- Name des Herausgebers:
- Sam Vilain
- Website des Verlags:
- http://search.cpan.org/~samv/
Nagios :: Schnittstelle. Stichworte
Nagios :: Schnittstelle. Beschreibung
Laufzeitinteraktion mit Nagios Nagios :: Schnittstelle ist ein Perl-Modul für die grundlegende Laufzeitinteraktion mit Nagios 3-Instanzen. Es gibt keine Funktionen, um Konfigurationsdateien zu analysieren oder zu schreiben (noch?), Aber es kann die meisten Logfile-Nachrichten sowie Schreibsteuerungsnachrichten analysieren und die Statusdatei für Einnahmen von Aktionen analysieren, die nichts nützliches Protokoll loggt.Synopsis verwenden Nagios :: Schnittstelle; # Richten Sie einen Logfile-Reader ein, der Datei :: HEAD MY $ logfile = Nagios :: Interface :: logFile-> NEU (Tail => Datei :: ack-> neu (Name => "/ var / log / nagios3 / nagios) .log ", MaxIninterval => 5, Intervall => 2, Tail => 10,); # Eine Nachricht lesen, analysieren Sie es und senden Sie es meine $ log_message = $ logfile-> get_message; # oder wenn Sie Loglines von irgendwo anders erhalten, geben Sie an parse_logline $ log_message = $ logFile-> parse_logline ($ _); # Zurückgegebene Nachrichten haben Rollen für die Gemeinsamkeit und Klassen für den Typ. Drucken $ log_message-> host. " ist " . ($ log_message-> up? "up": "down"); Wenn $ log_message-> tut ("nagios :: interface :: alert :: host"); # Controlling über die Nagios-Steuerdatei My $ Control = Nagios :: Interface :: Control-> NEU (Dateiname => "/var/lib/nagios3/rw/nagios.cmd",); # Machen Sie jede Art von Protokollnachricht als Befehl ... # Siehe Nagios :: Interface :: Concretetypes für eine Liste Meine $ svc_downtime = Nagios :: Interface :: ScheduleServicedOndTime-> NEU (begin => zeit, ende => Time + 15 * 60, Fixed => 1, Autor => ($ env {logName} || $ env {user} || (getpwuid ($ "Hier ist ein Kommentar",); My $ Entry_Time = $ Control-> Problem ($ svc_downtime); # Lesen des Statussprotokolls Meine $ Status = Nagios :: Interface :: Status-> NEU (Dateiname => "/var/cache/nagios3/status.dat",); Schlaf 1 While (Status Status-> Dateiname) <$ extract_time); $ status-> parse_file; My @blocks = Grep {$ _-> {Entry_Time} == $ Entry_Time $ _-> {comment} EQ "Hier ist ein Kommentar", } $ status-> get_blocks ("servicedowntime"); Verwenden Sie Set :: Objekt QW (Set); My $ Downtime_IDs = Set (MAP {$ _-> {Downtime_ID} @blocks)); drucken "Ausfallzeit-IDs: $ DownTime_IDs \ n "; # jetzt stornieren die Ausfallzeiten, um das Beispiel $ Control-> Ausgabe abzuschließen · Perl.
Nagios :: Schnittstelle. Zugehörige Software