Proxmox

Este documento describe la funcionalidad Proxmox del discovery de PandoraFMS.

Introducción

Este plugin tiene como finalidad monitorizar Proxmox, mediante métricas relevantes como memoria, cpu y discos de las máquinas existentes en el entorno proxmox. 

El plugin se conecta al API de Proxmox y monitoriza Nodos, Contenedores lxc o máquinas virtuales mediante las métricas anteriormente mencionadas, generando un agente para cada elemento vía XML que envía al servidor de pandora.

Matriz de compatibilidad

Sistemas donde se ha probado Rocky linux, Fedora 34
Sistemas donde funciona Cualquier sistema linux

Prerrequisitos

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 configuración

Parámetros

--conf Ruta al archivo de configuración

Archivo de configuración (--conf)

agents_group_name  = < Nombre del grupo de destino para los agentes creados >
interval           = < Intervalo en segundos para los agentes y para el analisis de métricas >
temporal           = < Ruta en la que se crearan los ficheros temporales >
transfer_mode      = < Modo de transferencia, tentacle o local > 
tentacle_client    = < Ruta del cliente de tentacle, por defecto "tentacle_client"
tentacle_ip        = < IP de la máquina destino para los agentes creados >
tentacle_port      = < Puerto de tentacle, por defecto : 41121 >
tentacle_opts      = < Opciones adicionales de tentacle client >
data_dir           = < (Solo se activa si el transfer_mode es local) Ruta de destino para los XML de cada agente, por defecto "/var/spool/pandora/data_in/" >

prefix             = < Prefijo para los agentes creados >

host               = < Host de proxmox >
user               = < Usuario de proxmox >
password           = < Contraseña de proxmox >
port               = < Puerto de proxmox > 

scan_nodes         = < Activar con 1 para habilitar monitorización de nodos generalizada >
scan_backups       = < Activar con 1 para habilitar monitorización de backups generalizada >
scan_vms           = < Activar con 1 para habilitar monitorización de vms generalizada >
scan_lxc           = < Activar con 1 para habilitar monitorización de lxc generalizada >

discard_nodes      = < Lista con Nodos a descartar de la monitorización > 

# Los siguientes parámetros solo son requeridos para el uso de custom fields.

pandora_url        = < Url de pandora >
api_pass           = < Contraseña para la api >
api_user           = < Usuario de la api >
apiuser_pass      = < Contraseña del usuario de la api >

Ejemplo

agents_group_name  = proxmox
interval           = 300
temporal           = /tmp/
transfer_mode      = tentacle
tentacle_client    = tentacle_client
tentacle_ip        = 172.42.42.101
tentacle_port      = 41121
tentacle_opts      = ""
data_dir           = /var/spool/pandora/data_in/

prefix             = Proxmox.

pandora_url        = http://172.42.42.101/pandora_console
api_pass           = 1234
api_user           = admin
apiuser_pass      = pandora

host               = 192.168.80.134
user               = root@pam
password           = A34mS!
port               = 8006

scan_nodes         = 1
scan_backups       = 1
scan_vms           = 1
scan_lxc           = 1

discard_nodes      = ["Node4","Node7"]

Ejecucion manual

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

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


Por ejemplo:

./pandora_proxmox --conf /usr/share/pandora_server/util/plugin/proxmox.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 de cada región monitorizada que enviará al servidor de Pandora FMS por el método de transferencia indicado en la configuración.

Por ejemplo:

{"summary": {"Total agents": 5, "Nodes agents": 1, "Vms agents": 2, "Lxc agents": 1}}

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/

image.png

Una vez cargado, se podrán monitorizar entornos de Proxmox creando tareas de Discovery desde la sección Management > Discovery > Apps.

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

image.png

.También se podrá ajustar la configuración de la tarea para personalizar la monitorización deseada:

image.png

Las 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

La ejecución del plugin, creara los siguientes agentes y módulos:

status
state
uptime
maxdisk
maxcpu
maxmem
disk
cpu 
mem
ssl_fingerprint
status
state
cpus
cpu
mem
disk
diskread
diskwrite
maxdisk
maxmem
netin
netout
uptime


Nombre: vmid, node_backup_info
Descripción: next_run,schedule,storage,backup_id,repeat-missed
valor: enabled or disabled

Y también dispone de otro módulo que mostrara, cuanto tiempo falta para el siguiente backup en segundos:

Nombre: vmid, node_backup_info
Descripción: Tiempo en segundos para la siguiente copia de seguridad
valor: segundos que faltan para el siguiente backup