Événements avec un check custom d'Agent

Envoi

Utilisez la fonction event(<DICT_ÉVÉNEMENT>) pour envoyer un événement depuis un check custom d’Agent :

self.event(
            {
              "timestamp": <TIMESTAMP_EPOCH>,
              "event_type": "<NOM_ÉVÉNEMENT>",
              "msg_title": "<TITRE>",
              "msg_text": "<MESSAGE>",
              "aggregation_key": "<CLÉ_AGRÉGATION>",
              "alert_type": "<TYPE_ALERTE>",
              "source_type_name": "<TYPE_SOURCE>",
              "host": "<HOSTNAME>",
              "tags": ["<TAGS>"],
              "priority": "<PRIORITÉ>"
            }
)

Les types de données et de clés suivants sont disponibles dans le dictionnaire de l’événement :

CléTypeObligatoireDescription
timestampNombre entierOuiLe timestamp epoch de l’événement
event_typeChaîneOuiLe nom de l’événement
msg_titleChaîneOuiLe titre de l’événement
msg_textChaîneOuiLe corps de texte de l’événement
aggregation_keyChaîneNonLa clé à utiliser pour agréger les événements
alert_typeChaîneNonerror, warning, success ou info (valeur par défaut : info)
source_type_nameChaîneNonLe nom du type de source
hostChaîneNonLe hostname
tagsListe de chaînesNonLa liste de tags associés à cet événement
priorityChaîneNonIndique la priorité de l’événement (normal ou low)

Exemple

Voici un exemple d’utilisation d’un check custom d’Agent permettant d’envoyer régulièrement un événement. Consultez la rubrique Écrire un check custom d’Agent pour en savoir plus.

  1. Créez un nouveau répertoire event_example.d/ dans le dossier conf.d/ à la racine du répertoire de configuration de votre Agent.

  2. Dans le dossier event_example.d/, créez un fichier de configuration intitulé event_example.yaml avec le contenu suivant :

    instances: [{}]
    
  3. Accédez au dossier checks.d/ dans le dossier parent de conf.d/.

  4. Dans ce dossier, créez un fichier de check custom event_example.py avec le contenu suivant :

    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": "Exemple d'événement",
                        "msg_text": "Voici un exemple d'événement provenant de Datadog.",
                        "alert_type": "error",
                    }
                )
        
  5. Redémarrez l’Agent.

  6. Pour valider votre check, lancez la commande status de l’Agent et cherchez event_example dans la section 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
    
        (...)
    

Pour aller plus loin

Documentation, liens et articles supplémentaires utiles:

PREVIEWING: safchain/fix-custom-agent