Todos los productos
Search
Centro de documentos

Application Real-Time Monitoring Service:Integración de alertas personalizadas

Última actualización: Sep 04, 2026

La API de gestión de alertas de ARMS permite ingerir alertas desde cualquier origen hacia ARMS para su procesamiento centralizado.

Paso 1: Crear una integración personalizada

  1. Inicie sesión en la consola de ARMS. En el panel de navegación izquierdo, seleccione Alert Management > Integrations.

  2. En la pestaña Alert Integration, haga clic en Custom Integration.

  3. En el cuadro de diálogo Create Custom Event Integration, introduzca un nombre para la integración, establezca el tiempo de recuperación automática de la alerta, agregue una descripción según sea necesario y luego haga clic en Save and Configure.

    Nota

    Tiempo de recuperación automática tras agotamiento del tiempo de espera: si no se vuelve a desencadenar un evento de alerta dentro del periodo especificado, el evento de alerta se borra automáticamente.

Paso 2: Configurar el endpoint de la API

Envíe alertas desde su origen de terceros a la gestión de alertas de ARMS mediante la URL de endpoint de la API proporcionada.

  1. En la página Edit Integration, dentro de la sección API Configuration, copie la URL del endpoint y la clave de la API.

  2. Desde su origen de alertas de terceros, utilice la URL del endpoint para reportar el contenido de la alerta.

    Ejemplo:

    curl -k -H "Content-Type: application/json" -d '{
      "trigger-type": "network",
      "trigger-location": "cn-hangzhou",
      "trigger-severity": "MAX",
      "trigger-policy": "package errors > 5%",
      "trigger-event": "inbound tcp package errors is 20%",
      "trigger-check": "tcp package error percentage",
      "trigger-value": "20",
      "trigger-time": "1629702922000",
      "metadata": [
        {
          "agent": "SERVER",
          "ip": "141.219.XX.XX",
          "fqdn": "websrv1.damenport.org",
          "microServiceId": "ms-login-2251",
          "accountId": "1504000433993",
          "service": "login-0"
        },
        {
          "agent": "CONTAINER",
          "ip": "172.1.XX.XX",
          "fqdn": "websrv2.damenport.org",
          "microServiceId": "ms-login-2252",
          "accountId": "129930302939",
          "service": "login-1"
        }
      ],
      "equipments": [
        {
          "equipmentId": "112"
        },
        {
          "equipmentId": "113"
        }
      ]
    }' "https://alerts.aliyuncs.com/api/v1/integrations/custom/ymQBN******"

    La primera vez que ejecute el comando curl, se espera que devuelva el siguiente error:

    { "requestId":null,"traceId":"0bc3b4a********71e4aa7","code":601,"data":{},"success":false,"errorCode":"Invalid incident, labels.alertname is required","message":"Invalid incident, labels.alertname is required","httpStatusCode":601,"errorCodeParams":null,"dynamicMessage":null

    Una vez completada la asignación en

    Step 3

    y ejecutado el comando nuevamente, se devolverán los datos correctos.

    También puede reportar alertas enviando datos de prueba. La primera vez que lo haga, aparecerá un mensaje que le indicará completar la asignación en Step 3.

    En la ventana emergente

    Send Test Data

    , después de hacer clic en

    Send

    por primera vez, la página mostrará el mensaje

    Upload successful, but no event was generated. Please configure event mapping rules based on the raw data!

    Siga esta indicación para completar la asignación en el Paso 3.

Paso 3: Configurar la asignación de campos de alerta

En la sección Event Mapping, asigne los campos del origen de alertas de terceros a los campos de eventos de alerta de ARMS.

Esta sección utiliza un ejemplo para ilustrar el proceso.

Escenario: ocurrió un error de paquete TCP en la red de la máquina.

Contenido de la alerta de terceros:

{
  "trigger-type": "network",    // Event type: network.
  "trigger-location": "cn-hangzhou",    // Region where the event occurred.
  "trigger-severity": "MAX",    // Custom event severity level, such as MAX, MID, or LOW.
  "trigger-policy": "package errors > 5%",     // Trigger policy.
  "trigger-event": "inbound tcp package errors is 20%",    // Event content: The inbound TCP package error rate for the service is 20%.
  "trigger-check": "tcp package error percentage",    // Event check item: TCP package error rate.
  "trigger-value": "20",    // Alert sample value.
  "trigger-time": "1629702922000",    // Alert start time.
  "metadata": [
    {
      "agent": "SERVER",    // Agent type: server.
      "ip": "141.219.XX.XX",   // IP address.
      "fqdn": "websrv1.damenport.org",    // Service domain name information.
      "microServiceId": "ms-login-2251",    // Microservice ID. If 'agent' is 'CONTAINER', this field is conditionally mapped to the ARMS 'service' field.
      "accountId": "1504000433993",    // User ID. Not included in the alert notification.
      "service": "login-0" // Service ID. If 'agent' is 'SERVER', this field is conditionally mapped to the ARMS 'service' field.
    },
    {
      "agent": "CONTAINER",   // Agent type: container.
      "ip": "172.1.XX.XX",  // IP address.
      "fqdn": "websrv2.damenport.org",    // Service domain name information.
      "microServiceId": "ms-login-2252",   // Microservice ID. If 'agent' is 'CONTAINER', this field is conditionally mapped to the ARMS 'service' field.
      "accountId": "129930302939",  // User ID. Not included in the alert notification.
      "service": "login-1"    // Service ID. If 'agent' is 'SERVER', this field is conditionally mapped to the ARMS 'service' field.
    }
  ],
  "equipments": [  // Another array node.
    {
      "equipmentId": "112"
    },
    {
      "equipmentId": "113"
    }
  ]
}
  1. En la sección Event Mapping, haga clic en Send Test Data.

  2. En el cuadro de diálogo Send Test Data, introduzca el contenido de la alerta desde su origen de terceros en formato JSON y luego haga clic en Send.

    Nota
    • Si aparece el mensaje Uploaded. No events are generated. Configure mappings based on the original data., significa que los campos del origen de la alerta no están asignados a los campos de los eventos de alerta de ARMS. Los datos enviados se muestran en el cuadro izquierdo, lo que le permite seleccionar los campos de origen al configurar las asignaciones.

    • Si aparece el mensaje Uploaded., el contenido de la alerta se reporta en la página de historial de eventos de alerta. Para obtener más información, consulte View alert event history.

  3. En el cuadro de diálogo Send Test Data, haga clic en Disable.

  4. En la parte izquierda de la sección Event Mapping, haga clic en los registros de datos para los que desea configurar asignaciones a fin de ver los detalles.

  5. En el panel derecho de la sección Event Mapping, configure la asignación entre los campos del origen de la alerta y los campos de alerta de ARMS.

    Nota

    Si no recibe una notificación o correo electrónico de recuperación después de resolver una alerta, compruebe lo siguiente:

    1. Confirme que el evento de recuperación y el evento de alerta original se enviaron a través del mismo canal de integración personalizada.

    2. Confirme que la alerta original aún se encuentra en estado Triggered y que no se ha recuperado automáticamente por agotamiento del tiempo de espera ni se ha cerrado manualmente.

    3. Compruebe que el valor alertname en el evento de recuperación coincida exactamente con el valor alertname de la alerta original.

    1. Opcional: En la sección Select Root Node, especifique si desea utilizar procesamiento por lotes.

      Si sus datos de alerta contienen una matriz, puede especificarla como nodo raíz para el procesamiento por lotes.

      Después de seleccionar Use Batch Processing, seleccione el nodo de matriz que desea procesar en lote como nodo raíz.

      Nota

      Si los datos de alerta contienen varios nodos de matriz, la gestión de alertas de ARMS solo permite seleccionar un nodo de matriz para el procesamiento por lotes.

      Por ejemplo, en la alerta de muestra, el nodo de matriz metadata contiene dos campos service. Si selecciona metadata como nodo raíz, los dos campos service bajo este nodo se asignarán al mismo campo de alerta de ARMS especificado.

      • Si selecciona un nodo raíz, puede asignar iterativamente los valores del atributo $.metadata[*].service para todos los elementos de la matriz al campo service de ARMS.

      • Si no selecciona un nodo raíz, puede asignar el valor de un elemento específico, como $.metadata[0].service o $.metadata[1].service, al campo service de ARMS.

    2. Opcional:Seleccione Configure Alert Recovery Events y configure las condiciones de campo para borrar alertas.

      Después de que ARMS recibe eventos, busca alertas que contengan valores de campo específicos y borra dichas alertas. El campo que especifique para borrar alertas debe ser equivalente a la severidad de la alerta en el evento. No puede utilizar el campo $.severity para borrar alertas. Por ejemplo, si el campo que especifica para borrar alertas es {$.eventType ="resolved"}, el sistema borrará automáticamente todas las alertas cuyo valor de eventType sea resolved en la integración.

    3. En la sección Map Source Fields to Target Fields, asigne los campos del origen de la alerta a los campos de alerta de ARMS.

      Haga clic en el icono de asignación para cambiar el método de asignación de campos.

      • Directa: el campo de origen de la alerta especificado se asigna directamente al campo de alerta de ARMS correspondiente.

      • Serie: combina varios campos de origen en uno solo, separados por un delimitador, y asigna el resultado a un campo de alerta de ARMS. Solo se admiten caracteres especiales como delimitadores.

        Por ejemplo, puede usar un guion bajo (_) para concatenar los campos $.trigger-type y $.trigger-policy en $.trigger-type_$.trigger-policy y luego asignar el resultado al campo alertname de ARMS.

      • Condición: asigna un campo de origen al campo de destino de ARMS solo cuando se cumple una condición especificada.

        Por ejemplo, para el campo agent en el nodo de matriz metadata, puede establecer la siguiente condición: si el valor de agent es CONTAINER, asigne el valor del atributo microServiceId al campo service de ARMS (condición If). Si el valor de agent es SERVER, asigne el valor del atributo service al campo service de ARMS (condición Else If).

      • Tabla de asignación: establece una asignación entre los niveles de severidad de la alerta del origen y los niveles de severidad en ARMS. La tabla de asignación solo es obligatoria para el campo de severidad.

      La siguiente tabla describe los campos de alerta de ARMS.

      Parámetro Descripción Método de asignación de ejemplo Campo de origen de ejemplo
      alertname El nombre de la alerta personalizada. Serie $.trigger-type, $.trigger-policy
      severity Campo para asignar niveles de severidad de alerta. Debe configurar una tabla de asignación para este campo y el método de asignación debe establecerse en Directa. Método: Directa (obligatorio)

      Tabla de asignación:

      • MAX: P1
      • MID: P2
      • MIN: P3
      $.trigger-severity
      message Información detallada sobre el evento de alerta, utilizada en notificaciones. Longitud máxima: 15,000 caracteres. Directa $.trigger-event
      value El valor de muestra de una métrica. Directa $.trigger-value
      imageUrl La URL de un gráfico de líneas de métricas, utilizada para asignar gráficos de métricas de Grafana. Ninguna Ninguna
      check El elemento de comprobación de la alerta. Ejemplos: CPU, JVM, Application Crash y Deployment. Directa $.trigger-check
      source El origen del evento de alerta. Directa $.metadata[*].ip
      class El tipo de objeto del evento de alerta, como un host. Directa $.trigger-type
      service El servicio de origen relacionado con el negocio, como logService. Condición
      • Si $.metadata[*].agent es CONTAINER, asigne $.metadata[*].microServiceId al campo service de ARMS.
      • Si $.metadata[*].agent es SERVER, asigne $.metadata[*].service al campo service de ARMS.
      startat La marca de tiempo de inicio del evento. Directa $.trigger-time
      endat La marca de tiempo de finalización del evento. Ninguna Ninguna
      generatorUrl La URL para los detalles del evento. Ninguna Ninguna
      Nota

      Si utiliza el modo de alerta de múltiples condiciones (donde una sola regla de alerta incluye varias condiciones) y observa que la predicción del recuento de alertas muestra 0 o que el gráfico presenta anomalías en los datos, revise sus asignaciones de campos. Asegúrese de que tanto los campos alertname como severity estén asignados correctamente y de que las etiquetas del evento estén completas. Las asignaciones incompletas o incorrectas en el modo de alerta de múltiples condiciones pueden provocar que la predicción del recuento de alertas devuelva 0 o que los datos del gráfico se muestren incorrectamente.

Paso 4: Configurar la deduplicación de eventos

Para reducir datos redundantes, el sistema utiliza campos específicos como base para la deduplicación de eventos. La gestión de alertas de ARMS le permite previsualizar los resultados de agrupación por deduplicación para los datos de eventos históricos en la sección Event Mapping. Puede ajustar los campos de deduplicación según sea necesario.

Nota

Solo puede configurar la deduplicación para eventos que no han sido borrados.

  1. En la sección Event Deduplication, seleccione los campos que se utilizarán para la deduplicación.

    Cuando varios eventos tienen los mismos valores para los campos seleccionados, se fusionan en una única notificación de alerta.

    Por ejemplo, establezca los campos source y check de ARMS como claves de deduplicación. En el escenario de ejemplo, el campo $.metadata[*].ip del origen de alerta de terceros se asigna al campo source de ARMS, y el campo $.trigger-check se asigna al campo check de ARMS. Como resultado, los eventos con la misma dirección IP y elemento de comprobación se fusionan en un solo evento, mientras que los eventos con diferentes direcciones IP o elementos de comprobación permanecen separados.

  2. Haga clic en Deduplication Test para previsualizar los grupos de alertas después de la deduplicación.

    Nota

    La prueba de deduplicación se aplica a los últimos 10 registros de datos de prueba cargados en el panel izquierdo de la sección

    Event Mapping.

    En el área

    Select fields for deduplication

    , seleccione

    source

    y

    check

    , y luego haga clic en

    Deduplication Test

    . Los resultados de la prueba se agrupan según los campos seleccionados. Por ejemplo, los eventos se dividen en dos grupos basados en diferentes direcciones IP de origen (141.219.xxx y 172.1.xxx) y el mismo elemento de comprobación (tcp package error percentage). Los eventos de alerta dentro de cada grupo tienen los mismos valores para los campos source y check.

  3. Una vez completada la configuración, haga clic en Save.

Resultados

Una vez completada la configuración, la página Integrations muestra la integración personalizada que creó.

La lista de integraciones muestra información como el nombre, la URL del endpoint, el tipo, la hora de creación y el estado de la integración personalizada. Puede hacer clic en

Copy

junto a la URL del endpoint para copiarla. La columna Actions proporciona operaciones como

Edit

,

Delete

y

Disable

.

Gestionar integraciones

En el panel de navegación izquierdo, seleccione Alert Management > Integrations. En la pestaña Alert Integration, puede realizar las siguientes operaciones en las integraciones que haya creado:

  • Consultar los detalles de una integración: localice la integración y haga clic en la fila. En la página Integration Details, consulte los detalles de la integración.

  • Actualizar la clave: en la columna Actions de la integración objetivo, seleccione More > Update Key. En el cuadro de diálogo que aparece, haga clic en Confirm.

    Importante

    Después de actualizar la clave, también debe actualizar la URL del endpoint en el origen de la alerta tal como se describe en

    Step 2

    .

  • Modificar una integración: localice la integración y haga clic en Edit en la columna Actions. En la página Integration Details, modifique la información de la integración y luego haga clic en Save.

  • Habilitar o deshabilitar una integración: localice la integración y haga clic en Disable o Enable en la columna Actions.

  • Eliminar una integración: localice la integración y haga clic en Delete en la columna Actions. En el mensaje que aparece, haga clic en OK.

  • Agregar un flujo de procesamiento de eventos a una integración: localice la integración y haga clic en Add Event Processing Flow en la columna Actions. Para obtener más información, consulte Event processing flow.

  • Crear una política de notificación: localice la integración para la cual desea crear una política de notificación y haga clic en More en la columna Actions. En la lista que aparece, haga clic en Create Notification Policy. Para obtener más información, consulte Notification policies.

Siguientes pasos

Después de crear una política de notificación, el sistema genera alertas y envía notificaciones para los eventos de alerta reportados basándose en la política de notificación que configuró. Para obtener más información, consulte Notification policies. En la página Alert Sending History, puede consultar las alertas generadas según la política de notificación configurada. Para obtener más información, consulte View alert sending history.