Contacts und Services in Nagios

Nagios bietet eine große Menge an Funktionen, die alle über Skripte konfiguriert werden können. Es wesentliches Feature ist die Benachrichtigung von Administratoren beim Eintreten eines definierten Ereignisses.

Anlegen von Kontakten

Die Kontakte sind standardmäßig in der Datei contacts.cfg zu finden. Ich habe die Datei in den Ordner /etc/nagios3/conf.d/contacts geschoben, der Übersichtlichkeit wegen.
Es gibt zwei Arten von Kontakten, die man definieren kann

  • Einzel Kontakte, z.B. Personen
  • Kontaktgruppen

Kontakte

In der Standardinstallation von Nagios ist bereits eine ausreichende Konfiguration vorhanden, die man ohne größere Probleme an die eigenen Bedürfnisse anpassen kann.

define contact{
        contact_name                    stefan
        alias                           Stefan
        service_notification_period     workhours
        host_notification_period        workhours
        service_notification_options    w,u,c,r
        host_notification_options       d,r
        service_notification_commands   notify-service-by-email
        host_notification_commands      notify-host-by-email
        email                           
        }


Die workhours werden in der Datei timeperiods_nagios2.cfg hinterlegt. Die Benachrichtigungen an diesen Kontakt werden nur in seiner Arbeitszeit versendet.

service_notification_options und host_notification_options, hier wird definiert welche Benachrichtigungen der Admin erhalten soll. Die Buchstaben stehen für

  • n = NONE
  • w = WARNING
  • c = CRITICAL
  • r = RECOVERY

Mit dem Befehl notify-service-by-email wird festgelegt, dass Nagios den Kontakt via E-Mail benachrichtigen soll.

Nach diesem Beispiel kann man nun beliebig viele Kontakte definieren. Umständlich wird es, wenn die Kontakte unterschiedliche Benachrichtigungen erhalten sollen und evtl. für Gerätegruppen zuständig sein sollen. Eine denkbare Möglichkeit, es sind mehrere Administratoren für die Administration und Wartung der Drucker verantwortlich.
In einem solchen Fall ist es für die Nagios-Administration einfacher, die einzelnen Kontakte nochmal in Kontaktgruppen zusammen zufassen.

Kontaktgruppen

Die Kontaktgruppen können in der gleichen Datei wie die Kontakte konfiguriert werden.

define contactgroup{
        contactgroup_name       admins
        alias                   Nagios Administrators
        members                 stefan
        }


Das Einzige was zu beachten ist, members = contact_name. Schreibfehler verzeiht Nagios nicht, deshalb unbedingt zweimal kontrollieren. Members werden durch Kommas getrennt eingegeben, z.B. stefan, admin1, admin2. Der Alias ist frei wählbar.

Nachdem nun die Kontakte und Kontaktgruppen angelegt worden sind, kann begonnen werden sie auf einzelne Services zuzuordnen.

Services

In der Standardkonfiguration von Nagios sind bereits Services definiert. Sie sind in der Datei generic-service_nagios2.cfg zu finden. Die einzelnen Punkte sind in der Datei selbst sehr gut dokumentiert, dehalb werde ich darauf nicht näher eingehen.
contact_groups hier werden die frisch angelegten Kontaktgruppen den Services zugewiesen. Es können mehrere Gruppen durch Komma getrennt eingegeben werden.

define service{
        name                            generic-service ; The 'name' of this service template
        active_checks_enabled           1       ; Active service checks are enabled
        passive_checks_enabled          1       ; Passive service checks are enabled/accepted
        parallelize_check               1       ; Active service checks should be parallelized (disabling this can lead to major performance problems)
        obsess_over_service             1       ; We should obsess over this service (if necessary)
        check_freshness                 0       ; Default is to NOT check service 'freshness'
        notifications_enabled           1       ; Service notifications are enabled
        event_handler_enabled           1       ; Service event handler is enabled
        flap_detection_enabled          1       ; Flap detection is enabled
        failure_prediction_enabled      1       ; Failure prediction is enabled
        process_perf_data               1       ; Process performance data
        retain_status_information       1       ; Retain status information across program restarts
        retain_nonstatus_information    1       ; Retain non-status information across program restarts
		notification_interval           5		; Only send notifications on status change by default.
		is_volatile                     0
		check_period                    24x7
		normal_check_interval           5
		retry_check_interval            1
		max_check_attempts              4
		notification_period             24x7
		notification_options            w,u,c,r
		contact_groups                  admins
        register                        0       ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL SERVICE, JUST A TEMPLATE!
        }

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert