# Proxmox # 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**
--confRuta 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/](https://pandorafms.com/library/) [![image.png](https://pandorafms.com/guides/public/uploads/images/gallery/2023-10/scaled-1680-/image.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2023-10/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: - **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. [![image.png](https://pandorafms.com/guides/public/uploads/images/gallery/2023-10/scaled-1680-/kwTimage.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2023-10/kwTimage.png) .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. [![image.png](https://pandorafms.com/guides/public/uploads/images/gallery/2023-10/scaled-1680-/Mngimage.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2023-10/Mngimage.png) 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. [![image.png](https://pandorafms.com/guides/public/uploads/images/gallery/2023-10/scaled-1680-/3vlimage.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2023-10/3vlimage.png) # 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