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 info@mein-mail.de
}
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, deshalb 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!
}
Gib mir gerne einen Kaffee ☕ aus ❗️
Wenn dir meine Beiträge gefallen und geholfen haben, dann kannst du mir gerne einen Kaffee ☕️ ausgeben.
Follow Me❗️