Eventos con un check del Agent personalizado

Envío

Para enviar un evento desde un check del Agent personalizado utiliza la función event(<EVENT_DICT>):

self.event(
            {
              "timestamp": <TIMESTAMP_EPOCH>,
              "event_type": "<EVENT_NAME>",
              "msg_title": "<TITLE>",
              "msg_text": "<MESSAGE>",
              "aggregation_key": "<AGGREGATION_KEY>",
              "alert_type": "<ALERT_TYPE>",
              "source_type_name": "<SOURCE_TYPE>",
              "host": "<HOSTNAME>",
              "tags": ["<TAGS>"],
              "priority": "<PRIORITY>"
            }
)

Las siguientes claves y tipos de datos se encuentran disponibles en el diccionario de eventos:

ClaveTipoObligatorioDescripción
timestampEnteroLa marca de tiempo de la época del evento
event_typeCadenaEl nombre del evento
msg_titleCadenaEl título del evento
msg_textCadenaEl cuerpo del texto del evento
aggregation_keyCadenaNoUna clave para agregar eventos
alert_typeCadenaNoerror, warning, success o info (por defecto info)
source_type_nameCadenaNoEl nombre del tipo de fuente
hostCadenaNoEl nombre del host
tagsLista de cadenasNoUn lista de etiquetas asociadas a este evento
priorityCadenaNoEspecifica la prioridad del evento (normal o low)

Ejemplo

Este es un ejemplo del uso de un check del Agent personalizado para enviar un evento de manera periódica. Consulta la sección de Escribir un check del Agent personalizado para obtener más detalles.

  1. Crea un directorio event_example.d/ nuevo en la carpeta conf.d/ en la raíz del directorio de configuración del Agent.

  2. En la carpeta event_example.d/, crea un archivo de configuración llamado event_example.yaml con el siguiente contenido:

    instances: [{}]
    
  3. Sube un nivel desde la carpeta conf.d/ y dirígete a la carpeta checks.d/.

  4. En esta carpeta, crea un archivo de check personalizado llamado event_example.py con el siguiente contenido:

    event_example.py

        from datadog_checks.base import AgentCheck
    
        __version__ = "1.0.0"
    
        class MyClass(AgentCheck):
            def check(self, instance):
                self.event(
                    {
                        "timestamp": time.time(),
                        "event_type": "Error",
                        "msg_title": "Example Event",
                        "msg_text": "This is an example event coming from Datadog.",
                        "alert_type": "error",
                    }
                )
        
  5. Reinicia el Agent.

  6. Para la validación, ejecuta el comando de estado del Agent y busca event_example en la sección de Checks:

    =========
    Collector
    =========
    
      Running Checks
      ==============
    
        (...)
    
        event_example (1.0.0)
        ---------------------
          Instance ID: event_example:d884b5186b651429 [OK]
          Total Runs: 2
          Metric Samples: Last Run: 0, Total: 0
          Events: Last Run: 1, Total: 2
          Service Checks: Last Run: 0, Total: 0
          Average Execution Time : 0s
    
        (...)
    

Leer más

Más enlaces, artículos y documentación útiles: