Personalización de notificaciones de alerta mediante Logic Apps

En este artículo se muestra cómo crear una aplicación lógica e integrarla con una alerta de Azure Monitor.

Puede usar Azure Logic Apps para crear y personalizar flujos de trabajo para la integración. Use Logic Apps para personalizar las notificaciones de alerta. Puede:

  • Personalice el correo electrónico de alertas usando su propio asunto de correo electrónico y formato de cuerpo.
  • Personalice los metadatos de alerta mediante la búsqueda de etiquetas para los recursos afectados o la captura de un resultado de búsqueda de consulta de registro. Para obtener información sobre cómo acceder a las filas de resultados de búsqueda que contengan datos de alertas, consulte:
  • Integre con servicios externos mediante conectores existentes, como Outlook, Microsoft Teams, Slack y PagerDuty. También puede configurar la aplicación lógica para sus propios servicios.

Este ejemplo crea una aplicación lógica que usa el esquema de alertas comunes para enviar detalles desde la alerta.

Creación de una aplicación lógica

  1. En el Azure Portal, cree una nueva aplicación lógica. En la barra de Búsqueda de la parte superior de la página, escriba Aplicación lógica.

  2. En la página Aplicación lógica, seleccione Agregar.

  3. Seleccione la Suscripción y el Grupo de recursos de la aplicación lógica.

  4. Establezca el Nombre de la aplicación lógica. En Tipo de plan, seleccione Consumo.

  5. Seleccione Revisar y crear>Crear.

  6. Una vez terminada la implementación, seleccione Ir al recurso.

    Captura de pantalla que muestra la página Crear aplicación lógica.

  7. En la página Diseñador de Logic Apps, seleccione Cuando se recibe una solicitud HTTP.

    Captura de pantalla que muestra la ventana Diseñador de Logic Apps.

  8. Pegue el esquema de alerta común en el campo Esquema JSON del cuerpo de la solicitud del siguiente JSON:

     {
        "type": "object",
        "properties": {
            "schemaId": {
                "type": "string"
            },
            "data": {
                "type": "object",
                "properties": {
                    "essentials": {
                        "type": "object",
                        "properties": {
                            "alertId": {
                                "type": "string"
                            },
                            "alertRule": {
                                "type": "string"
                            },
                            "severity": {
                                "type": "string"
                            },
                            "signalType": {
                                "type": "string"
                            },
                            "monitorCondition": {
                                "type": "string"
                            },
                            "monitoringService": {
                                "type": "string"
                            },
                            "alertTargetIDs": {
                                "type": "array",
                                "items": {
                                    "type": "string"
                                }
                            },
                            "originAlertId": {
                                "type": "string"
                            },
                            "firedDateTime": {
                                "type": "string"
                            },
                            "resolvedDateTime": {
                                "type": "string"
                            },
                            "description": {
                                "type": "string"
                            },
                            "essentialsVersion": {
                                "type": "string"
                            },
                            "alertContextVersion": {
                                "type": "string"
                            }
                        }
                    },
                    "alertContext": {
                        "type": "object",
                        "properties": {}
                    }
                }
            }
        }
    }
    

    Captura de pantalla que muestra la pestaña Parámetros del panel Cuando se recibe una solicitud HTTP.

  9. (Opcional). Para personalizar la notificación de alerta, extraiga información sobre el recurso afectado en el que se desencadenó la alerta, por ejemplo, las etiquetas del recurso. A continuación, puede incluir esas etiquetas de recursos en la carga de alerta y usar la información de las expresiones lógicas para enviar las notificaciones. Para realizar este paso, vamos a:

    • Crear una variable para los identificadores de recursos afectados.
    • Dividir el identificador de recurso en una matriz para que podamos usar sus distintos elementos (por ejemplo, suscripción y grupo de recursos).
    • Usar el conector de Azure Resource Manager para leer los metadatos del recurso.
    • Capturar las etiquetas del recurso que se pueden usar en los pasos posteriores de la aplicación lógica.
    1. Seleccione +>Agregar una acción para insertar un nuevo paso.

    2. En el campo Buscar, busque y seleccione Inicializar variable.

    3. En el campo Nombre, escriba el nombre de la variable, como AffectedResource.

    4. En el campo Tipo, seleccione Matriz.

    5. En el campo Valor, seleccione Agregar contenido dinámico. Seleccione la pestaña Expresión y escriba la cadena split(triggerBody()?['data']?['essentials']?['alertTargetIDs'][0], '/').

      Captura de pantalla que muestra la pestaña Parámetros del panel Inicializar variable.

    6. Seleccione +>Agregar una acción para insertar otro paso.

    7. En el campo Buscar, busque y seleccione Azure Resource Manager y, a continuación, >Leer un recurso.

    8. Rellene los campos de la acción Leer un recurso con los valores de matriz de la variable AffectedResource. En cada uno de los campos, seleccione el campo y desplácese hacia abajo hasta Especificar un valor personalizado. Seleccione Agregar contenido dinámico y, a continuación, seleccione la pestaña Expresión. Escriba las cadenas de esta tabla:

      Campo Valor de cadena
      Subscription variables('AffectedResource')[2]
      Grupo de recursos variables('AffectedResource')[4]
      Proveedor de recursos variables('AffectedResource')[6]
      Identificador de recurso corto concat(variables('AffectedResource')[7], '/', variables('AffectedResource')[8])
      Versión de API del cliente Versión de API del tipo de recurso

      Para buscar la versión de API del tipo de recurso, seleccione el vínculo Vista JSON en la parte superior derecha de la página de información general del recurso. La página JSON de recurso se muestra con el resourceID y la versión de API en la parte superior de la página.

    El contenido dinámico ahora incluye etiquetas del recurso afectado. Puede usar esas etiquetas al configurar las notificaciones como se describe en los pasos siguientes.

  10. Envíe un correo electrónico o publique un mensaje de Teams.

  11. Seleccione +>Agregar una acción para insertar un nuevo paso.

    Captura de pantalla que muestra los parámetros de Cuando se recibe una solicitud HTTP.

  1. En el campo de búsqueda, busque Outlook.

  2. Seleccione Office 365 Outlook.

    Captura de pantalla que muestra la página Agregar acción del Diseñador de Logic Apps con Office 365 Outlook seleccionado.

  3. Seleccione Enviar un correo electrónico (V2) de la lista de acciones.

  4. Inicie sesión en Office 365 cuando se le pida que cree una conexión.

  5. Cree el cuerpo del correo electrónico escribiendo texto estático e incluyendo el contenido tomado de la carga de alerta eligiendo campos de la lista Contenido dinámico. Por ejemplo:

    • Una alerta tiene la condición de supervisión: Seleccione monitorCondition en la lista Contenido dinámico.
    • Fecha desencadenada: Seleccione firedDateTime en la lista Contenido dinámico.
    • Recursos afectados: Seleccione alertTargetIDs en la lista Contenido dinámico.
  6. En el campo del asunto, cree el asunto del correo electrónico escribiendo texto estático e incluyendo el contenido tomado de la carga de alerta eligiendo campos de la lista Contenido dinámico. Por ejemplo:

    • Alerta: Seleccione alertRule en la lista Contenido dinámico.
    • con gravedad: Seleccione gravedad en la lista Contenido dinámico.
    • tiene condición: Seleccione monitorCondition en la lista Contenido dinámico.
  7. Escriba la dirección de correo electrónico a la que enviar la alerta en el campo Para.

  8. Seleccione Guardar.

    Captura de pantalla que muestra la pestaña Parámetros en el panel Enviar un correo electrónico.

Ha creado una aplicación lógica que envía un correo electrónico a la dirección especificada, con detalles de la alerta que la desencadenó.

El siguiente paso es crear un grupo de acciones para desencadenar la aplicación lógica.

Creación de un grupo de acciones

Para desencadenar la aplicación lógica, cree un grupo de acciones. A continuación, cree una alerta que use ese grupo de acciones.

  1. Vaya a la página de Azure Monitor y seleccione Alertas en el panel a la izquierda.

  2. Seleccione Grupos de acciones>Crear.

  3. Seleccione los valores de Suscripción, Grupo de recursos y Región.

  4. Escriba un nombre para Nombre de grupo de acciones y Nombre para mostrar.

  5. Seleccione la pestaña Acciones.

    Captura de pantalla que muestra la pestaña Acciones de la página Crear un grupo de acciones.

  6. En la pestaña Acciones, en Tipo de acción, seleccione Aplicación lógica.

  7. En la sección Aplicación lógica, seleccione la aplicación lógica en la lista desplegable.

  8. Establezca Habilitar el esquema de alerta común en . Si selecciona No, el tipo de alerta determina qué esquema de alerta se usa. Para obtener más información sobre los esquemas de alertas, consulte Esquemas de alertas específicos del contexto.

  9. Seleccione Aceptar.

  10. Escriba un nombre en el campo Nombre.

  11. Seleccione Revisar y crear>Crear.

    Captura de pantalla que muestra la pestaña Acciones de la página Crear un grupo de acciones y el panel Aplicación lógica.

Pruebe su grupo de acciones

  1. Seleccione su grupo de acciones.

  2. En la sección Aplicación lógica, seleccione Probar grupo de acciones (versión preliminar).

    Captura de pantalla que muestra una página de detalles del grupo de acciones con la opción Probar grupo de acciones.

  3. Seleccione un tipo de alerta de ejemplo en la lista desplegable Seleccionar tipo de ejemplo.

  4. Seleccione Probar.

    Captura de pantalla que muestra una página de Prueba de detalles del grupo de acciones.

    El correo electrónico siguiente se envía a la cuenta especificada:

    Captura de pantalla que muestra un correo electrónico de ejemplo enviado por la página de prueba.

Creación de una regla mediante el grupo de acciones

  1. Cree una regla para uno de los recursos.

  2. En la pestaña Acciones de la regla, elija Seleccionar grupos de acciones.

  3. Seleccione su grupo de acciones de la lista.

  4. Elija Seleccionar.

  5. Finalice la creación de la regla.

    Captura de pantalla que muestra la pestaña Acciones en el panel Crear una regla de alertas y el panel Seleccionar grupos de acciones.

Pasos siguientes