# Proxmox

# Introducción

**Ver**. 29-11-2022

Plugin para monitorizar proxmox, pudiendo extraer datos de la API de los nodos, backups, maquinas virtuales, lxc containers y storage

<div id="bkmrk-tipo%3A-plug-in-de-ser"><div>**Tipo**: Plug-in de servidor</div></div>

# Matriz de compatibilidad

<table border="1" id="bkmrk-sistemas-donde-se-ha" style="width: 642px;"><tbody><tr><td style="width: 234px;">**Sistemas donde se ha probado**</td><td style="width: 408px;">CentOS 7, Fedora, rocky linux

</td></tr><tr><td style="width: 234px;">**Sistemas donde debería funcionar**</td><td style="width: 408px;">Cualquier sistema linux

</td></tr></tbody></table>

# Pre requisitos

- Tener el **Data Server** de Pandora FMS habilitado
- Tener el **Plugin Server** de Pandora FMS habilitado

# Parámetros

**Parámetros Proxmox**

<table border="1" id="bkmrk-%C2%A0-%C2%A0-%C2%A0-%C2%A0-%C2%A0-%C2%A0-%C2%A0-%C2%A0-%C2%A0-%C2%A0-" style="border-collapse: collapse; width: 100%; height: 290px;"><tbody><tr style="height: 29px;"><td style="width: 50%; height: 29px;">--host</td><td style="width: 50%; height: 29px;">Ip o host de proxmox</td></tr><tr style="height: 29px;"><td style="width: 50%; height: 29px;">--user</td><td style="width: 50%; height: 29px;">Nombre del usuario de proxmox que realizará las consultas</td></tr><tr style="height: 29px;"><td style="width: 50%; height: 29px;">--password</td><td style="width: 50%; height: 29px;">Contraseña del usuario proxmox que realizará las consultas</td></tr><tr style="height: 29px;"><td style="width: 50%; height: 29px;">--port</td><td style="width: 50%; height: 29px;">Por defecto 8006</td></tr><tr style="height: 29px;"><td style="width: 50%; height: 29px;">--vm</td><td style="width: 50%; height: 29px;">Para obtener datos de las máquinas virtuales, 1 para activar 0 para desactivar</td></tr><tr style="height: 29px;"><td style="width: 50%; height: 29px;">--lxc</td><td style="width: 50%; height: 29px;">Obtener datos de los contenedores lxc, 1 para activar 0 para desactivar</td></tr><tr style="height: 29px;"><td style="width: 50%; height: 29px;">--backups</td><td style="width: 50%; height: 29px;">Extraer datos de las copias de seguridad, 1 para activar 0 para desactivar</td></tr><tr style="height: 29px;"><td style="width: 50%; height: 29px;">--nodes</td><td style="width: 50%; height: 29px;">Obtener datos de los nodos, 1 para activar 0 para desactivar</td></tr><tr><td style="width: 50%;">--discard\_node</td><td style="width: 50%;">Descartar un nombre de nodo para el monitoreo de vm y lxc.</td></tr></tbody></table>

**Parámetros configuración pandora**

<table border="1" id="bkmrk-par%C3%A1metro-descripci%C3%B3" style="height: 162px;"><tbody><tr><td style="width: 171.516px;">--transfer\_mode</td><td style="width: 637.375px;">Modo de transferencia, local o tentacle. Por defecto será local.</td></tr><tr style="height: 29px;"><td style="width: 171.516px; height: 29px;">--tentacle\_port</td><td style="width: 637.375px; height: 29px;">Puerto de tentacle.Por defecto 41121(opcional)</td></tr><tr style="height: 29px;"><td style="width: 171.516px; height: 29px;">--tentacle\_address</td><td style="width: 637.375px; height: 29px;">Ip del servidor tentacle al que mandar los datos(opcional)</td></tr><tr style="height: 29px;"><td style="width: 171.516px; height: 29px;">-g,--group</td><td style="width: 637.375px; height: 29px;">Grupo de destino de Pandora FMS (opcional)</td></tr><tr style="height: 29px;"><td style="width: 171.516px; height: 29px;">--data\_dir</td><td style="width: 637.375px; height: 29px;">Directorio de datos de Pandora FMS. **Por defecto** es */var/spool/pandora/data\_in/* (opcional)</td></tr><tr style="height: 46px;"><td style="width: 171.516px; height: 46px;">--as\_discovery\_plugin</td><td style="width: 637.375px; height: 46px;">Para ser ejecutado en modo 'discovery', la ejecución mostrará un json en la salida con información sobre la monitorización.</td></tr></tbody></table>

<p class="callout info">Los backups monitorizables son a nivel de cluster, los backups a nivel de vm o lxc container serán incluidos en una futura actualización.</p>

# Ejecución manual

```shell
./pandora_proxmox \ 
--host < host >  \
--user < user > \
--password < password > \
[ --port < port > ] \
[ --vm < 1 or 0 > ] \
[ --lxc < 1 or 0 > ] \
[ --backups < 1 or 0 > ] \
[ --nodes < 1 or 0 > ] \
[ --transfer_mode < local o tentacle > ] \
[ --tentacle_port < tentacle_port > ] \
[ --tentacle_address < tentacle_address > ] \
[ -g < group > ] \
[ --data_dir < data dir > ] \
[ --as_discovery_plugin < 1 o 0 > ] \
[ --discard_node < nombre de nodo > ]
```

**Ejecución normal**

[![image-1692176765253.png](https://pandorafms.com/guides/public/uploads/images/gallery/2023-08/scaled-1680-/image-1692176765253.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2023-08/image-1692176765253.png)

**Ejecución modo discovery**

[![image-1692176773332.png](https://pandorafms.com/guides/public/uploads/images/gallery/2023-08/scaled-1680-/image-1692176773332.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2023-08/image-1692176773332.png)

# Configuración en PandoraFMS

**Como plugin de servidor**

**Instalación manual**

Se debe ir a la opción a servidores &gt; plugins:

[![image-1689158588025.png](https://pandorafms.com/guides/public/uploads/images/gallery/2023-07/scaled-1680-/image-1689158588025.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2023-07/image-1689158588025.png)

Se debe pinchar en añadir:

[![image-1689158615757.png](https://pandorafms.com/guides/public/uploads/images/gallery/2023-07/scaled-1680-/image-1689158615757.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2023-07/image-1689158615757.png)

Se le pone el nombre y la descripción que se prefiera.

Se debe meter como comando la ejecución con la ruta del plugin:

```
/path_pandora_proxmox
```

<p class="callout info align-center">Recuerda que la ruta recomendada para el uso de los plugins de servidor es: /usr/share/pandora\_server/util/plugin/</p>

Y en parámetros del plugin introduciremos estos seguidos de la macro "\_field&lt;N&gt;\_", son obligatorios los parámetros de conexion, --host, --user y --password, por defecto el plugin tiene activada la extraccion de datos de lxc containers, VMs, de nodos y de backups, pueden desactivarse para una monitorización personalizada.

Una vez hecho esto, daremos a "crear".

Una vez hecho esto, solo queda llamarlo por lo que iremos a la vista de algún agente y crearemos un módulo de complementos:

[![image-1689158791553.png](https://pandorafms.com/guides/public/uploads/images/gallery/2023-07/scaled-1680-/image-1689158791553.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2023-07/image-1689158791553.png)

Le daremos un nombre y en el apartado "plugin" pondremos el que acabamos de configurar.

Una vez hecho esto, damos a crear.

Si el modulo se muestra con 1, quiere decir que se esta ejecutando correctamente.

# Módulos generados por el plugin

El plugin con todos los parámetros activados devolverá lo siguiente:

Un agente para cada nodo con los siguientes módulos:

<table border="1" id="bkmrk-maxdisk-uptime-statu" style="border-collapse: collapse; width: 100%; height: 261px;"><tbody><tr style="height: 29px;"><td style="width: 100%; height: 29px;">maxdisk</td></tr><tr style="height: 29px;"><td style="width: 100%; height: 29px;">uptime</td></tr><tr style="height: 29px;"><td style="width: 100%; height: 29px;">status</td></tr><tr style="height: 29px;"><td style="width: 100%; height: 29px;">maxcpu</td></tr><tr style="height: 29px;"><td style="width: 100%; height: 29px;">disk</td></tr><tr style="height: 29px;"><td style="width: 100%; height: 29px;">mem</td></tr><tr style="height: 29px;"><td style="width: 100%; height: 29px;">maxmem</td></tr><tr style="height: 29px;"><td style="width: 100%; height: 29px;">cpu</td></tr><tr style="height: 29px;"><td style="width: 100%; height: 29px;"><div><div>ssl_fingerprint</div></div></td></tr></tbody></table>

Un agente por cada **maquina virtual** y por cada **lxc container** del nodo con los siguientes módulos:

<table border="1" id="bkmrk-status-netout-diskre" style="border-collapse: collapse; width: 100%; height: 348px;"><tbody><tr style="height: 29px;"><td style="width: 100%; height: 29px;">status</td></tr><tr style="height: 29px;"><td style="width: 100%; height: 29px;">netout</td></tr><tr style="height: 29px;"><td style="width: 100%; height: 29px;">diskread</td></tr><tr style="height: 29px;"><td style="width: 100%; height: 29px;">cpu</td></tr><tr style="height: 29px;"><td style="width: 100%; height: 29px;">disk</td></tr><tr style="height: 29px;"><td style="width: 100%; height: 29px;">mem</td></tr><tr style="height: 29px;"><td style="width: 100%; height: 29px;">netin</td></tr><tr style="height: 29px;"><td style="width: 100%; height: 29px;">uptime</td></tr><tr style="height: 29px;"><td style="width: 100%; height: 29px;">maxmem</td></tr><tr style="height: 29px;"><td style="width: 100%; height: 29px;">maxdisk</td></tr><tr style="height: 29px;"><td style="width: 100%; height: 29px;">diskwrite</td></tr><tr style="height: 29px;"><td style="width: 100%; height: 29px;">cpus</td></tr></tbody></table>

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

<div id="bkmrk-"></div>