Nagios: monitoraggio degli host senza ricorrere ai ping

Creato il 22 maggio 2012 da Nightfly

Come misura (molto blanda) di protezione per i server che gestisco (esposti su Internet), ho deciso di inibire le risposte ai ping (in gergo tecnico ICMP echo reply).

Però, poichè ho la necessità di monitorare l'effettiva raggiungibilità di tali host, ho pensato di implementare un ckeck basato esclusivamente sul protocollo SSH. In particolare, ho effettuato le seguenti operazioni:

1) ho creato un gruppo nagios specifico, che ho chiamato noping-host. Per fare ciò mi sono posizionato nella directory /etc/nagios3/conf.d ed ho lanciato il comando:

nightfly@nightbox:/etc/nagios3/conf.d$ sudo nano noping-host_nagios2.cfg

il contenuto del suddetto file è il seguente:

define host{
   name   noping-host   ; The name of this host template
   notifications_enabled   1   ; Host notifications are enabled
   event_handler_enabled   1   ; Host event handler is enabled
   flap_detection_enabled   1   ; Flap detection is enabled
   failure_prediction_enabled   1   ; Failure prediction is enabled
   process_perf_data   1   ; Process performance data
   retain_status_information   1   ; Retain status information across program restarts
   retain_nonstatus_information   1   ; Retain non-status information across program restarts
   check_command   check_ssh_port!2293
   max_check_attempts   10
   notification_interval   0
   notification_period   24x7
   notification_options   d,u,r
   contact_groups   admins
   register   0   ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL HOST, JUST A TEMPLATE!
   }
Come potete notare, alla direttiva check_command è associato il comando da lanciare per verificare la raggiungibilità dell'host, ovvero check_ssh_port!2293, dove 2293 è la porta su cui è in ascolto SSH.

2) ho creato il file relativo all'host da monitorare, lanciando il comando:

nightfly@nightbox:/etc/nagios3/conf.d$ sudo nano host-remoteserver_nagios3.cfg

il cui contenuto è il seguente:

define host {
   host_name   remoteserver
   alias   remoteserver
   address   remoteserver.homeip.net
   use   noping-host
   }

dove remoteserver.homeip.net è l'hostname pubblico della macchina che vogliamo monitorare.

Infine riavviamo nagios:

nightfly@nightbox:/etc/nagios3/conf.d$ sudo service nagios3 restart

ed abbiamo finito.

Alla prossima.