# 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**
--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/](https://pandorafms.com/library/)
[](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.
[](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.
[](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.
[](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