Supported OS Linux Windows Mac OS

Versión de la integración6.0.0

Información general

El check de Kong del Agent realiza un rastreo del total de solicitudes, códigos de respuesta, conexiones de clientes, etc.

También puedes utilizar el complemento Datadog de Kong para enviar métricas de API, conexión y base de datos a Datadog a través del Datadog Agent utilizando DogStatsD. Para obtener más información, lee la entrada del blog Monitorizar Kong con la integración Datadog.

Configuración

Instalación

El check de Kong está incluido en el paquete del Datadog Agent, por lo que no necesitas instalar nada más en tus servidores Kong.

Configuración

host

Para configurar este check para un Agent que se ejecuta en un host:

Recopilación de métricas
  1. Asegúrate de que las métricas de OpenMetrics están expuestas en tu servicio Kong activando el complemento Prometheus.. Esto debe configurarse antes de que el Agent pueda recopilar métricas de Kong.

  2. Añade este bloque de configuración a tu archivo kong.d/conf.yaml en la carpeta conf.d/ en la raíz de tu directorio de configuración del Agent para empezar a recopilar tus métricas Kong. Consulta el ejemplo de kong.d/conf.yaml para conocer todas las opciones de configuración disponibles:

    init_config:
    
    instances:
      ## @param openmetrics_endpoint - string - required
      ## The URL exposing metrics in the OpenMetrics format.
      #
      - openmetrics_endpoint: http://localhost:8001/metrics
    
  3. Reinicia el Agent.

Nota: La versión actual del check (1.17.0 o posterior) utiliza OpenMetrics para la recopilación de métricas, que requiere Python 3. Para hosts que no pueden utilizar Python 3, o para utilizar una versión legacy de este check, consulta la siguiente configuración.

Recopilación de logs

Disponible para las versiones 6.0 o posteriores del Agent

Los logs de acceso de Kong son generados por NGINX, por lo que la localización por defecto es la misma que la de los archivos de NGINX.

  1. La recopilación de logs está desactivada en forma predeterminada en el Datadog Agent, actívala en tu archivo datadog.yaml:

    logs_enabled: true
    
  2. Añade este bloque de configuración a tu archivo kong.d/conf.yaml para empezar a recopilar tus logs de Kong:

    logs:
      - type: file
        path: /var/log/nginx/access.log
        service: '<SERVICE>'
        source: kong
    
      - type: file
        path: /var/log/nginx/error.log
        service: '<SERVICE>'
        source: kong
    

    Cambia los valores de los parámetros path y service y configúralos para tu entorno. Consulta el ejemplo de kong.d/conf.yaml para conocer todas las opciones de configuración disponibles.

  3. Reinicia el Agent.

En contenedores

Asegúrate de que las métricas de OpenMetrics están expuestas en tu servicio de Kong habilitando el complemento de Prometheus. Esto debe configurarse antes de que el Agent pueda recopilar métricas de Kong. Para entornos en contenedores, consulta las plantillas de integración de Autodiscovery para obtener orientación sobre la aplicación de los parámetros que se indican a continuación.

Recopilación de métricas
ParámetroValor
<INTEGRATION_NAME>kong
<INIT_CONFIG>en blanco o {}
<INSTANCE_CONFIG>{"openmetrics_endpoint": "http://%%host%%:8001/metrics"}
Recopilación de logs

Disponible para las versiones 6.0 o posteriores del Agent

La recopilación de logs está desactivada por defecto en el Datadog Agent. Para activarla, consulta la recopilación de logs de Kubernetes.

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

Validación

[Ejecuta el subcomando de estado del Agent] (https://docs.datadoghq.com/agent/guide/agent-commands/#agent-status-and-information) y busca kong en la sección Checks.

Datos recopilados

Métricas

kong.bandwidth.bytes.count
(count)
[OpenMetrics V2] (Kong v3 o posterior) Ancho de banda total en bytes consumido por servicio/ruta en Kong
Se muestra como byte
kong.bandwidth.count
(count)
[OpenMetrics V2] (Kong v < 3) Ancho de banda total en bytes consumido por servicio/ruta en Kong
Se muestra como byte
kong.connections_accepted
(gauge)
[Legacy] Número total de conexiones de cliente aceptadas.
Se muestra como conexión
kong.connections_active
(gauge)
[Legacy] Número actual de conexiones de cliente activas, incluidas las conexiones en espera.
Se muestra como conexión
kong.connections_handled
(gauge)
[Número total de conexiones gestionadas. (Igual que en acepta a menos que se hayan alcanzado los límites de recursos).
Se muestra como conexión
kong.connections_reading
(gauge)
[Legacy] Número actual de conexiones en las que Kong está leyendo la cabecera de la solicitud.
Se muestra como conexión
kong.connections_waiting
(gauge)
[Legacy] Número actual de conexiones de cliente inactivas a la espera de una solicitud.
Se muestra como conexión
kong.connections_writing
(gauge)
[Legacy] Número actual de conexiones en las que NGINX está escribiendo la respuesta al cliente.
Se muestra como conexión
kong.http.consumer.status.count
(count)
[OpenMetrics V2] (Kong v < 3) Códigos de estado HTTP para clientes por servicio/ruta en Kong
Se muestra como solicitud
kong.http.requests.count
(count)
[OpenMetrics V2] (Kong v3 o posterior) Códigos de estado HTTP por servicio/ruta en Kong
Se muestra como solicitud
kong.http.status
(count)
[OpenMetrics V2] (Kong v < 3) Códigos de estado HTTP por servicio/ruta en Kong
Se muestra como solicitud
kong.kong.latency.ms.bucket
(count)
[OpenMetrics V2] (Kong v3 o posterior) Latencia de Kong específicamente
Se muestra como milisegundo
kong.kong.latency.ms.count
(count)
[OpenMetrics V2] (Kong v3 o posterior) Latencia de Kong específicamente
Se muestra como milisegundo
kong.kong.latency.ms.sum
(count)
[OpenMetrics V2] (Kong v3 o posterior) Latencia de Kong específicamente
Se muestra como milisegundo
kong.latency.bucket
(count)
[OpenMetrics V2] (Kong v < 3) Latencia añadida por Kong, tiempo total de solicitud y latencia ascendente de cada servicio/ruta en Kong
Se muestra como milisegundo.
kong.latency.count
(count)
[OpenMetrics V2] (Kong v < 3) Latencia añadida por Kong, tiempo total de solicitud y latencia ascendente de cada servicio/ruta en Kong
Se muestra como milisegundo.
kong.latency.sum
(count)
[OpenMetrics V2] (Kong v < 3) Latencia añadida por Kong, tiempo total de solicitud y latencia ascendente de cada servicio/ruta en Kong
Se muestra como milisegundo.
kong.memory.lua.shared_dict.bytes
(gauge)
[OpenMetrics V2] Slabs asignados en bytes en un shared_dict
Se muestra como byte
kong.memory.lua.shared_dict.total_bytes
(gauge)
[OpenMetrics V2] Capacidad total en bytes de un shared_dict
Se muestra como byte
kong.memory.workers.lua.vms.bytes
(gauge)
[OpenMetrics V2] Bbytes asignados en máquinas virtuales Lua de workers
Se muestra como byte
kong.nginx.connections.total
(gauge)
[OpenMetrics V2] (Kong v3 o posterior) Número de conexiones HTTP y de transmisión
Se muestra como conexión
kong.nginx.http.current_connections
(gauge)
[OpenMetrics V2] (Kong v < 3) Número de conexiones HTTP
Se muestra como conexión
kong.nginx.requests.total
(gauge)
[OpenMetrics V2] (Kong v3 o posterior) Número de conexiones NGINX totales
Se muestra como solicitud
kong.nginx.stream.current_connections
(gauge)
[OpenMetrics V2] (Kong v < 3) Número de conexiones de transmisión
Se muestra como conexión
kong.nginx.timers
(gauge)
[OpenMetrics v2] (Kong v2.8 o posterior) Número total de temporizadores NGINX en estado En ejecución o Pendiente.
Se muestra como elemento
kong.request.latency.ms.bucket
(count)
[OpenMetrics V2] (Kong v3 o posterior) Latencia añadida por Kong a las solicitudes
Se muestra como milisegundo
kong.request.latency.ms.count
(count)
[OpenMetrics V2] (Kong v3 o posterior) Latencia añadida por Kong a las solicitudes
Se muestra como milisegundo
kong.request.latency.ms.sum
(count)
[OpenMetrics V2] (Kong v3 o posterior) Latencia añadida por Kong a las solicitudes
Se muestra como milisegundo
kong.session.duration.ms
(count)
[OpenMetrics V2] (Kong v3 o posterior) Duración de una transmisión Kong
Se muestra como milisegundo
kong.stream.status.count
(count)
[OpenMetrics V2] Códigos de estado de transmisión por servicio/ruta en Kong
_Se muestra como solicitud
kong.total_requests
(gauge)
[Legacy] Número total de solicitudes de clientes.
Se muestra como solicitud
kong.upstream.latency.ms.bucket
(count)
[OpenMetrics V2] (Kong v3 o posterior) Latencia ascendente añadida por Kong
Se muestra como milisegundo
kong.upstream.latency.ms.count
(count)
[OpenMetrics V2] (Kong v3 o posterior) Latencia ascendente añadida por Kong
Se muestra como milisegundo
kong.upstream.latency.ms.sum
(count)
[OpenMetrics V2] (Kong v3 o posterior) Latencia ascendente añadida por Kong
Se muestra como milisegundo

Eventos

El check de Kong no incluye ningún evento.

Checks de servicio

kong.can_connect

Devuelve CRITICAL si el Agent no puede conectarse a la instancia Kong, si no devuelve OK.

Estados: ok, crítico

kong.openmetrics.health

Devuelve CRITICAL si el Agent no puede conectarse al endpoint de OpenMetrics, en caso contrario devuelve OK.

Estados: ok, crítico

kong.datastore.reachable

Devuelve CRITICAL si Kong no puede conectarse al almacén de datos, si no devuelve OK.

Estados: ok, crítico

kong.upstream.target.health

Devuelve CRITICAL si el objetivo no es saludable, si no devuelve OK.

Estados: ok, crítico

Solucionar problemas

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

Referencias adicionales

Further Reading

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