Uso de un webhook para configurar las notificaciones relativas al estado en sistemas de administración de problemas
En este artículo se muestra cómo configurar las alertas de Azure Service Health para que envíen datos a través de webhooks a un sistema de notificación existente.
Puede configurar las alertas de Service Health para que reciba una notificación, mediante mensaje de texto o correo electrónico, cuando se produzca algún incidente que le afecte en algún servicio de Azure.
Pero también es posible que tenga implementado un sistema de notificación externo y prefiera utilizarlo. En este artículo se identifican las partes más importantes de la carga del webhook. También se describe cómo crear alertas personalizadas que envíen una notificación en cuanto se produzca algún problema significativo en un servicio.
Si desea usar una integración preconfigurada, consulte:
- Configure alerts with ServiceNow (Configuración de alertas con ServiceNow)
- Configure alerts with PagerDuty (Configuración de alertas con PagerDuty)
- Configure alerts with OpsGenie (Configuración de alertas con OpsGenie)
Vea un vídeo introductorio:
Configuración de una notificación personalizada mediante la carga del webhook de Service Health
Para configurar su propia integración de webhook personalizada, es preciso que analice la carga JSON que se envía en las notificaciones de Service Health.
Consulte un ejemplo de la carga del webhook de ServiceHealth
.
Para confirmar que se trata de una alerta de Service Health examine context.eventSource == "ServiceHealth"
. Las siguientes propiedades son las más importantes:
- data.context.activityLog.status
- data.context.activityLog.level
- data.context.activityLog.subscriptionId
- data.context.activityLog.properties.title
- data.context.activityLog.properties.impactStartTime
- data.context.activityLog.properties.communication
- data.context.activityLog.properties.impactedServices
- data.context.activityLog.properties.trackingId
Creación de un vínculo al panel de Service Health en caso de algún incidente
Para crear un vínculo directo al panel de Service Health en cualquier escritorio o dispositivo móvil, genere una dirección URL especializada. Use trackingId y los tres primeros y últimos dígitos de subscriptionId con este formato:
https://app.azure.com/h/<trackingId>/<tres primeros y tres últimos dígitos de subscriptionId>
Por ejemplo, si subscriptionId es aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e y trackingId es 0DET-URB, la dirección URL del Service Health es:
https://app.azure.com/h/0DET-URB/bbadb3
Uso de level para detectar la gravedad del problema
De menor a mayor gravedad, la propiedadlevel de la carga puede tener los siguientes valores: Informational (Información), Warning (Advertencia), Error o Critical (Crítico).
Análisis de los servicios afectados para determinar el ámbito del incidente
Las alertas de Service Health pueden informar acerca de los problemas que aparecen en varias regiones y servicios. Para obtener todos los detalles, es preciso analizar el valor de impactedServices
.
El contenido interior es una cadena con caracteres de escape JSON que, cuando no tiene caracteres de escape, contiene otro objeto JSON que puede analizarse regularmente. Por ejemplo:
{"data.context.activityLog.properties.impactedServices": "[{\"ImpactedRegions\":[{\"RegionName\":\"Australia East\"},{\"RegionName\":\"Australia Southeast\"}],\"ServiceName\":\"Alerts & Metrics\"},{\"ImpactedRegions\":[{\"RegionName\":\"Australia Southeast\"}],\"ServiceName\":\"App Service\"}]"}
se convierte en:
[
{
"ImpactedRegions":[
{
"RegionName":"Australia East"
},
{
"RegionName":"Australia Southeast"
}
],
"ServiceName":"Alerts & Metrics"
},
{
"ImpactedRegions":[
{
"RegionName":"Australia Southeast"
}
],
"ServiceName":"App Service"
}
]
En este ejemplo se muestran los problemas de:
- "Alertas & métricas" en las regiones Este de Australia y Sudeste de Australia.
- "App Service" en la región Sudeste de Australia.
Prueba de la integración de un webhook a través de una solicitud HTTP POST
Siga estos pasos:
Cree la carga de Service Health que desee enviar. Puede ver una carga del webhook de Service Health de ejemplo en Webhooks para alertas del registro de actividad de Azure.
Cree una solicitud HTTP POST de la siguiente manera:
POST https://your.webhook.endpoint HEADERS Content-Type: application/json BODY <service health payload>
Debería recibir la respuesta "2XX - Successful".
Vaya a PagerDuty para confirmar que la integración se ha configurado correctamente.
Pasos siguientes
- Revise el Esquema de webhook de alertas del registro de actividad.
- Más información acerca de las Notificaciones del estado del servicio.
- Más información sobre los grupos de acciones.