07. Configurar notificaciones

Introducción

A través de las notificaciones, Obsidian envía alertas, a través del correo electrónico, a la audiencia seleccionada cuando hay un cambio en el estado de un servicio, dimensión -disponibilidad, capacidad o service desk- o monitor monitorizado.

Se recomienda configurar las notificaciones para que sólo los responsables adecuados sean alertados o para que los equipos técnicos tengan información en tiempo real de los diferentes eventos en la plataforma de la organización. De esta forma:

  • Notificaciones de servicio: 
    • Se envía una alerta por mail cada vez que haya un cambio en el estado del nivel de servicio
    • Audiencia recomendada: responsable del servicio, dirección, clientes
  • Notificaciones por dimensión:
    • Se envía una alerta por mail cada vez que hay un cambio en el estado de la disponibilidad, capacidad o service desk de un servicio
    • Audiencia recomendada: responsable por la disponibilidad, capacidad o service desk (en función de la dimensión afectada), responsable del servicio
  • Notificación por monitor:
    • Se envía una alerta por mail cada vez que hay un cambio en el estado de cualquier monitor
    • Audiencia recomendada: equipos técnicos responsables del mantenimiento de la infraestructura

Configuración de las notificaciones en Obsidian

Las notificaciones se configuran en la Consola de Obsidian en 'CONFIGURACIÓN → Configuration files → Obsidian Calculation Engine'.

La sección de notificaciones estará al final del fichero, a partir de la sección [notifications]:


Configuración general

  • “interval”: intervalo de tiempo, en segundos, en el que se validará el envío de notificaciones.
  • “enableLog”: habilitar (o no) la generación del log de envío de notificaciones
  • “serviceNotifications”: habilitar (o no) las notificaciones desde Obsidian


; ------------------------------------------------------------------------------
; Notifications
; ------------------------------------------------------------------------------

[notifications]
interval = "600" ;time in seconds
enableLog = "y"
serviceNotifications = "y"

Definir cuándo se enviarán las notificaciones

Se puede definir en qué momento se enviarán las notificaciones, es decir, que cambios en las sondas conllevan notificación:

  • De verde a amarillo (recomendado)
  • De verde a rojo (recomendado)
  • De amarillo a rojo (recomendado)
  • De amarillo a verde
  • De rojo a amarillo
  • De rojo a verde (recomendado)

NOTA
Es importa
nte que las notificaciones de rojo a verde se incluyan para tener la información de la duración de la caída e impacto en el SLA.

; ------------------------------------------------------------------------------
; Notifications
; ------------------------------------------------------------------------------

[notifications]
interval = "600" ;time in seconds
enableLog = "y"
serviceNotifications = "y"

serviceNotifyGreenToYellow = y
serviceNotifyGreenToRed = y
serviceNotifyYellowToRed = y
serviceNotifyYellowToGreen = y
serviceNotifyRedtoYellow = y
serviceNotifyRedtoGreen = y

        
Configuración de delays en el envío de notificaciones

Pueden definirse los parámetros serviceMinTimeToNotify y monitorMinTimeToNotify, en en 'CONFIGURACIÓN → Configuration files → Obsidian Calculation Engine'

serviceMinTimeToNotify="5"
...
monitorMinTimeToNotify="5" 


Definir listas de correo específicas por dimensión

Cambio en una de las dimensiones de un servicio: se puede definir una lista de mails a los que notificar siempre que haya un cambio en alguna de las dimensiones. Recomendado cuando hay gestores de procesos:

  • Cambio en la capacidad
  • Cambo en la disponibilidad
  • Cambio en el service desk
  • Cambio en el nivel de servicio 
serviceAvailabilityNotificationsMailingList = ""
serviceCapacityNotificationsMailingList = ""
serviceDeskNotificationsMailingList = ""
serviceLevelNotificationsMailingList = ""

Definir listas de correo específicas por servicio

Cambio en una dimensión de un servicio: se puede definir la lista de mails a los que notificar siempre que haya cualquier tipo de cambio en disponibilidad, capacidad y nivel de servicio en un servicio. Para ello, será necesario crear una sección por servicio: 

[notification_service_id de servicio]
Donde podemos indicar los correos que queramos notificar, tanto para sondas como servicios:

[notification_service_1]
mailingList = ""
varObs = "Aquí podría detallarse un breve procedimiento para gestionar una incidencia ó
personal de contacto ante urgencias ó detalles concretos del servicio"
varCodeCatalog = "Monitoring"
useTemplate = "html" ; html|txt|both
serviceTextTemplate = "texttemplate.php"
serviceHtmlTemplate = "template.php"
Subject = "CUSTOM NOTIFICATION"
serviceNotifyGreenToYellow = y
serviceNotifyGreenToRed = y
serviceNotifyYellowToRed = y
serviceNotifyYellowToGreen = n
serviceNotifyRedtoYellow = n
serviceNotifyRedtoGreen = n

disableavailability = n
disablecapacity = n
disableservicedesk = n


NOTA


         


Troubleshooting

Revisar el log de envío de emails

Con la periodicidad indicada en el parámetro interval, se compara el estado de todas las dimensiones de cada servicio. Si ha habido cambios desde la última iteración, se envía una notificación. El log del proceso está disponible en la sección de configuración → log → notification_email. Cada iteración está separada por una línea en blanco.

Si el envío de una notificación falla, se reflejará en el log. Obsidian intentará enviar cada notificación dos veces, de ahí que aparezcan dos mensajes de error:

Si el envío de una notificación es correcto, se reflejará en el log el output de la notificación:


Forzar el envío de un mensaje de prueba

Existe un script para probar que las notificaciones están funcionando correctamente, utilizando los datos del servidor de correo indicado en la configuración de Obsidian,  /opt/ozona/obsidian/calculate/test-notifications.php:

# php /opt/ozona/obsidian/calculate/test-notifications.php info@obsidiansoft.com
Sent OK.