Envío de checks de servicios: Check del Agent

Para enviar un check de servicio a Datadog dentro de un check personalizado del Agent, utiliza la función predefinids service_check() en la clase Agentcheck.

self.service_check(name, status, tags=None, hostname=None, message=None)

A continuación, encontrarás los distintos parámetros y tipos de datos disponibles para la función service_check():

ParámetroTipoObligatorioValor por defectoDescripción
nameCadena-Nombre del check de servicio.
statusInt-Constante que describe el estado del servicio: 0 para OK (Normal), 1 para WARN (Advertencia), 2 para CRITICAL (Crítico) y 3 para UNKNOWN (Desconocido).
tagsLista de cadenasNoNoneLista de etiquetas (tags) para asociar al check de servicio.
hostnameCadenaNoHost actualNombre de host para asociar al check de servicio. Por defecto es el host actual.
messageCadenaNoNoneInformación adicional o una descripción de por qué se ha producido este estado.

Ejemplo

El siguiente es un ejemplo de un check del Agent ficticio enviando sólo un check de servicio periódicamente. Para obtener más información, consulta Escribir un check personalizado del Agent.

  1. Crea un nuevo directorio, service_check_example.d/, en la carpetaconf.d/ de tu Agent.

  2. En tu carpeta service_check_example.d/, crea un archivo de configuración vacío llamado service_check_example.yaml con el siguiente contenido:

    instances: [{}]
    
  3. Subiendo un nivel desde la carpeta conf.d/, ve a la carpeta checks.d/.

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

    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.')
        
  5. Reinicia el Agent.

  6. Asegúrate de que tu check personalizado está funcionando correctamente mediante el comando de estado del Agent. Deberías ver algo así:

    =========
    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
    
        (...)
    
  7. Por último, para ver informes de tus checks de servicios, consulta tu resumen de checks de servicios de Datadog:

Checks de servicios

Leer más

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