Monitorant equips Linux mitjançant SSH

Existeixen múltiples maneres de monitorar un servidor Linux, però és molt habitual que la gent sigui poc inclinada a instal·lar agents. A curt termini i en infraestructures petites ens estalvia treball, però a llarg termini i infraestructures grans pot ser un inconvenient.

Existeix un plugin anomenat CHECK_BY_SSH que ens permet connectar-nos remotament i executar un comando en el servidor de destí (o un plugin) però té l'inconvenient que requereix tenir els certificats instal·lats. Instal·lar certificats no és un problema, però ens portarà una mica de treball, o almenys una mica més que la solució que presentem a continuació.

http://exchange.nagios.org/directory/Plugins/Network-Protocols/SSH/SSH-Password-Authentication/details

Aquest petit script ens permet executar comandos en l'equip remot, mitjançant la funció SSH2 de PHP.

#php ssh_pass_auth.php -h 192.168.1.40 -u root -p SolucionsIM -c "ping 192.168.1.1 -c 1"

PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.

64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=0.561 ms

--- 192.168.1.1 ping statistics ---

1 packets transmitted, 1 received, 0% packet loss, time 0ms

rtt min/avg/max/mdev = 0.561/0.561/0.561/0.000 ms

L'únic requisit per a poder executar aquest escript és tenir instal·lat el paquet PHP de SSH2 (en x64 i per a RedHat i CentOS es diu php-pecl-ssh2.x86_64), ho podem trobar en el yum.

php ssh_pass_auth.php -h 192.168.1.40 -u root -p SolucionsIM -c "/sim/check_load -w 90,90,90 -c 95,95,95"

OK - load average: 1.07, 0.36, 0.17|load1=1.070;90.000;95.000;0; load5=0.360;90.000;95.000;0; load15=0.170;90.000;95.000;0;

Simplement hem copiat el check_lloeu en la carpeta de destí i ho executem remotament.

Veure més noticies