Configura políticas de alertas basadas en registros

Puedes configurar una política de alertas para que te notifique cuando un mensaje específico en tus registros incluidos. Por ejemplo, si quieres saber cuándo se de registro de auditoría registra un mensaje de acceso a los datos específico, puedes obtener una notificación cuando aparece el mensaje. Estos tipos de políticas de alertas se denominan políticas de alertas basadas en registros. En este documento, se describe cómo hacer lo siguiente: con la consola de Google Cloud y la API de Cloud Monitoring:

  • Crear y probar una política de alertas basada en registros
  • Edita una política de alertas basada en registros.
  • Borrar una política de alertas basada en registros

Antes de comenzar

Consulta Comparación de alertas para determinar si se basan en registros las políticas de alertas son una buena opción para los datos de tus registros. Por ejemplo:

  • Las políticas de alertas basadas en registros no operan en registros excluidos.

  • No puedes usar políticas de alertas basadas en registros para derivar recuentos de tus registros. Para derivar recuentos, debes usar métricas basadas en registros en su lugar.

Para crear y administrar políticas de alertas basadas en registros, tu rol de Identity and Access Management debe incluir los permisos descritos en Permisos para políticas de alertas basadas en registros.

Crea una política de alertas basada en registros con el Explorador de registros

Puedes crear una política de alertas basada en registros desde la página Explorador de registros en la consola de Google Cloud o con la API de Monitoring. Esta sección se describe cómo crear políticas de alertas basadas en registros con el Explorador de registros. Para obtener más información sobre la API de Monitoring, consulta Crea una política de alertas basada en registros con la API de Monitoring.

La interfaz del Explorador de registros te guía a través de los siguientes pasos:

  • Proporciona un nombre y una descripción para la política de alertas.
  • Elige los registros para los que quieres recibir notificaciones.
  • Establece el tiempo entre notificaciones.
  • Establece el tiempo para el cierre automático de incidentes.
  • Especifica a quién notificar.

Por ejemplo, supongamos que tienes una aplicación que escribe un syslog. entrada de registro con gravedad NOTICE cuando la aplicación cambia una dirección de red. Las entradas de registro para los cambios de dirección de red incluyen una carga útil de JSON que busca de la siguiente manera:

"jsonPayload": {
  "type": "Configuration change",
  "action": "Set network address",
  "result": "IP_ADDRESS",
}

Deseas crear una política de alertas basada en registros que Cuando aparece una dirección IPv4 no válida en el campo jsonPayload.result de entradas de registro en syslog con una gravedad NOTICE.

Para crear esta política de alertas, haz lo siguiente:

  1. En la consola de Google Cloud, ve a la página Explorador de registros.

    Ir al Explorador de registros

    Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Logging.

  2. Usa el panel Consulta para crear una consulta que coincida con el mensaje que deseas. para usarlos en la política de alertas basada en registros.

    Por ejemplo, para encontrar entradas de registro con un nivel de gravedad de NOTICE en el syslog con direcciones IP no válidas en la carga útil de JSON, puedes usa la siguiente consulta:

    log_id("syslog")
    severity = "NOTICE"
    jsonPayload.result !~ "^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\.|$)){4}$"
    

    Usa Ejecutar consulta en el panel Resultados de la consulta para validar la consulta.

  3. En el encabezado del panel Resultados de la consulta, haz clic en  Crear alerta. Cuando la ventana esté específicas, la opción Crear alerta podría aparecer en la pestaña Acciones en su lugar.

  4. En el panel Detalles de la alerta, asigna un nombre a la política de alertas y descripción:

    1. Ingresa un nombre para tu política de alertas en el campo Nombre de la política de alertas. Por ejemplo, “Dirección de red: valor IPv4 no válido”.

    2. Selecciona una opción del menú Nivel de gravedad de la política. Incidentes e las notificaciones muestran el nivel de gravedad.

    3. Ingresa una descripción para tu política de alertas. También puedes incluir información que podría ayudar al destinatario de una notificación a diagnosticar el problema. La siguiente cadena resume el motivo de la notificación:

      Log-based alerting policy in project ${project} detected an invalid IPv4 value.
      

      Para obtener información sobre cómo adaptar el contenido y darle formato de este campo, consulta Usa Markdown y variables en la documentación plantillas.

  5. Para avanzar al paso siguiente, haz clic en Siguiente.

  6. En el panel Elegir registros para incluir en el alerta, haz clic en Obtener vista previa de los registros para verificar la consulta y los resultados.

    Recomendamos compilar la consulta en el panel Consulta del Explorador de registros. También se muestra la consulta que creaste en el panel Consulta panel, por ejemplo:

    log_id("syslog")
    severity = "NOTICE"
    jsonPayload.result !~ "^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\.|$)){4}$"
    

    Si es necesario, puedes editar la consulta en este panel. Si editas consulta y, luego, verifica los resultados haciendo clic en Obtener vista previa de los registros.

  7. Haz clic en Siguiente.

  8. Selecciona el tiempo mínimo entre notificaciones. Este valor te permite controlar la cantidad de notificaciones que recibes Supervisa si se cumple esta condición varias veces. Para este ejemplo, selecciona 5 min en las opciones.

  9. Opcional: Selecciona la duración del cierre automático del incidente. De forma predeterminada, el incidente la duración del cierre automático se estableció en 7 días.

  10. Haz clic en Siguiente.

  11. Selecciona uno o más canales de notificaciones para tu política de alertas. Para este ejemplo, selecciona un canal de notificaciones por correo electrónico.

    Si ya tienes configurado un canal de notificaciones por correo electrónico, puedes seleccionarlo de la lista. Si no es así, haz clic en Administrar canales de notificaciones y agrega un canal de correo electrónico. Para obtener información sobre la creación de notificaciones canales, consulta Crea y administra canales de notificaciones.

  12. Haz clic en Guardar.

Tu política de alertas basada en registros ya está lista para probarla.

Prueba el ejemplo de política de alertas basada en registros

Para probar la política de alertas que creaste, puedes escribir una entrada de registro de forma manual que coincida con la consulta. Para escribir la entrada de registro, haz lo siguiente:

  1. Para configurar la siguiente entrada de registro, cambia la variable PROJECT_ID al ID del proyecto:

    {
      "entries": [
      {
        "logName": "projects/PROJECT_ID/logs/syslog",
        "jsonPayload": {
          "type": "Configuration change",
          "action": "Set network address",
          "result": "999.027.405.1",
        },
        "severity": "NOTICE",
        "resource": {
          "type": "generic_task",
          "labels" : {
            "project_id": "PROJECT_ID",
            "location": "us-east1",
            "namespace": "fake-task-2",
            "job": "write-log-entry",
            "task_id": "11",
          },
        },
      },
      ],
    }
    
  2. Ve a la página de referencia de logEntries.write o haz clic en el siguiente botón:

    Ve a logEntries.write

  3. Copia la entrada de registro que configuraste anteriormente.

  4. En el panel Prueba esta API, haz lo siguiente:

    1. Reemplaza el contenido del campo Cuerpo de la solicitud. en el Explorador de APIs con la entrada de registro que copiaste en el paso anterior.

    2. Haz clic en Ejecutar. Si se te solicita, sigue el flujo de autenticación.

      Si la llamada a logEntries.write se realiza correctamente, obtendrás un 200 HTTP. y un cuerpo de respuesta vacío, {}. Más información sobre el Explorador de APIs, consulta Cómo usar el Explorador de APIs en la documentación de Monitoring; el Explorador de APIs funciona de la misma manera con la API de Logging.

La entrada de registro coincide con el filtro especificado para la política de alertas de las siguientes maneras:

  • El valor logName especifica el registro syslog que se encuentra en tu proyecto de Google Cloud.
  • El valor severity de esta entrada de registro es NOTICE.
  • El valor jsonPayload.result no es una dirección IPv4 válida.

Después de escribir la entrada de registro, ocurre la siguiente secuencia:

  • La nueva entrada de registro aparecerá en el Explorador de registros. La entrada de registro cumple la condición de la política de alertas.
  • Se abre un incidente en Cloud Monitoring.
  • Recibes una notificación del incidente. Si configuraste una dirección de correo electrónico canal de notificaciones, la notificación se verá como siguiente captura de pantalla:

    La política de alertas basada en registros de ejemplo da como resultado una notificación por correo electrónico.

Puedes hacer clic en Ver incidente en el correo electrónico para consultarlo en Cloud Monitoring Para obtener más información sobre los incidentes, consulta Administra incidentes para políticas de alertas basadas en registros.

Otras situaciones: Alertas sobre registros de auditoría

El ejemplo de la sección titulada Crear una política de alertas basada en registros es artificial; no sueles crear una política de alertas y, luego, escribir entradas de registro que cumplan con la condición de la política de alertas. Por lo general, las entradas de registro las escriben aplicaciones y otros servicios. Pero el origen de las entradas de registro no importa; para políticas de alertas basadas en registros, lo que importa es la consulta que que usas para seleccionar las entradas de registro.

En las siguientes secciones, se describen situaciones realistas para las alertas basadas en registros. políticas basadas en el contenido de los registros de auditoría. Cada escenario ilustra cómo crear una consulta que seleccione las entradas de registro de auditoría adecuadas. De lo contrario, el procedimiento para crear políticas de alertas es lo mismo que se muestra en Crea una alerta basada en registros.

Políticas de alertas que supervisan el acceso humano a los secretos

Supongamos que tu proyecto almacena Secrets Secret Manager y algunos de estos Secrets están destinadas solo para el uso de las cuentas de servicio. Excepto en circunstancias inusuales, usuarios humanos nunca accedan a estos Secrets.

Si has habilitado el registro de auditoría para Secret Manager, cada uno un intento exitoso de acceso a un Secret crea una entrada de registro de auditoría. Cada entrada incluye el nombre del secreto y la identidad del emisor.

Puedes crear una política de alertas basada en registros que te notifique cuando un usuario humano accede a un Secret.

A continuación, se muestra un extracto de una entrada de registro de auditoría escrita por Secret Manager. El extracto muestra los campos que son útiles para Crea la consulta para una alerta basada en registros:

{
  "protoPayload": {
    "@type": "type.googleapis.com/google.cloud.audit.AuditLog",
    "serviceName": "secretmanager.googleapis.com",
    "methodName": "google.cloud.secretmanager.v1.SecretManagerService.AccessSecretVersion",
    "authenticationInfo": {
      "principalEmail": "my-svc-account@PROJECT_ID.iam.gserviceaccount.com",
      "serviceAccountDelegationInfo": [],
      "principalSubject": "serviceAccount:my-svc-account@PROJECT_ID.iam.gserviceaccount.com"
    },
    ...
  },
  ...
}

Los siguientes subcampos protoPayload son de especial interés:

  • @type: Indica que esta entrada de registro es una entrada de registro de auditoría.
  • serviceName: Registra el servicio que escribió la entrada de registro de auditoría. Usar esta para identificar las entradas que escribió Secret Manager.
  • methodName: Identifica el método para el que se aplicó esta entrada de registro de auditoría. escrita. Usa este campo para identificar la acción que provocó que se generara esta entrada crear. En este ejemplo, es el método AccessSecretVersion.
  • authenticationInfo.principalEmail: Registra la cuenta que invocó la en el campo methodName. El valor esperado para este campo es una de servicio, que termina en gserviceaccount.com.

Para encontrar entradas de registro para el acceso secreto de un usuario humano, busca para las entradas de registro de auditoría que escribió Secret Manager. Deseas busca las entradas de registro en las que invocó el método AccessSecretVersion una principal que no termina en gserviceaccount.com. La siguiente consulta aísla estas entradas de registro:

protoPayload.@type = "type.googleapis.com/google.cloud.audit.AuditLog"
protoPayload.serviceName = "secretmanager.googleapis.com"
protoPayload.methodName =~ "AccessSecretVersion$"
protoPayload.authenticationInfo.principalEmail !~ "gserviceaccount.com$"

Para crear una política de alertas basada en registros para el acceso humano a los Secrets, usa este consulta en el panel Choose logs to include in the alert.

Políticas de alertas que supervisan los eventos de desencriptación

El análisis del ejemplo anterior puede adaptarse a otros servicios. Por ejemplo, si usas Cloud Key Management Service para encriptar y desencriptar datos sensibles, puedes usar registros de auditoría generados por Cloud KMS para detectar cuándo un usuario humano desencripta un valor.

Para encontrar entradas de registro que un usuario humano puede desencriptar, busca para las entradas de registro de auditoría escritas por Cloud KMS. Quieres encontrar la entradas de registro en las que el método Decrypt invocó una principal que no termina en gserviceaccount.com, lo que indica una cuenta de servicio. La siguiente consulta aísla estas entradas de registro:

protoPayload.@type = "type.googleapis.com/google.cloud.audit.AuditLog"
protoPayload.serviceName = "cloudkms.googleapis.com"
protoPayload.methodName = "Decrypt"
protoPayload.authenticationInfo.principalEmail !~ "gserviceaccount.com$"

Para crear una política de alertas basada en registros para la desencriptación realizada por un usuario humano, usa esta consulta en el panel Choose logs to include in the alert.

Administra las políticas de alertas basadas en registros en Monitoring

Puedes ver, editar y borrar políticas de alertas basadas en registros con el la consola de Google Cloud para Monitoring API de Monitoring. En este documento, se describe cómo administrar políticas de alertas con la consola de Google Cloud. Información sobre el uso de la API de Monitoring para administrar las políticas de alertas, consulta Administra las políticas de alertas por API.

Para ver una lista de todas las políticas de alertas en tu proyecto de Google Cloud, realiza una de las siguientes acciones:

  • Para navegar desde Logging, haz lo siguiente:

    1. En la consola de Google Cloud, ve a la página Explorador de registros.

      Ir al Explorador de registros

      Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Logging.

    2. En el encabezado del panel Resultados de la consulta, Acciones y selecciona Administrar alertas.

  • Para navegar desde Monitoring, sigue estos pasos:

    1. En la consola de Google Cloud, ve a la página  Alertas.

      Ir a las Alertas

      Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Monitoring.

    2. Para ver todas las políticas y habilitar los filtros, en el panel Políticas, Haz clic en Ver todas las políticas.

Ambas acciones te llevan a las Políticas de Monitoring en la que se enumeran todas las políticas de alertas en tu proyecto de Google Cloud.

A fin de restringir las políticas de alertas que se enumeran, agrega filtros. Cada filtro se compone de un nombre y un valor. Por ejemplo: puede establecer que el valor sea una coincidencia exacta para el nombre de una política o una coincidencia parcial. Las coincidencias no distinguen mayúsculas de minúsculas. Si especificas varios filtros, los filtros se unen de forma implícita. con un AND lógico, a menos que insertes un filtro OR. En la siguiente captura de pantalla, se enumeran las políticas de alertas que están habilitadas y que se crearon después del 1 de enero de 2021:

Lista de políticas de alertas habilitadas creadas después del 1 de enero de 2021.

Desde la página Políticas, puedes editar, borrar, copiar, habilitar o inhabilitar una política de alertas:

  • Para editar o copiar una política, haz clic en Más opciones. y selecciona una opción. La edición y copia de una política es similar al procedimiento descrito en Crea una política de alertas basada en registros. Puedes cambiar y, en en algunos casos, borrar los valores en los campos. Cuando termines, haz clic en Guardar.

    También puedes editar una política de alertas basada en registros si haces clic en su nombre en la lista de políticas.

  • Para borrar una política, haz clic en Más opciones y selecciona Borrar. En el diálogo de confirmación, selecciona Borrar.

  • Para habilitar o inhabilitar la política de alertas, haz clic en el botón de activación ubicado en el encabezado Habilitada.

Crea una política de alertas basada en registros con la API de Monitoring

Puedes crear políticas de alertas basadas en registros con el API de Monitoring. Debes proporcionar la misma información a la API de Monitoring proporcionan cuando usas el Explorador de registros en la consola de Google Cloud:

  • Un nombre y una descripción para la política de alertas.
  • Los registros para los que quieres recibir notificaciones.
  • El tiempo entre notificaciones.
  • Es el tiempo para el cierre automático de incidentes.
  • A quién notificar.

Para crear políticas de alertas con la API de Monitoring, puedes crea un objeto AlertPolicy y envíalo al alertPolicies.create.

Antes de poder usar la API de Monitoring, debes habilitarla y tienes autorización para usarla. Para obtener más información, consulta la siguiente documentación:

Estructura de las políticas de alertas

La API de Monitoring representa una política de alertas con el Estructura de AlertPolicy. La estructura AlertPolicy tiene varias estructuras incorporadas, incluida una descripción de la condición de la política de alertas. Alertas basadas en registros las políticas se diferencian de las políticas de alertas basadas en métricas de las siguientes maneras:

  • Para describir la condición, usa LogMatch. tipo de condición. Las políticas de alertas basadas en métricas usan diferentes tipos de condiciones.
  • Una política de alertas basada en registros puede tener solo una condición.
  • Debes especificar el tiempo que transcurre entre las notificaciones y el cierre automático de incidentes. incluyendo una estructura AlertStrategy. Las políticas de alertas basadas en métricas no incluyen un tiempo entre notificaciones.

En esta sección, se describe cómo crear una política de alertas basada en registros. Estos las políticas difieren de las políticas de alertas basadas en métricas en el tipo de condición que usas. Para las políticas de alertas basadas en registros, el tipo de condición es LogMatch. Cuando usas la API de Monitoring para administrar las políticas de alertas, hay no hay diferencias en la forma en que enumeras, editas o borras métricas y políticas basadas en registros. En Administra las políticas de alertas por API, se describe cómo crear, enumerar, editar y borrar políticas de alertas con la API de Monitoring

Diseña la política de alertas

La sección titulada Crea una política de alertas basada en registros con el Explorador de registros describe una forma de crear una política de alertas basada en registros. En esa sección, se muestra cómo crear una política de alertas basada en registros que te notifica cuando una entrada de registro syslog tiene un gravedad, el nivel de NOTICE y una dirección IPv4 no válida en jsonPayload.result .

Para crear la misma política de alertas basada en registros con el de API de Monitoring, crea un objeto AlertPolicy que se vea como la siguiente estructura JSON:

{
  "displayName": "Network address: invalid IPv4 value (API)",
  "documentation": {
    "content": "Log-based alerting policy in project ${project} detected an invalid IPv4 value.",
    "mimeType": "text/markdown"
  },

  "conditions": [
    {
      "displayName": "Log match condition: invalid IP addr (API)",
      "conditionMatchedLog": {
        "filter": "log_id(\"syslog\") severity = \"NOTICE\" jsonPayload.result !~ \"^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\\.|$)){4}$\"",
      },
    }
  ],
  "combiner": "OR",

  "alertStrategy": {
    "notificationRateLimit": {
      "period": "300s"
    },
    "autoClose": "604800s",
  },

  "notificationChannels": [
    "projects/PROJECT_ID/notificationChannels/CHANNEL_ID"
  ]
}

Este código JSON especifica la misma información que especificas cuando crees una política de alertas basada en registros con el Explorador de registros. Lo siguiente asignan el contenido de esta estructura AlertPolicy a los pasos seguir cuando uses el Explorador de registros para crear una alerta basada en registros. El valor del campo conditionMatchedLog es una estructura LogMatch.

Proporciona un nombre y una descripción

Una política de alertas tiene un nombre visible y documentación asociada notificaciones para ayudar a los responsables de la respuesta. En el Explorador de registros, estos campos se llaman Nombre de la alerta y Descripción de la alerta. Usted representa estos valores en una estructura AlertPolicy de la siguiente manera:

{
  "displayName": "Network address: invalid IPv4 value (API)",
  "documentation": {
    "content": "Log-based alerting policy in project ${project} detected an invalid IPv4 value.",
    "mimeType": "text/markdown"
  },
  ...
}

En este ejemplo, el valor de displayName incluye “(API)” para que pueda distinguir entre las dos políticas de ejemplo cuando veas la lista de políticas en la consola de Google Cloud. El La página Políticas de Monitoring enumera las políticas por nombre visible y indica si la política se basa en métricas o registros. Para obtener más información, ver Administra las políticas de alertas basadas en registros en Monitoring.

En el subcampo content, el campo documentation incluye la descripción que puedes proporcionar cuando uses el Explorador de registros. El segundo subcampo, mimeType es obligatorio cuando especificas un valor para el campo documentation. El único el valor válido es "text/markdown".

Elige los registros para los que quieres recibir notificaciones

Una política de alertas basada en registros tiene una sola condición. En el Explorador de registros, especificas la condición cuando proporcionas una consulta en la sección Define log columns to alerta activada. Debes representar estos valores en una estructura AlertPolicy de la siguiente manera: sigue:

{ ...
  "conditions": [
    {
      "displayName": "Log match condition: invalid IP addr (API)",
      "conditionMatchedLog": {
        "filter": "log_id(\"syslog\" severity = \"NOTICE\" jsonPayload.result !~ \"^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\\.|$)){4}$\"",
      },
    }
  ],
  "combiner": "OR",
  ...
}

El campo conditions toma una lista de Condition de alertas, aunque una política de alertas basada en registros debe tener solo estado. Cada Condition tiene un nombre visible y una descripción de la condición.

  • El valor del campo displayName es una descripción breve de la condición. Cuando usas el Explorador de registros para crear políticas de alertas basadas en registros, el el nombre visible siempre es “Condición de coincidencia del registro”. Cuando uses API de Monitoring, puedes proporcionar un nombre visible más preciso. Es obligatorio ingresar un valor.

  • El valor del campo conditionMatchedLog es un la estructura de LogMatch y el valor de filter es la consulta que especificas en el Explorador de registros. Porque esta se proporciona la consulta como el valor de un campo JSON, se muestra toda la consulta entre comillas, y cualquier comillas en la consulta debe escaparse con el Carácter \ (barra invertida).

  • La estructura LogMatch también incluye un elemento labelExtractors. Puedes use extractores de etiquetas para redactar etiquetas personalizadas a partir de sus las entradas de registro y hacer referencia a ellas en las notificaciones.

    Por ejemplo, para extraer el valor de la etiqueta de recurso. labels."compute.googleapis.com/resource_id" de tu entrada de registro en una etiqueta llamada vm_identifier, la la condición anterior podría verse de la siguiente manera:

    "conditions": [
      {
        "displayName": "Log match condition: invalid IP addr (API)",
        "conditionMatchedLog": {
          "filter": "log_id(\"syslog\" severity = \"NOTICE\" jsonPayload.result !~ \"^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\\.|$)){4}$\"",
          "labelExtractors": {
            "vm_identifier": "EXTRACT(labels.\"compute.googleapis.com/resource_id\")"
          }
        },
      }
    ],
    

    Usa la función EXTRACT para hacer coincidir todo el valor, o bien usa REGEXP_EXTRACT para hacer coincidir las subcadenas con las expresiones regulares Estas funciones son las mismas que se usan para la extracción de etiquetas metrics; Consulta Crea una etiqueta para obtener más información.

    Puedes usar las etiquetas extraídas en la documentación del política de alertas, por lo que se informan en las notificaciones. En el campo documentation de la puedes hacer referencia a las etiquetas extraídas mediante una variable con el formato ${log.extracted_label.KEY}, donde KEY es el nombre que le asignaste a la etiqueta extraída.

    En el siguiente ejemplo, se muestra cómo consultar la clave para la la etiqueta extraída vm_identifier, para que el valor del registro se incluye la etiqueta labels."compute.googleapis.com/resource_id" las notificaciones:

    "documentation": {
      "content": "Log-based alerting policy in project ${project} detected an
       invalid IPv4 value on VM with ID ${log.extracted_label.vm_identifier}.",
      "mimeType": "text/markdown"
    },
    

El valor del campo combiner especifica cómo combinar los resultados de múltiples condiciones en políticas de alertas basadas en métricas. Solo puedes usar uno en políticas de alertas basadas en registros, y debes especificar el campo combiner con el valor "OR". No puedes crear políticas de alertas basadas en registros con varias condiciones.

Establecer valores de notificación y cierre automático

Una política de alertas basada en registros especifica el tiempo mínimo entre notificaciones. En el Explorador de registros, seleccionas un valor de la sección Tiempo entre las notificaciones. Para representar este valor en una estructura AlertPolicy, especifica un en segundos para el campo period de una una estructura de NotificationRateLimit incorporada en AlertStrategy.

De forma similar, la política de alertas incluye el período para y cerrar incidentes. El valor predeterminado es 7 días. En el Explorador de registros, puedes seleccionar un valor diferente del Menú Duración del cierre automático de incidentes. La opción corresponde al Campo autoclose en la estructura de la API de AlertStrategy. Cuando uses este campo, especifica el valor en segundos. El valor mínimo es 1,800 segundos o 30 minutos.

{ ...
  "alertStrategy": {
    "notificationRateLimit": {
      "period": "300s"
    },
    "autoClose": "604800s",
  },
  ...
}

El valor del campo period en este ejemplo, 300s, es equivalente a lo siguiente: 5 minutos. El valor autoclose, 604800s, equivale a 7 días.

Especifica a quién notificar

Una política de alertas puede incluir una lista de canales de notificación. En el Explorador de registros, puedes seleccionar los canales de un menú. Para representar estos valores en una estructura AlertPolicy, proporciona una lista de uno o más nombres de recursos para Objetos NotificationChannel:

{ ...
  "notificationChannels": [
    "projects/PROJECT_ID/notificationChannels/CHANNEL_ID"
  ]
}

Cuando creas un canal de notificaciones, se le asigna un nombre de recurso. Para obtener información sobre cómo recuperar la lista de canales de notificación disponibles, que incluye sus nombres de recursos, consulta Recupera canales en Monitoring en la documentación de Google Cloud. No puedes obtener los IDs de los canales con el Consola de Google Cloud

Envía tu política de alertas a la API de Monitoring

Para crear una política de alertas con la API de Monitoring, puedes crea un objeto AlertPolicy y envíalo al alertPolicies.create. Puedes invocar el alertPolicies.create con Google Cloud CLI llamando directamente a la API de Monitoring.

También puedes crear políticas de alertas basadas en registros usando las bibliotecas cliente para C#, Go, Java, Python y Ruby. También es posible que puedas usar otros clientes bibliotecas; la biblioteca de tu idioma deben incluir el Tipo de condición LogMatch.

Para crear una política de alertas con gcloud CLI, haz lo siguiente: lo siguiente:

  1. Coloca la representación JSON de tu política de alertas en un archivo de texto. por ejemplo, en un archivo llamado alert-invalid-ip.json.

  2. Pasa este archivo JSON a gcloud CLI con el siguiente comando:

    gcloud alpha monitoring policies create --policy-from-file="alert-invalid-ip.json"
    
  3. Si se ejecuta correctamente, este comando muestra el nombre del recurso de la política nueva, por ejemplo:

    Created alerting policy [projects/PROJECT_ID/alertPolicies/POLICY_ID].
    

Para crear una política de alertas llamando directamente a alertPolicies.create, puedes usar el Explorador de APIs de la siguiente manera:

  1. Ve a la página de referencia de alertPolicies.create.

  2. En el panel Prueba esta API, haz lo siguiente:

    1. En el campo name, ingresa el siguiente valor:

      projects/PROJECT_ID
      
    2. Copia la representación JSON de tu política de alertas y reemplaza el contenido del campo Cuerpo de la solicitud en el Explorador de APIs con el copiaste la política de alertas.

    3. Haz clic en Ejecutar.

      Si la llamada a alertPolicies.create se realiza correctamente, obtendrás un HTTP Código de respuesta de 200 y un cuerpo de respuesta vacío, {} Para ver más sobre el Explorador de APIs, consulta Con el Explorador de APIs en Documentación de Monitoring.

Para obtener más información sobre la creación de políticas de alertas con el API de Monitoring, consulta Crea políticas. En los ejemplos de ese documento, se usan tipos de condiciones para alertas basadas en métricas. políticas, pero los principios son los mismos.

Prueba la política de alertas

Para probar tu nueva política de alertas, puedes usar el mismo procedimiento que se describe en Prueba la alerta basada en registros de ejemplo.

Ejemplo: Crea una política de alertas cuando una entrada de registro contiene una string de texto

En este ejemplo, se usa la consola de Google Cloud para crear una política de alertas, la el Explorador de registros para ver entradas de registro y Google Cloud CLI escribir una entrada de registro:

  1. En la consola de Google Cloud, ve a la página Explorador de registros.

    Ir al Explorador de registros

    Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Logging.

  2. En el panel Consulta, ingresa la siguiente consulta después de actualizar el Valor de PROJECT_ID:

    logName="projects/PROJECT_ID/logs/test-log"
    textPayload:"Oops"
    

    La consulta busca en el registro con el nombre test-log las entradas de registro que tener un campo textPayload que contenga la cadena "Oops".

  3. Haz clic en Crear alerta y completa el cuadro de diálogo. Debes ingresar un nombre de la política, como Alert on Oops. La consulta que ingresaste en el el paso anterior se incluye automáticamente en la política de alertas.

  4. Para probar la política de alertas, abre Cloud Shell Ejecuta el siguiente comando:

    gcloud logging write test-log --severity=ERROR --payload-type=text 'This log entry contains Oops'
    

    El comando anterior escribe una entrada en el registro llamada test-log. El tiene un nivel de gravedad de ERROR y, además, incluye un campo textPayload.

  5. En el Explorador de registros, haz clic en Ejecutar consulta.

    Cuando se actualice la pantalla, podrás ver los detalles de la entrada de registro que escribiste en el paso anterior.

  6. En la consola de Google Cloud, ve a la página  Alertas.

    Ir a las Alertas

    Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Monitoring.

    En el panel Incidentes, se muestran el incidente y sus detalles. sobre la política de alertas.

    Si no ves un incidente cuando abres la página Alertas, espera unos minutos y actualiza la página.

No verás otro incidente ni recibirás otra notificación si repetir de inmediato el comando de Google Cloud CLI. La configuración de la política de alertas especificar el período mínimo entre incidentes. Puedes verlas y cambiarlas de tu organización editando la política.