Centreon – Habilitando alertas por correo electrónico
Este será el documento que deberemos seguir si es que queremos habilitar alertas de Nagios y de Centreon mediante el uso de correo electrónico y así recibir las alertas en nuestro sistema de monitorización, cuando un host o un servicio cambie de estado a Warning o Critical entre otros.
Permitiendo notificaciones desde Centreon,
Lo primero será definir un usuario al que queremos que se le envíen las alertas, posteriormente tocaremos una plantilla de servicio base, para que todo lo que trabajemos tenga habilitadas las notificaciones y a este usuario en concreto; y no tengamos que configurarlo cada vez que creemos un nuevo servicio.
Y luego ya por último, modificaremos Postfix para que utilice el servidor de correo de nuestra organización para que haga relé de correo!
Lo primero será crear un usuario que queremos que reciba las alertas, en este ejemplo sencillo, haré que un usuario reciba las alertas de toda la plataforma. Como podremos imaginar, podremos personalizar que tipo y a quien queremos que se entreguen ciertas alertas. Vamos a “Configuration” > “Users” > “Contact Users”, ahí deberemos dar de alta un usuario donde al menos rellenaremos los siguientes campos:
- Alias / Login: Será el login que usará si le queremos dar también acceso a Centreon.
- Full Name: Nombre completo.
- Email: Dirección de correo donde queremos que le lleguen las alertas.
- Enable Notifications: Yes. Debemos habilitar las notificaciones.
- Host Notification Options: Seleccionamos el tipo de alertas que queremos recibir relacionadas con los hosts, habitualmente marcaremos Warning, Unknown y Recovery.
- Host Notification Period: El periodo de notificación de alertas de hosts, por defecto 24×7.
- Host Notification Commands: Dejamos ‘service-notify-by-email’.
- Service Notification Options: Seleccionamos el tipo de alertas que queremos recibir relacionadas con los servicios, habitualmente marcaremos Warning, Unknown, Critical y Recovery.
- Service Notification Period: El periodo de notificación de alertas de servicios, por defecto 24×7.
- Service Notification Commands: Dejamos ‘service-notify-by-email’.
Bien, antes de crear cualquier servicio, si por ejemplo queremos hacer lo dicho, que todos los servicios que creemos a partir de ahora se le notifiquen, podremos editar una plantilla de servicio que trae Centreon. De esta plantilla, luego nosotros crearemos los servicios que monitorizan los ítems que nos interesen. Estas plantillas base pueden tener ya una configuración básica que sea lo dicho, que la notificación esté habilitada, a este usuario, etc… Podremos crear una plantilla duplicando una existente si queremos, en este caso editare la plantilla ‘generic-active-service-custom’ que encontraremos en “Configuration” > “Services” > “Templates”. En otros documentos veréis que todos los servicios que crearé, parten de esta plantilla!
Si nos situamos una vez dentro de la plantilla de servicio, veremos que tiene una pestaña de “Notification”, iremos ahí a configurar todo lo que necesitemos, en este ejemplo quedaría de la siguiente manera:
- Notification Enabled: Yes.
- Implied Contacts: Añadimos el usuario recién creado.
- Notification Period: 24×7
- Notification Type: Dejamos marcadas todas las opciones que nos interesen, habitualmente Warning, Unknown, Critical y Recovery.
Y nada, si en el fichero de configuración de Postfix ‘/etc/postfix/main.cf’ añadimos una línea indicando que servidor hará de relay, bastará para que salga ya correo electrónico. Claro que deberemos permitir en el servidor de correo que vamos a enviar correo sin autenticación o bueno, como lo configuremos.
[sourcecode]relayhost = [FQDN_SERVIDOR_DE_CORREO][/sourcecode]
Y luego, ya con el siguiente comando podremos probar a mandar un correo de prueba desde la propia shell:
[sourcecode]echo "Esto es una prueba de envio de correo" | mail -s "Prueba de correo"
di*****************@do*****.eso
[/sourcecode]
Envio de correo mediante Gmail,
Una buena opción, será la de no usar nuestro servidor de correo para el envío de mails, no sea que si se cae nuestro servidor de correo nos quedemos sin alertas… qué mejor que usar un servicio externo de mensajería tipo Gmail. Como por debajo, nuestro Nagios usa Postfix, configuraremos este servicio para que use de relay el servidor de Gmail.
Bastará con editar el fichero de configuración de Postfix, añadimos las líneas de configuración contra el servidor de correo de Gmail:
[sourcecode]vim /etc/postfix/main.cf
relayhost = [smtp.gmail.com]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_tls_CAfile = /etc/postfix/cacert.pem
smtp_use_tls = yes[/sourcecode]
Creamos ahora el fichero de autenticación:
[sourcecode]vim /etc/postfix/sasl_passwd
[smtp.gmail.com]:587
US*****@gm***.com
:CONTRASEÑA[/sourcecode]
Al ser información delicada la anterior, protegeremos dicho fichero, aplicamos los permisos correspondientes para que sólo nosotros podamos verlo:
[sourcecode]sudo chmod 400 /etc/postfix/sasl_passwd
sudo postmap /etc/postfix/sasl_passwd[/sourcecode]
También, necesitamos un certificado, podremos obtenerlo de cualquiera que tengamos en el directorio de certificados, ejecutando:
[sourcecode]cat /etc/ssl/certs/ca-bundle.crt | sudo tee -a /etc/postfix/cacert.pem[/sourcecode]
Y por último, tendremos que permitir que Gmail nos deje enviar correos, deberemos entrar en ambos enlaces con nuestra cuenta de Gmail para permitir aplicaciones menos seguras:
https://www.google.com/settings/security/lesssecureapps
https://accounts.google.com/DisplayUnlockCaptcha
Una vez realizado todo lo anterior, podremos reiniciar Postfix para que cargue los nuevos datos y ejecutar con el siguiente comando una prueba de envío de correo desde la shell. Si tenemos problemas, recordar que en ‘/var/log/maillog’ tenéis los logs de Postfix.
[sourcecode]sudo /etc/init.d/postfix reload
echo "Esto es una prueba de envio de correo" | mail -s "Prueba de correo"
di*****************@do*****.eso
[/sourcecode]
Y con esto quedaría al menos básicamente configuradas las alertas de los servicios mediante correo electrónico, cuando un servicio cambie de estado nos lo hará llegar! Ya entraremos en más detalle de tipos de alertas, etc… en otros documentos!