Pour envoyer un check de service à Datadog dans un check d’Agent custom, utilisez la fonction prédéfinie service_check()
dans la classe AgentCheck
.
self.service_check(name, status, tags=None, hostname=None, message=None)
Retrouvez ci-dessous les différents paramètres et types de données disponibles pour la fonction service_check()
:
Paramètre | Type | Obligatoire | Valeur par défaut | Description |
---|---|---|---|---|
name | chaîne | oui | - | Le nom du check de service. |
status | nombre entier | oui | - | Une constante décrivant le statut du service : 0 pour OK, 1 pour Warning, 2 pour Critical et 3 pour Unknown. |
tags | liste de chaînes | non | None | Une liste de tags à associer à ce check de service. |
hostname | chaîne | non | host actuel | Le hostname à associer à ce check de service. Par défaut, il s’agit du host actuel. |
message | chaîne | non | None | Informations supplémentaires ou une description de la raison pour laquelle ce statut est généré. |
Voici un exemple de check d’Agent test qui envoie un seul check de service régulièrement. Consultez la documentation Écrire un check custom d’Agent pour en savoir plus.
Créez un répertoire service_check_example.d/
dans le dossier conf.d/
de votre Agent.
Dans votre dossier service_check_example.d/
, créez un fichier de configuration vide service_check_example.yaml
avec le contenu suivant :
instances: [{}]
Accédez au dossier checks.d/
dans le dossier parent de conf.d/
.
Dans ce dossier, créez un fichier de check custom service_check_example.py
avec le contenu ci-dessous :
service_check_example.py
from datadog_checks.base import AgentCheck
__version__ = "1.0.0"
class MyClass(AgentCheck):
def check(self, instance):
self.service_check('example_service_check', 0, message='Example application is up and running.')
Vérifiez que votre check custom s’exécute correctement avec la commande status de l’Agent. La sortie devrait ressembler à ceci :
=========
Collector
=========
Running Checks
==============
(...)
service_check_example (1.0.0)
-----------------------------
Instance ID: service_check_example:d884b5186b651429 [OK]
Total Runs: 1
Metric Samples: Last Run: 0, Total: 0
Events: Last Run: 0, Total: 0
Service Checks: Last Run: 1, Total: 1
Average Execution Time : 2ms
(...)
Enfin, accédez au sommaire des checks de service pour vérifier que votre check de service envoie bien des informations :
Documentation, liens et articles supplémentaires utiles: