# Instalación Automatica Agente Linux

# Introducción

En la siguiente guía vamos a instalar en forma automática el agente de PandoraFMS en Linux en las distribuciones soportadas:

1. CentOS 7
2. CentOS8
3. Debian 9.x o Superior
4. Ubuntu 18.x o Superior
5. Raspbian 9.x
6. RaspberryOS 10.x

<p class="callout success">El agente tendrá los valores básicos del sistema operativo y ejecutara un **Speedtest cada media hora** y estará disponible para poder analizar la velocidad de nuestro enlace de internet</p>

**¿Que vamos a monitorizar en Linux?**  
La respuesta es muy simple vamos a ver los valores que son importante tener en cuenta en la salud de un sistema operativo los cuales son:

<p class="callout info">Porcentaje de uso de Disco  
Tiempo de espera de CPU  
Uso de CPU  
Uso de red   
Velocidad de internet (Speed Test)</p>

La medición de velocidad de internet se hace utilizando el cliente de Linux de la pagina [https://www.speedtest.net/](https://www.speedtest.net/) una herramienta muy confiable para este tipo de pruebas, vamos a obtener velocidad de descarga y carga como se puede ver en la siguiente imagen:

[![image-1604327078152.png](https://pandorafms.com/guides/public/uploads/images/gallery/2020-11/scaled-1680-/image-1604327078152.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2020-11/image-1604327078152.png)

[SIGUIENTE &gt;](https://pandorafms.com/guides/public/books/instalacion-automatica-agente-linux/page/descargar-y-descomprimir-el-script)

# Descargar y descomprimir el script

El script esta disponible en forma gratuita en la librería de PandoraFMS

para descargar el script ejecutamos el comando

```shell
wget https://pandorafms.com/library/wp-content/uploads/2020/11/Install-PandoraAgent.tgz 
```

Luego descomprimimos el archivo con el comando

```shell
tar xvzf Install-PandoraAgent.tgz
```

Si todo funciono en forma correcta vemos algo similar a esto

[![image-1604193211737.png](https://pandorafms.com/guides/public/uploads/images/gallery/2020-11/scaled-1680-/image-1604193211737.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2020-11/image-1604193211737.png)

[&lt; ANTERIOR](https://pandorafms.com/guides/public/books/instalacion-automatica-agente-linux/page/introduccion) [SIGUIENTE &gt;](https://pandorafms.com/guides/public/books/instalacion-automatica-agente-linux/page/ejecutar-el-script)

# Ejecutar el script

<p class="callout info align-left">**El script soporta la siguientes distribuciones de Linux: CentOS7, CentOS8, Debian 9.x o superior, Ubuntu 18.x o Superior, Raspbian 9.x, Raspberry OS 10.x** </p>

<p class="callout warning">**Se requiere disponer de conexión a internet ya que el agente se descarga como parte del proceso**</p>

Ingresamos en el directorio del agente y luego lo ejecutamos con el comando de la siguiente forma

> **./Install\_agent.sh \[server\]**

Un Ejemplo practico seria: **./Install\_agent.sh 192.168.110.20,** donde la IP 192.168.110.20 corresponde a nuestro servidor de **PandoraFMS**

El script detecta en forma automática cual es la distribución de Linux en esta guía veremos el ejemplo con una Raspberry PI, pero obtendremos un resultado similar en cualquiera de las distribuciones soportadas por el mismo

Vemos el ejemplo de ejecución:

[![image-1604193593648.png](https://pandorafms.com/guides/public/uploads/images/gallery/2020-11/scaled-1680-/image-1604193593648.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2020-11/image-1604193593648.png)

Esperamos que el script termine de ejecutarse, demora unos minutos dependiendo de la conexión a internet que disponemos para realizar el proceso:

[![image-1604193682897.png](https://pandorafms.com/guides/public/uploads/images/gallery/2020-11/scaled-1680-/image-1604193682897.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2020-11/image-1604193682897.png)

[![image-1604194323764.png](https://pandorafms.com/guides/public/uploads/images/gallery/2020-11/scaled-1680-/image-1604194323764.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2020-11/image-1604194323764.png)

[&lt; ANTERIOR](https://pandorafms.com/guides/public/books/instalacion-automatica-agente-linux/page/ejecutar-el-script) [SIGUIENTE&gt;](https://pandorafms.com/guides/public/books/instalacion-automatica-agente-linux/page/agentes-en-consola-web)

# Agentes en Consola WEB

Vemos los agentes creados con este script

[![image-1604194672085.png](https://pandorafms.com/guides/public/uploads/images/gallery/2020-11/scaled-1680-/image-1604194672085.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2020-11/image-1604194672085.png)

[![image-1604194722737.png](https://pandorafms.com/guides/public/uploads/images/gallery/2020-11/scaled-1680-/image-1604194722737.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2020-11/image-1604194722737.png)

[![image-1604194755303.png](https://pandorafms.com/guides/public/uploads/images/gallery/2020-11/scaled-1680-/image-1604194755303.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2020-11/image-1604194755303.png)**<span>En rojo se pueden ver los valores del Speedtest ejecutado en un agente con CentOS 8 (La medición esta expresada en MB/seg)</span>**

[<span style="text-align: center;">&lt;ANTERIOR</span>](https://pandorafms.com/guides/public/books/instalacion-automatica-agente-linux/page/ejecutar-el-script) [SIGUIENTE &gt;](https://pandorafms.com/guides/public/books/instalacion-automatica-agente-linux/page/como-funciona-speedtest)

# Como funciona Speedtest

Ya tenemos instalado el script ahora vamos a ver como funciona el mismo para poder entender y poder aprender mas sobre el funcionamiento de **PandoraFMS**, al ejecutar el instalador se crea la carpeta **/root/bin** (en caso de que no exista), dentro de esta carpeta vamos a encontrar varios scripts

[![image-1604322344832.png](https://pandorafms.com/guides/public/uploads/images/gallery/2020-11/scaled-1680-/image-1604322344832.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2020-11/image-1604322344832.png)

El archivo **pandora\_agent.conf** (es la versión inicial creada por el script al realizar la instalación), en cuanto al funcionamiento de la herramienta de Speedtest se utiliza la el cliente en Python el cual es el archivo **speedtest-cli,** para que se puedan tomar las métricas se crea una tarea programada que ejecuta el script **/bin/speedtest.sh** el cual se ejecuta una vez cada media hora pueden validarlo con el comando

```shell
crontab -l
```

[![image-1604322553252.png](https://pandorafms.com/guides/public/uploads/images/gallery/2020-11/scaled-1680-/image-1604322553252.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2020-11/image-1604322553252.png)

El mismo genera un archivo **speedtest.log**, donde el agente de **PandoraFMS**, toma las métricas

[![image-1604322608558.png](https://pandorafms.com/guides/public/uploads/images/gallery/2020-11/scaled-1680-/image-1604322608558.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2020-11/image-1604322608558.png)

Los scripts **speedtest\_upload.sh** y **speedtest\_download.sh** son los que toman los valores para poder sumarlos en **PandoraFMS**

[  
![image-1604322701348.png](https://pandorafms.com/guides/public/uploads/images/gallery/2020-11/scaled-1680-/image-1604322701348.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2020-11/image-1604322701348.png)

Para finalizar las lineas correspondientes a los test de velocidad de internet en nuestro archivo de configuración **pandora\_agent.conf** son las siguientes:

```shell
# SpeedTest Download
module_begin
module_name SpeedTestDownload
module_type generic_data
module_description Speedtest Download
module_exec /root/bin/speedtest_download.sh
module_group Networking
module_end

# Ping SpeedTest Upload
module_begin
module_name SpeedTestUpload
module_type generic_data
module_description Speedtest Upload
module_exec /root/bin/speedtest_upload.sh
module_group Networking
module_end
```

**[&lt;ANTERIOR](https://pandorafms.com/guides/public/books/instalacion-automatica-agente-linux/page/agentes-en-consola-web) [SIGUIENTE&gt;](https://pandorafms.com/guides/public/books/instalacion-automatica-agente-linux/page/monitores-adicionales)**

# Monitores adicionales

Al realizar la instalación del agente en forma automatizada se sumaron algunos scripts de gran utilidad que no forman parte de la instalación automatizada pero pueden utilizar simplemente agregando algunas lineas en el archivo **pandora\_agent.conf** como podemos ver en los siguientes ejemplos

Ping a una IP, para el ejemplo vamos a utilizar el DNS de google 8.8.8.8, para que funcione será suficiente con agregar las siguientes lineas **(utiliza el script /root/bin/ping.sh)**

```shell
## Ping DNS Google
module_begin
module_name Ping-DNS-Google
module_type generic_data
module_description Ping a DNS Google
module_max_critical 1
module_exec /root/bin/ping.sh 8.8.8.8
module_group Networking
module_end
```

[![image-1604325679286.png](https://pandorafms.com/guides/public/uploads/images/gallery/2020-11/scaled-1680-/image-1604325679286.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2020-11/image-1604325679286.png)**Ejemplo Ping a Switch 192.168.10.10**

Para poder medir la cantidad de paquetes perdidos a una IP por ejemplo el DNS de google 8.8.8.8 será suficiente con agregar las siguientes lineas **(utiliza el script /root/bin/pl.sh)**

```shell
## Perdida de paquetes a DNS Google 8.8.8.8
module_begin
module_name PorcentajePerdidaPaquetesDNSGoogle
module_type generic_data
module_description Porcentaje Perdida Paquetes DNS Google 8.8.8.8
module_exec /root/bin/pl.sh 10 8.8.8.8
module_group Networking
module_end

```

[![image-1604325567410.png](https://pandorafms.com/guides/public/uploads/images/gallery/2020-11/scaled-1680-/image-1604325567410.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2020-11/image-1604325567410.png)  
**Ejemplo realizando una prueba a google.com.ar**

Para completar los monitores que son útiles para conocer la salud de nuestro enlace de internet con las siguientes lineas podemos medir la latencia de red a una IP es interesante utilizar la misma que en ping del paso anterior

```shell
## Latencia de Red
module_begin 
module_name PingLatenciaGoogleDNS 
module_type generic_data 
module_description PingLatenciaDNSGoogle
module_exec ping 8.8.8.8 -c 3 | grep "rtt min" | awk '{ print $4 }' | cut -f 2 -d "/" 
module_group Networking
module_end 
```

[![image-1604326203872.png](https://pandorafms.com/guides/public/uploads/images/gallery/2020-11/scaled-1680-/image-1604326203872.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2020-11/image-1604326203872.png)**Ejemplo Latencia Google.com**

[&lt; ANTERIROR](https://pandorafms.com/guides/public/books/instalacion-automatica-agente-linux/page/como-funciona-speedtest)