Proxmox
Este documento describe la funcionalidad Proxmox del discovery de PandoraFMS.
- Introducción
- Matriz de compatibilidad
- Prerrequisitos
- Parámetros y configuración
- Ejecucion manual
- Discovery
- Agentes y módulos generados por el plugin
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
- Conectividad a la API de Proxmox
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/
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:
- Proxmox host: IP de proxmox.
- Port: Puerto de proxmox (8006 por defecto)
- Proxmox user: Usuario de proxmox
- Password: Contraseña de proxmox
- Tentacle IP: IP de tentacle
- Tentacle port: Puerto de tentacle
- Agent name prefix: Prefijo para el nombre de los agentes generados.
.También se podrá ajustar la configuración de la tarea para personalizar la monitorización deseada:
- Scan VMs : Activar para habilitar la monitorización de máquinas virtuales.
- Scan LXC: Activar para habilitar la monitorización de contenedores lxc.
- Scan backups: Activar para habilitar la monitorización de backups.
- Scan nodes: Activar para habilitar la monitorización de nodos.
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.
- Vms agents : Número total de agentes de vms creados por la tarea.
- LXC agents : Número total de agentes de lxc containers creados por la tarea.
- Nodes Agents : Número total de agentes de nodos creados por la tarea.
Agentes y módulos generados por el plugin
La ejecución del plugin, creara los siguientes agentes y módulos:
- Un agente por cada Nodo con los siguientes módulos :
status |
state |
uptime |
maxdisk |
maxcpu |
maxmem |
disk |
cpu |
mem |
ssl_fingerprint |
- Un agente por cada máquina virtual y por cada contenedor lxc con los siguientes módulos :
status |
state |
cpus |
cpu |
mem |
disk |
diskread |
diskwrite |
maxdisk |
maxmem |
netin |
netout |
uptime |
- Un agente para backups que tendrá un módulo por cada backup con los siguientes datos (información general):
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