Skip to main content

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 ejemplo nginx: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.