Nagios es una de las mejores soluciones de monitoreo de redes y servidores de código abierto disponibles. Usando el marco flexible de nagios, puede monitorear casi cualquier cosa (incluida la base de datos y la aplicación personalizada). Este artículo, con 4 pasos simples, explica cómo configurar definiciones de contactos que recibirán una notificación cuando un host o servicio tenga algún problema.
Anteriormente también discutimos sobre cómo configurar Nagios y monitorear el servidor Windows, monitorear el servidor Linux, monitorear las sesiones de VPN y monitorear el cambio de red.
1. Definir plantilla de contacto genérica en templates.cfg
La instalación de Nagios brinda una plantilla de contacto genérica predeterminada que se puede usar como referencia para crear sus contactos. Tenga en cuenta que todas las directivas mencionadas en la siguiente plantilla de contacto genérico son obligatorias. Por lo tanto, si ha decidido no utilizar la definición de plantilla de contacto genérico en sus contactos, debe definir todas estas definiciones obligatorias dentro de sus contactos usted mismo.
El siguiente contacto genérico ya está disponible en /usr/local/nagios/etc/objects/templates.cfg. Además, templates.cfg se incluye en nagios.cfg de forma predeterminada, como se muestra a continuación.
Tenga en cuenta que cualquiera de estas directivas mencionadas en templates.cfg puede anularse cuando define un contacto real usando esta plantilla genérica.
# grep templates /usr/local/nagios/etc/nagios.cfg cfg_file=/usr/local/nagios/etc/objects/templates.cfg Note: generic-contact is available under /usr/local/nagios/etc/objects/templates.cfg define contact{ name generic-contact service_notification_period 24x7 host_notification_period 24x7 service_notification_options w,u,c,r,f,s host_notification_options d,u,r,f,s service_notification_commands notify-service-by-email host_notification_commands notify-host-by-email register 0 }
- Nombre – Esto define el nombre de la plantilla de contacto (contacto genérico).
- período_de_notificación_de_servicio – Esto define cuándo Nagios puede enviar notificaciones sobre problemas de servicios (por ejemplo, Apache inactivo). De forma predeterminada, este es un período de tiempo de 24 × 7, que se define en /usr/local/nagios/etc/objects/timeperiods.cfg
- host_notification_period – Esto define cuándo nagios puede enviar notificaciones sobre problemas de host (por ejemplo, servidor bloqueado). De forma predeterminada, este es un período de tiempo de 24 horas al día, 7 días a la semana.
- opciones_de_notificación_de_servicio – Esto define el tipo de notificación de servicio que se puede enviar. De forma predeterminada, esto define todos los estados de servicio posibles, incluidos los eventos de aleteo. Esto también incluye las actividades de tiempo de inactividad del servicio programado.
- host_notification_options – Esto define el tipo de notificaciones de host que se pueden enviar. De forma predeterminada, esto define todos los posibles estados del host, incluidos los eventos de aleteo. Esto también incluye las actividades programadas de tiempo de inactividad del host.
- servicio_notificación_comandos – De forma predeterminada, esto define que el contacto debe recibir una notificación sobre problemas de servicio (por ejemplo, base de datos inactiva) por correo electrónico. También puede definir comandos adicionales y agregarlos a esta directiva. Por ejemplo, puede definir su propio comando de servicio de notificación por sms.
- host_notification_commands – De forma predeterminada, esto define que el contacto debe recibir una notificación sobre los problemas del host (por ejemplo, host inactivo) por correo electrónico. También puede definir comandos adicionales y agregarlos a esta directiva. Por ejemplo, puede definir su propio comando de notificación-host-por-sms.
2. Definir contactos individuales en contactos.cfg
Una vez que haya confirmado que las plantillas de contactos genéricos están definidas correctamente, puede comenzar a definir la definición de contactos individuales para todas las personas de su organización que alguna vez recibirán notificaciones de nagios. Tenga en cuenta que el hecho de definir un contacto no significa que recibirá una notificación. Posteriormente, debe asociar este contacto a una definición de servicio o host, como se muestra en las secciones posteriores a continuación. Por lo tanto, siéntase libre de definir todos los contactos posibles aquí. (por ejemplo, desarrolladores, DBA, administradores de sistemas, gerente de TI, gerente de servicio al cliente, alta gerencia, etc.)
Note: Define these contacts in /usr/local/nagios/etc/objects/contacts.cfg define contact{ contact_name sgupta use generic-contact alias Sanjay Gupta (Developer) email [email protected] pager [email protected] } define contact{ contact_name jbourne use generic-contact alias Jason Bourne (Sysadmin) email [email protected] }
3. Definir grupos de contactos con contactos múltiples en contactos.cfg
Una vez que haya definido los contactos individuales, también puede agruparlos para enviar las notificaciones adecuadas. Por ejemplo, solo los administradores de bases de datos deben recibir una notificación sobre la definición del servicio de base de datos inactiva. Por lo tanto, es posible que se requiera un grupo de administradores de base de datos. Además, es posible que solo los administradores del sistema Unix deban ser notificados cuando Apache se caiga. Por lo tanto, es posible que se requiera un grupo de administradores de Unix. Siéntase libre de definir tantos grupos como considere necesarios. Posteriormente, puede utilizar estos grupos en las definiciones individuales de servicio y host.
Note: Define contact groups in /usr/local/nagios/etc/objects/contacts.cfg define contactgroup{ contactgroup_name db-admins alias Database Administrators members jsmith, jdoe, mraj } define contactgroup{ contactgroup_name unix-admins alias Linux System Administrator members jbourne, dpatel, mshankar }
4. Adjuntar grupos de contactos o contactos individuales a definiciones de servicios y hosts
Una vez que haya definido los contactos individuales y los grupos de contactos, es hora de comenzar a adjuntarlos a una definición específica de host o servicio, como se muestra a continuación.
Note: Following host is defined under /usr/local/nagios/etc/objects/servers/email-server.cfg. This can be any host definition file. define host{ use linux-server host_name email-server alias Corporate Email Server address 192.168.1.14 contact_groups unix-admins } Note: Following is defined under /usr/local/nagios/etc/objects/servers/db-server.cfg. This can be any host definition file. define service{ use generic-service host_name prod-db service_description CPU Load contact_groups unix-admins check_command check_nrpe!check_load } define service{ use generic-service host_name prod-db service_description MySQL Database Status contact_groups db-admins check_command check_mysql_db }