Supported OS Linux

Versión de la integración2.2.0

Información general

Este check monitoriza Kyverno a través del Datadog Agent.

Configuración

Sigue las instrucciones a continuación para instalar y configurar este check para un Agent que se ejecuta en tu entorno de Kubernetes. Para más información sobre la configuración en entornos en contenedores, consulta las plantillas de integración de Autodiscovery para obtener orientación.

Instalación

A partir de la versión 7.56.0 del Agent, el check de Kyverno se incluye en el paquete del Datadog Agent. No es necesaria ninguna instalación adicional en tu entorno.

Este check utiliza OpenMetrics para recopilar métricas desde el endpoint de OpenMetrics que expone Kyverno, que requiere Python v3.

Configuración

Kyverno está compuesto por diferentes controladores, como los de copia de seguridad, admisiones, limpieza e informes. Es posible monitorizar cada uno de estos controladores. Cada controlador de Kyverno tiene métricas con el formato Prometheus, disponibles en /metrics en el puerto 8000. Para que el Agent comience a recopilar métricas, es necesario anotar los pods de los controladores Kyverno. Para obtener más información sobre anotaciones, consulta las plantillas de la integración Autodiscovery como guía. Puedes encontrar opciones adicionales de configuración en el kyverno.d/conf.yaml de ejemplo.

Nota: Las métricas enumeradas sólo pueden recopilarse si están disponibles. Algunas métricas sólo se generan cuando se realizan determinadas acciones. Por ejemplo, la métrica kyverno.controller.drop.count sólo se expone después de que un objeto sea descartado por el controlador.

El único parámetro necesario para configurar el check Kyverno es:

  • openmetrics_endpoint: este parámetro debe definirse en la localización donde se exponen métricas con el formato Prometheus. El puerto predeterminado es 8000. En entornos contenedorizados, %%host%% debe utilizarse para la autodetección de hosts.
apiVersion: v1
kind: Pod
# (...)
metadata:
  name: '<POD_NAME>'
  annotations:
    ad.datadoghq.com/<CONTAINER_NAME>.checks: |
      {
        "kyverno": {
          "init_config": {},
          "instances": [
            {
              "openmetrics_endpoint": "http://%%host%%:8000/metrics"
            }
          ]
        }
      }      
    # (...)
spec:
  containers:
    - name: <CONTAINER_NAME> # e.g. 'kyverno' in the Admission controller
# (...)

Para recopilar métricas de cada controlador Kyverno, las anotaciones de pod anteriores pueden aplicarse a cada pod de controlador Kyverno. Ejemplo de anotaciones de pod para el controlador Informes:

# Pod manifest from a basic Helm chart deployment
apiVersion: v1
kind: Pod
# (...)
metadata:
  name: 'controller'
  annotations:
    ad.datadoghq.com/<CONTAINER_NAME>.checks: |
      {
        "kyverno": {
          "init_config": {},
          "instances": [
            {
              "openmetrics_endpoint": "http://%%host%%:8000/metrics"
            }
          ]
        }
      }      
    # (...)
spec:
  containers:
    - name: controller
# (...)

Recopilación de logs

Disponible para las versiones 6.0 o posteriores del Agent

Los logs de Kyverno pueden recopilarse de los distintos pods de Kyverno a través de Kubernetes. La recopilación de logs está deshabilitada por defecto en el Datadog Agent. Para habilitarla, consulta la recopilación de logs de Kubernetes.

Consulta las plantillas de la integración Autodiscovery para obtener orientación sobre la aplicación de los parámetros que se indican a continuación.

ParámetroValor
<LOG_CONFIG>{"source": "kyverno", "service": "<SERVICE_NAME>"}

Validación

Ejecuta el subcomando de estado del Agent y busca kyverno en la sección Checks.

Datos recopilados

Métricas

Eventos

La integración Kyverno no incluye eventos.

Checks de servicio

Solucionar problemas

¿Necesitas ayuda? Ponte en contacto con el equipo de asistencia de Datadog.