Instalación Automatica Agente Linux
Instalación automatica para Agente Linux Distribuciones soportadas:
CentOS7, CentOS8, Debian 9.x, Ubuntu 18.x, Rasbian 9x, Raspberry OS 10

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

 
 CentOS 7 

 CentOS8 

 Debian 9.x o Superior 

 Ubuntu 18.x o Superior 

 Raspbian 9.x 

 RaspberryOS 10.x 

 
 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 

 ¿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: 

 Porcentaje de uso de Disco Tiempo de espera de CPU Uso de CPU Uso de red  Velocidad de internet (Speed Test) 

 La medición de velocidad de internet se hace utilizando el cliente de Linux de la pagina 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: 

 

 SIGUIENTE >

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 

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

 Luego descomprimimos el archivo con el comando  

 tar xvzf Install-PandoraAgent.tgz 

 Si todo funciono en forma correcta vemos algo similar a esto  

 

 < ANTERIOR SIGUIENTE >

Ejecutar el script
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 

 Se requiere disponer de conexión a internet ya que el agente se descarga como parte del proceso 

 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: 

 

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

 

 

 < ANTERIOR 

 SIGUIENTE>

Agentes en Consola WEB
Vemos los agentes creados con este script 

 

 

 En rojo se pueden ver los valores del Speedtest ejecutado en un agente con CentOS 8 (La medición esta expresada en MB/seg) 

 <ANTERIOR   SIGUIENTE >

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  

 

 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  

 crontab -l 

 

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

 

 Los scripts speedtest_upload.sh y speedtest_download.sh son los que toman los valores para poder sumarlos en PandoraFMS 

 

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

 # 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 

 <ANTERIOR 

   SIGUIENTE>

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) 

 ## 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 

 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) 

 ## 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

 

 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   

 ## 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  

 Ejemplo Latencia Google.com 

 < ANTERIROR