Docs Menu
Docs Home
/ /
/ / /

Configura la plantilla del webhook

Ops Manager admite la creación de plantillas de webhook mediante Marcador gratuito Sintaxis de plantilla. Puedes personalizar tanto los encabezados HTTP como el contenido del cuerpo de la solicitud enviada al punto final del webhook. Ambas plantillas deben generar una salida JSON válida.

Puedes usar diversas variables tanto en los encabezados como en las plantillas de cuerpo. Para más detalles, consulta la Documentación del modelo de alerta, haga clic en el post test message botón (datos aleatorios) o guardar una alerta e inspeccionar la carga útil del webhook (los nombres de las variables coinciden con las claves JSON).

Nota

No todas las variables se incluyen en cada llamada de webhook. Los campos disponibles dependen del tipo y el estado de la alerta. Asegúrese de que sus plantillas gestionen valores nulos para evitar errores de renderizado.

Las siguientes variables están disponibles en las plantillas de webhook:

Variable
Descripción

${acknowledgedUntil}

Marca de tiempo en formato ISO 8601 de fecha y hora en UTC hasta la cual se ha reconocido la alerta.

${acknowledgementComment}

Comentario dejado por el usuario que reconoció la alerta.

${acknowledgingUsername}

Nombre de usuario del usuario que reconoció la alerta.

${alertConfigId}

Identificador único para la configuración de alerta que activó esta alerta.

${clusterId}

Identificador único del clúster al que se aplica esta alerta.

${clusterName}

Nombre del clúster al que se aplica esta alerta.

${created}

Marca de tiempo en formato ISO 8601 fecha y hora en UTC cuando se abrió la alerta.

${currentValue}

(Objeto) Valor actual de la métrica que activó la alerta.

${currentValue.number}

Valor de la métrica.

${currentValue.units}

Unidades para el valor. El valor depende del tipo de métrica.

${event}

La acción o cambio de estado para esta notificación de alerta (encabezado predeterminado X-Mms-Event - alert.opened, alert.closed, alert.update, alert.acknowledge, alert.cancel, alert.inform).

${eventTypeName}

Nombre del evento que activó la alerta.

${groupId}

Identificador único del grupo (proyecto) para el que se abrió esta alerta.

${hostId}

Identificador único del host al que pertenece la métrica.

${hostnameAndPort}

Nombre de host y puerto de cada host al que se aplica la alerta. Puede ser un nombre de host, un FQDN, una dirección IPv4 o una dirección IPv6.

${humanReadable}

Descripción legible por humanos de la alerta.

${id}

Identificador único para la alerta.

${lastNotified}

Marca de tiempo en formato ISO 8601 de fecha y hora en UTC cuando se envió la última notificación para esta alerta.

${links}

(Matriz de objetos) Uno o más enlaces a subrecursos y/o recursos relacionados.

${links[i].rel}

Describe el tipo de relación del recurso enlazado (por ejemplo, self para el recurso actual).

${links[i].href}

Enlace al recurso.

${metricName}

Nombre de la medida cuyo valor salió del umbral.

${orgId}

Identificador único de la organización para la que se abrió esta alerta.

${orgName}

Nombre de la organización para la que se abrió esta alerta.

${projectName}

Nombre del proyecto (grupo) para el que se abrió esta alerta.

${replicaSetName}

Nombre del conjunto de réplicas.

${requestId}

Identificador único de la solicitud. (Encabezado predeterminado: X-Mms-Request-Id).

${resolved}

Marca de tiempo en formato ISO 8601 de fecha y hora en UTC cuando se cerró la alerta.

${signature}

Solicitar firma, solo disponible en la plantilla de encabezados. (Encabezado predeterminado: X-Mms-Signature).

${status}

Estado actual de la alerta (TRACKING | OPEN | CLOSED | CANCELLED | INFORMATIONAL)

${sourceTypeName}

Tipo de host del que se realiza la copia de seguridad cuando eventTypeName : BACKUP

${tags}

Etiquetas de identificación establecidas para esta alerta.

${updated}

Marca de tiempo en formato ISO 8601 de fecha y hora en UTC cuando se actualizó la alerta por última vez.

Además, hay un ayudante personalizado disponible, el ayudante re, que le permite utilizar expresiones regulares para extraer datos del texto dentro de sus plantillas.

  • re.group(input, regex, group)

    Devuelve el grupo de captura especificado de la primera coincidencia. Si no hay coincidencia, devuelve una cadena vacía.

    Ejemplo: ${re.group("abc-123", "([a-z]+)-(\\d+)", 2)}123

  • re.findAllGroup(input, regex, group)

    Devuelve una lista de todas las coincidencias del grupo.

    Ejemplo:

    <#list re.findAllGroup("error1:12;error2:98;error3:33", "error\\d+:(\\d+)", 1) as val>${val} </#list>

    Salidas: 12 98 33

Nota

El índice del grupo se basa en 1. Si no se encuentran coincidencias, devuelve una cadena vacía o una lista vacía.

{
"X-Static": "static-value",
"X-Secret": "${signature}",
"X-Request-Id": "${requestId}",
"X-Event": "${event}",
"X-Org-Name": "${orgName!''}",
"X-Test-Regex-Helper": "${re.group(\"abc-123\", \"([a-z]+)-(\\d+)\", 2)}"
}
{
"staticValue": "This value is static",
"testRegexHelper": [
<#list re.findAllGroup("error1:12;error2:98;error3:33", "error\\d+:(\\d+)", 1) as val> "${val}"<#if val_has_next>,</#if></#list>
],
"replicaSetName": "${replicaSetName!''}",
"metricName": "${metricName!''}",
"orgName": "${orgName!''}",
"created": "${created!''}",
"groupId": "${groupId!''}",
"hostId": "${hostId!''}",
"hostnameAndPort": "${hostnameAndPort!''}",
"humanReadable": "${humanReadable?js_string}",
"orgId": "${orgId!''}",
"alertConfigId": "${alertConfigId!''}",
"eventTypeName": "${eventTypeName!''}",
"links": [
<#list links![] as link>
{
"rel": "${link.rel!''}",
"href": "${link.href!''}"
}<#if link_has_next>,</#if>
</#list>
],
"id": "${id!''}",
"projectName": "${projectName!''}",
"updated": "${updated!''}",
"currentValue": {
"number": ${(currentValue.number)!0},
"units": "${(currentValue.units)!''}"
},
"status": "${status!''}"
}

Después de configurar las plantillas de webhook, puede probarlas con el botón Test Alert en la interfaz de configuración de alertas. Esto envía una notificación de prueba con datos de muestra para verificar que la plantilla se renderiza correctamente.

Volver

Alertas del sistema

En esta página