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.
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ámetro | Valor |
---|
<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ámetro | Valor |
---|
<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.