PagerDuty es una plataforma de gestión de incidentes que dota a los equipos de TI de una visibilidad inmediata de los incidentes, permitiendo respuestas proactivas y eficaces para mantener la estabilidad operativa y la resiliencia.
Para integrar tu cuenta de PagerDuty con métricas de DORA:
Ve a Integrations > Developer Tools (Integraciones > Herramientas de desarrollo) en PagerDuty y haz clic en Generic Webhooks (v3) (Webhooks genéricos (v3)).
Haz clic en + New Webhook (+ Nuevo webhook) e introduce los siguientes datos:
Select Account to send incidents for all PagerDuty services in your account. Alternatively, you can send incidents for specific services or teams by selecting a different scope type.
Description
A description helps distinguish the webhook. Add something like Datadog DORA Metrics integration.
Event Subscription
Select the following events: -incident.acknowledged -incident.annotated -incident.custom_field_values.updated -incident.delegated -incident.escalated -incident.priority_updated -incident.reassigned -incident.reopened -incident.resolved -incident.triggered -incident.unacknowledged
Custom Headers
Click Add custom header, enter DD-API-KEY as the name, and input your Datadog API key as the value.
Optionally, you can add an environment to all of the PagerDuty incidents sent from the webhook by creating an additional custom header with the name dd_env and the desired environment as the value.
Para guardar el webhook, haz clic en Add Webhook (Añadir webhook).
La gravedad del incidente en el producto métricas de DORA se basa en la prioridad del incidente en PagerDuty.
Nota: Al crear el webhook, se crea un nuevo secreto que se utiliza para firmar todas las cargas útiles del webhook. Este secreto no es necesario para que funcione la integración, ya que la autenticación se realiza mediante la clave de la API.
Cuando se recibe un evento de incidente de un servicio PagerDuty específico, Datadog intenta recuperar el servicio Datadog y el equipo relacionado desde cualquier monitor de Datadog que lo active y desde el Catálogo de software.
El algoritmo de concordancia funciona en los siguientes pasos:
Si el nombre de servicio de PagerDuty del incidente coincide con un nombre de servicio del Catálogo de software, las métricas y los eventos de incidentes se emiten con el servicio y el equipo.
Si el nombre de equipo de PagerDuty del incidente coincide con un nombre de equipo del Catálogo de software, las métricas y los eventos de incidentes se emiten con el equipo.
Si el nombre de servicio de PagerDuty del incidente coincide con un nombre de equipo del Catálogo de software, las métricas y los eventos de incidentes se emiten con el equipo.
Si no hubo coincidencias hasta este momento, las métricas y los eventos de incidentes se emiten con el servicio de PagerDuty y el equipo de PagerDuty proporcionados en el incidente.
Para enviar tus propios eventos de incidentes, utiliza la API de métricas de DORA. Los eventos de incidentes se utilizan para calcular el porcentaje de despliegues fallidos y el tiempo medio de recuperación.
Incluye el atributo finished_at en un evento de incidente para marcar que el incidente está resuelto. Puedes enviar eventos al inicio del incidente y después de la resolución del incidente. Los eventos incidentes coinciden con los atributos env, service y started_at.
Se requieren los siguientes atributos:
services o team (al menos uno debe estar presente)
started_at
Puedes añadir opcionalmente los siguientes atributos a los eventos de incidentes:
finished_at para incidentes resueltos. Este atributo es necesario para calcular el tiempo de recuperación del servicio.
id para identificar incidentes cuando se crean y resuelven. Este atributo es generado por el usuario; si no se proporciona, el endpoint devuelve un UUID generado por Datadog.
name para describir el incidente.
severity
env para filtrar tus métricas de DORA por entorno en la página de métricas de DORA.
El porcentaje de despliegues fallidos se calcula como el porcentaje de eventos de incidentes sobre el número total de despliegues. Datadog divide dora.incidents.count sobre dora.deployments.count para los mismos servicios o equipos asociados tanto a un fallo como a un evento de despliegue.
El tiempo de recuperación se calcula como la distribución de la duración de eventos de incidentes resueltos.
Las métricas de DORA generan la métrica dora.time_to_restore registrando las horas de inicio y fin de cada evento de incidente. Calcula el tiempo medio de recuperación (MTTR) como la media de estos puntos de datos dora.time_to_restore en un periodo de tiempo seleccionado.