Monitorizarea hosts-urilor Linux/UNIX via SSH

Configurare noua (How To)

Situatie

Doriti sa folositi SSH sau RSH pentru monitorizarea serverelor cu ajutorul Check_MK?

Solutie

Pasi de urmat

In anumite circumstante, nu este posibil sau de dorit sa se utilizeze metoda implicita de a transporta datele din agent printr-o conexiune TCP necriptata pe portul 6556. Unele dintre acestea sunt:

• Monitorizarea prin intermediul internetului (ar trebui sa fie criptat)
• Monitorizarea host-urilor in DMZ (doar acces SSH)
• Monitorizarea sistemelor de operare care nu ofera o metoda usoara pentru legarea unui script la un port TCP

Check_mk va permite sa specificati un program in loc sa va conectati la portul 6556. Programul trebuie sa mentioneze datele agentului pe stdout.

Clientul ssh poate fi un astfel de program. Tot ce trebuie sa faceti este sa instalati check_mk_agent pe host-ul tinta in /usr/bin

Nu configurati inetd sau xinetd.
Din host-ul de Nagios puteti apela agentul cu usurinta cu:

nagios@nagios:> ssh targethost check_mk_agent
<<<check_mk>>>
Version: 1.0.31
<<<df>>>
/dev/mapper/system-root ext3 28834812 9655560 17714524 36% /
/dev/md1 ext3 964408 46768 868648 6% /boot
/dev/mapper/system-home ext3 96118540 33698672 57537232 37% /home

Bineinteles ca userul Nagios trebuie sa se conecteze fara parola.

Configurarea programelor DataSource se face in main.mk. Variabila este numita datasource_programs. Configurarea este specifica fiecarui host si sintaxa este echivalenta cu host_groups.

Specificati o lista de intrari. Fiecare intrare este un tuplu de:
• o linie de comanda pentru a apela
• o lista optionala a host-urilor tinta
• lista de host-uri afectate de aceasta intrare

Comanda poate contine tag-ul special de <IP>, care va fi inlocuit cu adresa IP a serverului:
datasource_programs = [

   (  “ssh -1 root <IP> check_mk_agent”, [ ‘web01’, ‘web02’ ] ),

]

In cazul in care aveti nevoie de chei SSH diferite pentru host-uri diferite, puteti rezolva acest lucru declarand o singura data pentru fiecare cheie:

datasource_programs = [

(   “ssh -i  /somedir/dmz.key  -1  root  <IP>  check_mk_agent”,  [  ‘web01’,  ‘web02’  ]  ),

(   “ssh -i  /somedir/vms.key  -1  root  <IP>  check_mk_agent”,  [  ‘vmsx1’  ]  ),

Tip solutie

Permanent

Voteaza

(10 din 29 persoane apreciaza acest articol)

Despre Autor

Leave A Comment?