Discovery
Este plugin puede integrarse con el Discovery de Pandora FMS.
Para ello se debe cargar el paquete ".disco" que puede descargar desde la librería de Pandora FMS:
https://pandorafms.com/library/
Una vez cargado, se podrán monitorizar las instancias de NGINX creando tareas de Discovery desde la sección Management > Discovery > Application > NGINX
Para cada tarea se solicitarán los siguientes datos mínimos en el paso NGINX Basic:
- NGINX Status URLs: URLs del endpoint stub_status de NGINX, separadas por comas o una por línea. Cada URL generará un agente.
- Username: usuario del endpoint de NGINX si requiere autenticación básica HTTP, opcional
- Password: contraseña del endpoint de NGINX si requiere autenticación básica HTTP, opcional
- Verify SSL: activo si es necesario verificar que la URL tenga certificado SSL, por defecto inactivo
- Transfer mode: modo de transferencia (native o tentacle), opcional
- Tentacle IP: ip del tentacle, opcional
- Tentacle port: Puerto del tentacle, opcional
En el paso NGINX Advanced se podrán configurar opciones adicionales:
- Module prefix: prefijo para añadir a todos los nombres de módulos creados, opcional
- Request timeout: tiempo máximo de espera para la petición HTTP en segundos, opcional (por defecto 10)
- Allow list: expresión regular para incluir únicamente los módulos cuyo nombre coincida, opcional
- Deny list: expresión regular para excluir módulos cuyo nombre coincida, opcional
Las tareas completadas con éxito tendrán un resumen de ejecución con la siguiente información:
- Total agents : Número total de agentes generados por la tarea.
- Total modules: Número total de módulos generados por la tarea.
Agentes y módulos generados por el plugin
El plugin creará un agente por cada URL de NGINX indicada. El nombre del agente se calcula aplicando un hash MD5 sobre el netloc de la URL (host:port), y el alias se corresponde con dicho netloc (por ejemplo, 192.168.0.10). En cada agente se incluirán los módulos obtenidos al parsear el texto plano del endpoint stub_status de NGINX.
El módulo Status se crea siempre para cada agente, con valor 1 si el endpoint es alcanzable, indicando que NGINX está funcionando. Si el endpoint no es alcanzable, el plugin reporta el error en la información de ejecución. El resto de campos numéricos se incluyen como módulos generic_data (valores instantáneos) o generic_data_inc (contadores incrementales con cálculo de tasa por segundo), siguiendo el formato <prefix><MetricName>.
Los campos disponibles en el stub_status de NGINX, y que dan lugar a módulos, son:
Status: Estado del endpoint stub_status (1=UP, 0=DOWN) — siempre se monitoriza (generic_proc).
Active_connections: Conexiones activas totales, incluyendo las en espera (generic_data).
Accepts: Conexiones aceptadas acumuladas desde el inicio de NGINX (generic_data_inc, tasa por segundo).
Handled: Conexiones gestionadas acumuladas desde el inicio de NGINX (generic_data_inc, tasa por segundo).
Si el valor es menor que Accepts, NGINX está descartando tráfico.
Requests: Peticiones de cliente procesadas acumuladas desde el inicio de NGINX (generic_data_inc, tasa por segundo).
Reading: Conexiones leyendo cabeceras de petición del cliente (generic_data).
Writing: Conexiones escribiendo respuesta al cliente o procesando petición (generic_data).
Waiting: Conexiones keep-alive inactivas esperando la siguiente petición (generic_data).
Mapeo de tipos de módulo
| Métrica | Tipo de módulo Pandora FMS | Descripción |
|---|---|---|
| Status | generic_proc |
Estado del endpoint (1=reachable, 0=DOWN). Permite configurar alertas críticas cuando el valor es 0. |
| Active_connections | generic_data |
Conexiones activas actuales (gauge). Incluye conexiones en lectura, escritura y espera. |
| Accepts | generic_data_inc |
Conexiones aceptadas acumuladas. Pandora FMS calcula la tasa por segundo automáticamente. |
| Handled | generic_data_inc |
Conexiones gestionadas acumuladas. Pandora FMS calcula la tasa por segundo automáticamente. Si la tasa es menor que la de Accepts, NGINX está descartando conexiones. |
| Requests | generic_data_inc |
Peticiones procesadas acumuladas. Pandora FMS calcula la tasa por segundo automáticamente (peticiones/s). |
| Reading | generic_data |
Conexiones en estado de lectura de cabeceras (gauge). |
| Writing | generic_data |
Conexiones en estado de escritura de respuesta (gauge). |
| Waiting | generic_data |
Conexiones keep-alive inactivas (gauge). Un valor alto es normal con keep-alive habilitado. |
Marcadores extra_data
El plugin asigna identificadores estables en el campo extra_data de cada agente y módulo, siguiendo el formato nginx:<kind>:<identifier>, para permitir su identificación posterior desde la consola, dashboards, extensiones o consultas SQL:
-
Agente:
nginx:target:<url_saneada>— identifica el target NGINX monitorizado. -
Módulo Status:
nginx:metric_status:<url_saneada> -
Módulos de métricas:
nginx:metric_<metric_name>:<url_saneada>— por ejemplonginx:metric_active_connections:...,nginx:metric_accepts:..., etc.
Estos marcadores no contienen ni el nombre del agente ni el del módulo, sino el identificador externo (la URL del target), que es estable y significativo a nivel de dominio.