Linux ekipoa Centreon-ekin monitorizatuz, adibidea Raspberry Pi batekin + CPUren tenperatura
Post hau jarriko dut niri etorritako eskaera guztietarako nola monitorizatu Linux zerbitzari bat,. Jakina, banaketaren araberakoa da, Gaur adibide bat dugu Debian batekin eta zehazki Raspberry Pi batean Raspbianekin. Neurri oinarrizkoak monitorizatuko ditugu, hala nola CPU, RAM memoria, Swap memoria, diskoak, sareko trafikoa, uptime… eta azkenik, oso interesgarria den zerbait ikusiko dugu!
Onena, has gaitezen, Lehenik eta behin SNMP demonioa instalatuko dugu:
[sourcecode]sudo apt-get update && sudo apt-get install snmpd snmp -y[/sourcecode]
SNMP konfigurazio fitxategia editatuko dugu eta lerro hauek aldatuko ditugu: lehenik SNMPk makinaren interfaze guztietan entzun dezan gaituko dugu eta ondoren SNMP komunitate bat ezarriko dugu eta IP tarte zein kontsulta egin dezakeen iragaziko dugu (Nagios makina, Centreon…), kasu honetan bertsioa erabiliko dugu 2 SNMP:
[sourcecode]sudo nano /etc/snmp/snmpd.conf
…
agentAddress 161
…
rocommunity public 192.168.1.0/24
…[/sourcecode]
Azkenik zerbitzua berrabiaraziko dugu konfigurazioa berrikusi dezan:
[sourcecode]sudo /etc/init.d/snmpd restart[/sourcecode]
Eta azkenean Centreon-era joan gaitezke Linux host hau sortzera monitorizatzeko, oso erraza izango da, Linux zerbitzari baten oinarrizko txantiloia gehitzea besterik ez badugu, oinarrizko monitorizazioa izango dugu. Beraz “Konfigurazioa” > “Hosts” > “Gehitu…” eta Linux makina nahi dugun bezala sortzen dugu, le indicamos su nombre, dirección IP, comunidad SNMP y en Templates añadiremos al menos la de OS-Linux-SNMP-custom o sin custom 🙂
Guardamos el host,
Y si no tenemos las plantillas cargadas, echa un vistazo a post hau de cómo instalar el Plugin Packs Manager y las plantillas que nos interesen.
Si grabamos/recargamos la configuración de Centreon como ya conocemos, podremos verificar que ya tenemos nuestro host linux monitorizado con ciertos servicios que vienen de forma predeterminada.
Ahora modifica o añade tantos Servicios como necesites para asegurar que el servicio que ofrece dicha máquina va bien, como por ejemplo saber si un proceso está activo o no, echa un vistazo a post hau. Y si no, atento, a continuación vemos un caso muy particular y súper kuki para seguir monitorizando este Linux.
Monitorizando el output de cualquier script
Vamos a ver un caso muy interesante, tengo un script en mi máquina Linux, lo quiero ejecutar y leer lo que escupe… usaremos un caso practico muy interesante, vamos a monitorizar la temperatura de la CPU de la Raspberry Pi con Centreon. Primero necesitaremos obviamente tener un script en la Raspberry que lee dicha temperatura y lo ejecutaremos cuando Centreon le haga una consulta mediante un OID específico que usaremos de SNMP!
Crearemos el siguiente script en nuestra Raspberry Pi:
[sourcecode]sudo vim /usr/local/bin/snmp-cpu-temp[/sourcecode]
Y pegamos el siguiente código:
[sourcecode]#!/bin/bash
if [ "$1" = "-g" ]
then
echo .1.3.6.1.2.1.25.1.8
echo gauge
echo $((`cat /sys/class/thermal/thermal_zone0/temp|cut -c1-2`)).$((`cat /sys/class/thermal/thermal_zone0/temp|cut -c3-5`))
fi
exit 0[/sourcecode]
Lo hacemos ejecutable:
[sourcecode]sudo chmod +x /usr/local/bin/snmp-cpu-temp[/sourcecode]
Raspberry Pi-tik probatu nahi badugu, exekutatzen dugu:
[sourcecode]/usr/local/bin/snmp-cpu-temp -g[/sourcecode]
Ondo, orain egingo duguna da /etc/snmp/snmpd.conf fitxategia editatzea, eta atal honen azpian '”Pass-through” MIB luzapen agindua’ hurrengoa gehitzen dugu:
[sourcecode]pass .1.3.6.1.2.1.25.1.8 /bin/sh /usr/local/bin/snmp-cpu-temp[/sourcecode]
SNMP zerbitzua berrabiarazten dugu konfigurazio berriari kargatzeko:
[sourcecode]sudo /etc/init.d/snmpd restart[/sourcecode]
Eta bertan probatzen dugu, adibidez:
[sourcecode]/usr/bin/snmpget -v 2c localhost -c public .1.3.6.1.2.1.25.1.8[/sourcecode]
Centronean aldaketarik behar badugu 'check_snmp' Agindua “Konfigurazioa” > “Commands”:
- Command Name: check_snmp
- Command type: Check
- Command Line:
[sourcecode]$USER1$/check_snmp -H $HOSTADDRESS$ -C $USER2$ -o $ARG1$ -w $ARG2$ -c $ARG3$ -l $ARG4$[/sourcecode]
Klik egin “Argumentoen deskribapena” e indicamos lo que significa cada Argumento para cuando creemos el servicio sepamos qué meter en cada campo. El ARG1 sería el OID, ARG2 el valor Warning, ARG3 el Critical y el ARG4 el texto a mostrar como valor de la métrica en la gráica.
Grabamos el Comando,
Y creamos el Servicio desde “Konfigurazioa” > “Zerbitzuak” > (clonamos uno existente), lo editamos y modificamos:
- Deskribapena: Temperatura CPU, el nombre del Servicio vaya.
- Gurekin lotutako Host-ak: Asociamos el Servicio que estamos creando a los siguientes equipos que queramos checkear la temp y hemos hecho el proceso anterior (crear scripts…).
- Txantiloia: Seleccionamos la plantilla de la que heredaremos la configuración que nos interese y no queramos meter manualmente, como suelen ser las notificaciones… en mi caso uso generic-active-service-custom.
- Check Command: Seleccionamos del listado el Comando modificado en el paso anterior, eta Argumentuen balioak betetzen ditugu:
- OID: .1.3.6.1.2.1.25.1.8 Zer OID erabiltzen dugu CPUaren tenperatura irakurtzen duen script-a exekutatzeko.
- Abisua: 40. -tik aurrera 40 graduak Abisua emateko.
- Larrialdia: 80. -tik aurrera 80 graduak Tenperatura Larrialdi bezala markatzeko.
- Erakutsiko den testua: Esan dut, grafikoan ikusi ahal izango dugun testua izango da, metrika, vaya.
Zerbitzua grabatzen dugu,
eta prest! Centreon konfigurazioa grabatu/kargatzen badugu, gure Raspberry Pi-en tenperatura behatu ahal izango dugu begirada batean! Dokumentu hau guztiei eskaini nahi diet, SNMP bidez Linux zerbitzari edo gailu bat nola monitorizatu jakiteko eskatu didazuen guztiei, beraz oso erraza, dagoeneko ikusi duzue, oso erraza da!















































