# Cloud Foundry

# Introducción

Cloud Foundry tiene una arquitectura basada en contenedores que ejecuta aplicaciones en cualquier lenguaje de programación.

Para su administración organiza los contenedores en Organizaciones, Espacios y Apps.

Con el Plugin de PandoraFMS podremos obtener información mediante la API utilizando la herramienta CF-CLI

# Matriz de compatibilidad

Probado en entorno Pivotal Cloud Foundry

# Pre requisitos

Para el correcto funcionamiento de este plugin es necesario que se instale la herramientaCF CLI en el servidor donde se vaya a ejecutar el plugin y la libreria PandoraFMS::PluginTools.

Esta librería está disponible con la instalación del paquete Pandora FMS OpenSource.

Puede descargar la última versión de:

  
https://github.com/pandorafms/pandorafms/blob/develop/pandora\_server/lib/PandoraFMS/PluginTools.pm

  
Para la instalación de la herramienta CF CLI puede descargarlo desde la siguiente URL, seleccionar el paquete necesario y realizar su instalación:

  
[https://pivotal.io/platform/pcf-tutorials/getting-started-with-pivotal-cloud-foundry/install-the-cf-cli](https://pivotal.io/platform/pcf-tutorials/getting-started-with-pivotal-cloud-foundry/install-the-cf-cli)

  
[https://github.com/cloudfoundry/cli#downloads](https://github.com/cloudfoundry/cli#downloads)

  
Para probar si la herramienta se ha instalado correctamente puede probar este comando  
si tiene usuario en Pivotal Cloud Foundry:

  
cf login -a [https://api.run.pivotal.io](https://api.run.pivotal.io)

  
En el caso de que no sea así puede probar contra la api de Cloud Foundry que vaya a monitorizar:

  
cf login -a &lt;URL\_API&gt;

# Configuración del plugin

Dentro del fichero de configuración del plugin deben indicarse los siguientes parámetros:

```
#Ejemplo parámetros plugin Cloud Foundry
api_url https://api.run.pivotal.io
username user@artica.es
password password
organization Artica
space development
# Pandora Server configuration
mode tentacle
tentacle_ip nova.lab.artica.lan
tentacle_port 41121
tentacle_client tentacle_client
local_folder /var/spool/pandora/data_in
temp /tmp
```

**api\_url**  
API de Cloudfoundry a la que el plugin se loguea para realizar toda la  
monitorización. En el caso de que se monitorice un entorno Pivotal esta será la URL  
https://api.run.pivotal.io  
**username**  
Usuario de acceso  
**password**  
Password de acceso de ese usuario  
**organization**  
El nombre de una de las organizaciones a las que el usuario puede acceder. Es  
necesario para el login, posteriormente hará un escaneo de todas las Organizaciones  
**space**  
inicial.  
**mode**  
El nombre de uno de los espacios de la organización. Solo es necesario para el login  
Modo de transferencia de ficheros XML, puede ser:  
● local: copia los ficheros a ​ local\_folder  
● tentacle: transfiere los ficheros a ​ tentacle\_ip​ por ​ tentacle\_port  
**tentacle\_ip**  
Dirección IP o FQDN donde Pandora FMS está trabajando.  
**tentacle\_port**  
Puerto donde el servicio Tentacle asociado a su servidor Pandora FMS está  
escuchando.  
**tentacle\_opts**  
Opciones extra para el cliente Tentacle.  
**tentacle\_client**  
Path donde encontrar el binario del cliente tentacle.  
**local\_folder**  
Ubicación donde mover los archivos en el modo ​ local.  
**temp**  
Ubicación temporal donde almacenar los archivos antes de enviarlos.

# Ejecución manual

Este plugin se puede lanzar como plugin de agente ( module\_plugin Cloud\_foundry\_v1.0.pl cloud\_foundry.conf ) o bien como plugin de servidor añadiendolo a la lista de plugins de igual modo a la ejecución manual que se explica más abajo.

  
Ejecución del plugin:

```
./Cloud_foundry_v1.0.pl cloud_foundry.conf
```

Ejecución del plugin binaria:

```
./Cloud_foundry_v1.0.64 cloud_foundry.conf
```

# Módulos generados por el plugin

La ejecución estándar de este plugin devolverá los siguientes módulos por defecto:

  
Se crearán los siguientes agentes:

  
**- Un agente por organización con los siguientes módulos:**  
Status  
Mem usage %  
  
**- Un agente por espacio con los siguientes módulos:**  
Mem Usage %  
App Count  
Service Count

**- Un agente por aplicación con los siguientes módulos:** Mem Usage %  
Disk Usage %  
Status  
CPU Usage %

Todos los módulos generados se obtienen a través de la API de Cloud Foundry. En el caso de necesitar la inserción de nuevos módulos tienen que estar disponibles en la misma.

https://apidocs.cloudfoundry.org/10.1.0/