En algunes ocasions podem trobar-nos amb la necessitat de monitorar equips Linux, però que a causa de la seva criticitat decidim no instal·lar l'agent. Per a aquests casos existeix una alternativa: monitoratge per SSH.
Es tracta que el servidor de monitoratge es connecti al servidor a monitorar mitjançant un comando SSH, i disposem d'un plugin anomenat check_by_ssh que ens permet precisament aquesta funció.
Per a poder utilitzar el check_by_ssh és important que tinguem accés directe al servidor de destí sense necessitat d'entrar usuari i contrasenya en una sessió SSH, i per a això utilitzarem certificats.
Coses a tenir en compte:
- El servidor d'origen ha de disposar d'una clau pública que ha d'estar en el servidor a monitorar.
- El servidor a monitorar ha de permetre l'accés sense contrasenya i amb certificat.
- La connexió del servidor de monitoratge al servidor a monitorar ha de realitzar-se amb l'usuari que executa l'aplicació de monitoratge, en aquest cas l'usuari és “Nagios”. Aquest usuari ha de tenir a més suficients privilegis en el servidor de destí per a executar els plugins.
- Existeixen certificats RSA i DSA. Per a aquest procés és recomanable RSA (no ens estendrem aquesta vegada a analitzar avantatges i inconvenients de tots dos).
Vista tota aquesta casuística, anem doncs a realitzar tots els passos:
1. En el servidor a monitorar creem l'usuari “Nagios”, el posem dins del grup root i li creem la ubicació corresponent:
useradd nagios -G 0 -d /home/nagios
2. En el servidor de destí editem el fitxer de configuració de SSH per a poder accedir de manera remota:
vi /etc/ssh/sshd_config
Cal tenir en compte aquestes opcions, cal revisar que no estiguin comentades ni amb l'opció “no”:
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
3. Creem la carpeta per a deixar posteriorment el certificat:
mkdir /home/monitor/.ssh
4. Creem el fitxer que contindrà els certificats públics dels equips que accediran de manera remota:
touch /home/nagios/.ssh/authorized_keys
5. Per a finalitzar en el servidor a monitorar només cal reiniciar el servei SSH:
service sshd restart
6. En el servidor de monitoratge accedim a l'usuari “Nagios”:
su - nagios
7. Generem un certificat RSA (el deixem en la ubicació que ens doni per defecte i quan ens demani frase de seguretat la deixem en blanc):
ssh-keygen –t rsa
8. Editem el fitxer amb la clau pública, recollim tot el seu contingut i el copiem en el fitxer authorized_keys del servidor al qual volem accedir, en aquest cas: authorized_keys
Ja podem realitzar una prova des de la consola:
ssh nagios@IP_SERVIDOR_DESTINO
I aquí un exemplo de l'ús del plugin:
-bash-4.1$ ./check_by_ssh -H 192.168.1.48 -C uptime
16:29:40 up 3:34, 1 user, load average: 0.00, 0.00, 0.00