# Digital Ocean Discovery
# Introducción
**Este plugin tiene como finalidad monitorizar droplets de Digital Ocean**, mediante métricas claves referentes al CPU, memoria, disco, bandwith y status de estos , que son esenciales para llevar un control y seguimiento de estos recursos.
El plugin se conecta al API REST de Digital Ocean y monitoriza el entorno mediante las métricas anteriormente mencionadas, generando un agente para cada zona e instancia via XML que envía al servidor de pandora.
# Prerrequisitos
- Conectividad a la API de Digital Ocean
# Parámetros
**Parámetros**
--conf | Ruta al archivo de configuración |
**Archivo de configuración (--conf)**
```
token = < Token Bearer de autenticación >
agents_group_name = < Nombre del grupo de destino para los agentes creados >
threads = < Número máximo de threads utilizados >
interval = < Intervalo en segundos para los agentes >
use_prefix = < Activar con 1 para habilitar el uso de prefijos >
prefix = < Prefijo para el nombre de los agentes >
applicate_project = < Activar con 1 para poder especificar un proyecto al que apuntar >
filter_project = < Si se especifica un proyecto, solo se crearan agentes de estos >
transfer_mode = tentacle
data_dir = /var/spool/pandora/data_in
tentacle_ip = < IP de la máquina destino para los agentes creados >
tentacle_port = < Puerto de tentacle, por defecto : 41121 >
discard_activate = < Activar con 1 para poder especificar droplets que descartar en la monitorizacion >
discard_droplets = < Especifica droplets para descartar, ejemplo : ["droplet1","droplet2"]
```
Ejemplo
```
token = dop_v1_JSUzI1NiIsImtpZCI6IkVpeVhfTFFzSWpmcGtjZzM0blZrZDY3YUtMbzNqTWZmcmdLZ2NKbl
agents_group_name = Applications
threads = 2
interval = 300
use_prefix = 1
prefix = DigitalOcean.
applicate_project = 1
filter_project = SeraCents
transfer_mode = tentacle
data_dir = /var/spool/pandora/data_in
tentacle_ip = 172.42.42.101
tentacle_port = 41121
discard_activate = 1
discard_droplets = ["ubuntu-s-1vcpu-1gb-sfo3-01","ubuntu-s-1vcpu-4gb-sfo3-03"]
```
# Ejecución manual
El formato de la ejecución del plugin es el siguiente:
```
./pandora_digitalocean --conf < ruta al fichero de configuración >
```
Por ejemplo:
```
./pandora_digitalocean --conf /usr/share/pandora_server/util/plugin/digitalocean.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 monitorizado que enviará al servidor de Pandora FMS por el método de transferencia indicado en la configuración.
Por ejemplo:
```
{"summary": {"Total agents": 18}}
```
# 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/2024-03/bUeimage.png)
Una vez cargado, se podrán monitorizar entornos de Kubernetes creando tareas de *Discovery* desde la sección *Management > Discovery > App*
Para cada tarea se solicitarán los siguientes datos mínimos:
- **Token:** Token de digital ocean.
- **Use prefix**: Para especificar un prefijo en los agentes
- **Filter project :** Para apuntar a un proyecto determinado
- **Discard droplets :** Para descartar droplets
- **Max threads:** Número máximo de threads
- **Tentacle IP**: IP del servidor de Tentacle al que enviar los datos de los agentes. Normalmente este parámetro no se modificará.
- **Tentacle port**: Puerto del servidor de Tentacle al que enviar los datos. Normalmente este parámetro no se modificará.
[](https://pandorafms.com/guides/public/uploads/images/gallery/2024-03/HE3image.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.
[](https://pandorafms.com/guides/public/uploads/images/gallery/2024-03/i97image.png)
# Agentes y módulos generados por el plugin
La ejecución del plugin, creara los siguientes agentes y módulos:
- **Agente global**
< prefix ><Digital Ocean > |
**Modules**
Account balance |
Droplets |
Month to data balance |
Month to date usage |
- **Un agente por cada droplet**
< prefix >< Nombre Droplet > |
**Modules**
Status |
Cpu % |
Mem % |
Load 1 |
Load 5 |
Load 15 |
Public inbound |
Public outbound |
Private inbound |
Private outbound |
< Nombre del último backup > |
< Nombre del último snapshot > |
< Nombre disco > % |