nginx-ingress-controller

Supported OS Linux Windows Mac OS

Integration version4.0.0

Información general

Este check monitoriza el controlador de entrada NGINX de Kubernetes. Para monitorizar el controlador de entrada F5 NGINX, configura la integración de Datadog Prometheus para monitorizar las métricas deseadas desde la lista proporcionada por el NGINX Prometheus Exporter.

Configuración

Instalación

El check nginx-ingress-controller está incluido en el paquete del Datadog Agent, por lo que no necesitas instalar nada más en tu servidor.

Configuración

Host

Si tu Agent se está ejecutando en un host, edita el archivo nginx_ingress_controller.d/conf.yaml, en la carpeta conf.d/ en la raíz de tu directorio de configuración del Agent. Consulta el nginx_ingress_controller.d/conf.yaml de ejemplo para ver todas las opciones disponibles de configuración. A continuación, reinicia el Agent.

Contenedores

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

Por defecto, a las métricas de NGINX las recopila el check de nginx-ingress-controller, pero por conveniencia puede que quieras ejecutar el check de nginx en el controlador de entrada.

Puedes conseguirlo haciendo que se pueda acceder a la página de estado de NGINX desde el Agent. Para ello, utiliza la configuración nginx-status-ipv4-whitelist en el controlador y añade anotaciones de Autodiscovery al pod del controlador.

Por ejemplo, estas anotaciones habilitan tanto los checks nginx y nginx-ingress-controller como la recopilación de logs:

ParámetroValor
<INTEGRATION_NAME>["nginx","nginx_ingress_controller"]
<INIT_CONFIG>[{},{}]
<INSTANCE_CONFIG>[{"nginx_status_url": "http://%%host%%:18080/nginx_status"},{"prometheus_url": "http://%%host%%:10254/metrics"}]

Consulta el nginx_ingress_controller.d/conf.yaml de ejemplo para ver todas las opciones disponibles de configuración.

Nota: Para las versiones nginx-ingress-controller 0.23.0+, el servidor nginx que escucha en el puerto 18080 fue eliminado, puede ser restaurado añadiendo el siguiente http-snippet al configmap de configuración:

  http-snippet: |
    server {
      listen 18080;

      location /nginx_status {
        allow all;
        stub_status on;
      }

      location / {
        return 404;
      }
    }

Recopilación de logs

Disponible para las versiones >6.0 del Agent

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

ParámetroValor
<LOG_CONFIG>[{"service": "controller", "source": "nginx-ingress-controller"}]

Validación

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

Datos recopilados

Métricas

nginx_ingress.controller.cpu.time
(count)
Cpu usage in seconds
Shown as second
nginx_ingress.controller.last.reload.success
(gauge)
Whether the last configuration reload attempt was successful
nginx_ingress.controller.mem.resident
(gauge)
Resident memory size in bytes
Shown as byte
nginx_ingress.controller.mem.virtual
(gauge)
Virtual memory size in bytes
Shown as byte
nginx_ingress.controller.reload.success
(count)
Cumulative number of Ingress controller reload operations
nginx_ingress.controller.request.duration.count
(gauge)
The count of request processing time
nginx_ingress.controller.request.duration.sum
(gauge)
The sum of request processing time
Shown as millisecond
nginx_ingress.controller.request.size.count
(gauge)
The count of request size
nginx_ingress.controller.request.size.sum
(gauge)
The sum of request size
Shown as byte
nginx_ingress.controller.requests
(count)
The total number of client requests
Shown as request
nginx_ingress.controller.response.duration.count
(gauge)
Count of response duration per Ingress
nginx_ingress.controller.response.duration.sum
(gauge)
Sum of response duration per Ingress
Shown as second
nginx_ingress.controller.response.size.count
(gauge)
Count of response size per Ingress
nginx_ingress.controller.response.size.sum
(gauge)
Sum of response size per Ingress
Shown as byte
nginx_ingress.controller.upstream.latency.count
(gauge)
Count of upstream service latency per Ingress
nginx_ingress.controller.upstream.latency.quantile
(gauge)
Quantiles of upstream service latency per Ingress
Shown as second
nginx_ingress.controller.upstream.latency.sum
(gauge)
Sum of upstream service latency per Ingress
Shown as second
nginx_ingress.nginx.bytes.read
(count)
Number of bytes read
Shown as byte
nginx_ingress.nginx.bytes.write
(count)
Number of bytes written
Shown as byte
nginx_ingress.nginx.connections.current
(gauge)
Current number of client connections with state
Shown as connection
nginx_ingress.nginx.connections.total
(count)
Total number of connections with state
Shown as connection
nginx_ingress.nginx.cpu.time
(count)
Cpu usage in seconds
Shown as second
nginx_ingress.nginx.mem.resident
(gauge)
Resident memory size in bytes
Shown as byte
nginx_ingress.nginx.mem.virtual
(gauge)
Virtual memory size in bytes
Shown as byte
nginx_ingress.nginx.process.count
(gauge)
Number of nginx processes
Shown as process
nginx_ingress.nginx.requests.total
(count)
Total number of client requests
Shown as request

Eventos

El controlador de entrada de NGINX no incluye ningún evento.

Checks de servicio

El controlador de entrada de NGINX no incluye ningún check de servicio.

Solucionar problemas

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