Prometheus

Este documento describe la funcionalidad prometheus de de PandoraFMS, compuesta por el plugin de discovery.

Introducción

Este plugin tiene como finalidad monitorizar  Prometheus, mediante consultas personalizadas que extraen información clave para evaluar el rendimiento y el estado del servicio. Los datos obtenidos se reflejan en Pandora FMS en forma de módulos que proporcionan valores estadísticos dentro de un agente o varios según la configuración realizada.

Pre requisitos

El plugin es un binario que contiene las dependencias empaquetadas por lo que no es necesaria la instalación de ningún tipo de dependencia para su uso.

Parámetros y configuracion

Parámetros

--conf Ruta al archivo de configuración

Archivo de configuración (--conf)

[CONF]
agents_group  = < ID del grupo para los agentes >
interval      = < Intervalo de creación de los agentes >
prefix        = < Prefijo para los agentes creados >
agent_name    = < Nombre del agente principal. Por defecto : Prometheus  >
url           = < Url de la instancia prometheus. Por ejemplo : http://172.0.1.3:9090 >
username      = < Nombre de usuario de la instancia. Solo necesario si esta configurado la autenticación básica >
password      = < Contraseña de la instancia. Solo necesario si esta configurado la autenticación básica >
transfer_mode = < Modo de transferencia de los agentes. Opciones : tentacle y local >
tentacle_ip   = < Dirección IP de tentacle >
tentacle_port = < Puerto de tentacle >
tentacle_opts = < Opciones extra de tentacle >
temporal      = < Ruta de ficheros temporales >

[QUERIES]

< Nombre de la metrica > = < Consulta personalizada >

[THRESHOLDS]

< Nombre de la metrica > = < Umbrales deseados en el modulo, separados por "|" >

[AGENTS]

< Nombre de la metrica > = < Nombre del nuevo agente. Todas las métricas en las que no se especifique agente se incluiran en el agente principal >

Ejemplo

[CONF]
agents_group  = 17
interval      = 300
prefix        = "Kube-"
agent_name    = Prometheus
username      = admin
password      = admin123
tentacle_ip   = 172.42.42.101
tentacle_port = 41121

[QUERIES]
node_cpu_avg = avg_over_time(node_cpu_seconds_total[15m])
up_status = up
cpu_idle_avg = node_cpu_seconds_total{mode="idle",cpu="0"}
http_requests_sum = http_requests_total
disk_free_last = node_filesystem_avail_bytes{mountpoint="/"}
memory_used_avg = node_memory_MemAvailable_bytes
node_cpu_seconds = node_cpu_seconds_total{mode="idle",cpu="0"}[15m]

[THRESHOLDS]
cpu_idle_avg = min_critical 75|min_warning 60

[AGENTS]
node_cpu_seconds = Prometheus cpu

Ejecucion manual

El formato de la ejecución del plugin es el siguiente:

./pandora_prometheus --conf < ruta al fichero de configuración >

Por ejemplo:

./pandora_prometheus --conf /usr/share/pandora_server/util/plugin/prometheus.conf

La ejecución devolverá una salida en formato JSON con información sobre la ejecución, y generará un fichero XML para cada agente monitorizado que enviará al servidor de Pandora FMS por el método de transferencia indicado en la configuración.

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://marketplace.pandorafms.com/

Una vez cargado, se podrán monitorizar instancias de Prometheus creando tareas de Discovery desde la sección Management > Discovery > App

Captura desde 2025-11-26 12-16-37.png

Para cada tarea se solicitarán los siguientes datos mínimos:

En la siguiente página se nos requerirán los siguientes :

Captura desde 2025-11-26 12-22-06.png

Captura desde 2025-11-26 12-27-06.png

Captura desde 2025-11-26 12-58-38.pngLas tareas completadas con éxito tendrán un resumen de ejecución con la siguiente información:

image.png

Agentes y módulos generados por el plugin

El plugin creara un agente principal que contendra todas las metricas especificas a las que no se les asigne un agente. El plugin creara un agente para diferentes metricas si se especifica en la configuración.