Network:
  • Enterprise
  • Support
  • Library
  • Project
  • Exchange
  • [+]

Monitoraggio Agent Less

Published on 08/09/2012 in Nagios. 3 Comments

In questo capitolo vi presentiamo come poter effettuare il monitoraggio agent less sui server windows e linux.
Partiamo col descrivere pro e contro della soluzione che stiamo proponendo:

Contro

- è necessario un account amministrativo per i server windows (preferibilmente di dominio)
- su ogni singolo server fuori dominio e sulle macchine linux occorre creare l’utenza (sui server linux è sufficiente un’utenza normale)
- non è possibile eseguire controlli avanzati come ad esempio check sui performance counter

Pro

- si può evitare di installare un client server per server
- lavorando su server di clienti si evita di lasciare script o configurazioni che un eventuale concorrente può copiare spacer
- su infrastrutture windows con tutti i server a dominio diventa molto veloce lo startup e l’attivazione dei monitoraggi “standard”

 

Questo documento descrive come fare il monitoraggio agent less ma poi sta a chi implementa la soluzione scegliere di volta in volta quale adottare.
Il consiglio migliore penso sia una soluzione mista, dove di volta in volta scegliere l’approccio migliore.


Il monitoraggio di sistema operativo prevede:
- dischi
- servizi
- processi
- porte
- performance : cpu / memoria
- uptime

Di seguito riportiamo uno schema con i comandi impostati e linkeremo le plugin utilizzate o quelle create da noi.
Nel caso venissero riscontrate anomalie segnalatecelo e vedremo di intervenire ove possibile.

 

Monitoraggio Windows

Per eseguire questi check senza agente sfruttiamo WMI e RPC.
Sono state realizzate plugin interne per avere la possibilità di controllare questi parametri.

- Il monitoraggio delle porte avviene con il check_tcp presente nelle plugin standard

- Il controllo del listner RDP tramite check_x224 che è possibile trovare su nagios exchange
exchange.nagios.org/directory/Plugins/Remote-Access/check_x224/details

- Il controllo dei dischi anche, ovvero tramite la plugin check_disk_smb

- Il controllo dei servizi tramite una plugin sviluppata da noi e pubblicata su nagios exchange
exchange.nagios.org/directory/Plugins/Operating-Systems/Windows/check_netrpc_service/details

- Il controllo avviene tramite una plugin sviluppato nuovamente da noi e che sfrutta WMI.
exchange.nagios.org/directory/Plugins/Operating-Systems/Windows/Check-CPU%2C-Memory-and-UpTime-with-WMI/details

- Il controllo di CPU, Memoria e UpTime lo facciamo sempre tramite WMI e tramite una plugin sviluppata internamente da noi.
Questa plugin permette di identificare anche riavvii eseguiti manualmente da quelli inaspettati andando a leggere i system log del server windows.

 

Di seguito la lista dei command:

define command{
command_name check_tcp_host
command_line $USER1$/check_tcp -H $ARG1$ -p $ARG2$ $ARG3$
}

define command{
command_name check_xrdp
command_line $USER1$/check_x224 -H $HOSTADDRESS$ -w 30 $ARG1$
}

define command{
command_name check_samba_disk
command_line $USER1$/check_disk_smb -H $HOSTADDRESS$ -s $ARG1$ -u $ARG2$ -p $ARG3$ -w $ARG4$ -c $ARG5$ $ARG6$
}

define command{
command_name check_winservice_rpc
command_line $USER1$/check_netrpc_service.sh -S $ARG1$ -M $HOSTADDRESS$ -U $ARG2$ -P $ARG3$ $ARG4$
}

define command{
command_name check_wmi_performance
command_line $USER2$/check_wmi_performance.sh -I $HOSTADDRESS$ -U $ARG1$ -P $ARG2$ -S $ARG3$ $ARG4$
}

define command{
command_name check_wmi_process
command_line $USER1$/check_wmi_process.sh -I $HOSTADDRESS$ -U $ARG1$ -P $ARG2$ -S $ARG3$ $ARG4$
}

Il conisglio è di creare poi dei template appositi per ogni controllo in modo da rendere più veloce l’implementazione. Questo però è un suggerimento che vedremo di approfondire più avanti.

 

Monitoraggio Linux

Il monitoraggio sui server linux può essere fatto tramite nrpe, ssh o snmp (probabile esistano altre soluzioni ma queste penso siano le più diffuse). Qua vogliamo presentare una variante del monitoraggio ssh utilizzando un client diverso, plink.

Plink è un binario che viene installato nel momento che si installa il pacchetto putty e permette di eseguire comando su un server ssh remoto passando utente e password per la connessione.

A differenza della normale connessione ssh, non è necessario abilitare la connessione coi certificati ed è possibile passare ad uno script la password, cosa che ssh non permette.

Questo binario ci ha permessi di creare script diversi dove dopo aver cambiato il comando lanciato remotamente, è sufficiente interpretare l’output e formattarlo come meglio si crede.

De seguito presentiamo alcune delle plugin fatte:

- check dischi

- check dei servizi

- check dell’uptime

- check delle performance (cpu, memoria e iowait)

- coda email (soprattutto per il nostro server nagios, dove le email ferme in coda devono essere intercettate)

Ne abbiamo realizzate altre con questo metodo, molto spesso personalizzate a seconda del server monitorato.

Se l’applicativo che vogliamo controllare mette a disposizione un comando bash, sarà sufficiente eseguirlo e poi eseguire il parsing dell’output spacer

 

Di seguito la lista dei command:

define command{
        command_name    check_plink_linux_partition
        command_line    $USER1$/check_plink_linux_partition.sh -M $HOSTADDRESS$ -U $ARG1$ -P $ARG2$ -A $ARG3$ -w $ARG4$ -c $ARG5$ $ARG6$
        }

define command{
        command_name    check_plink_linux_service
        command_line    $USER1$/check_plink_linux_service.sh -M $HOSTADDRESS$ -U $ARG1$ -P $ARG2$ -S $ARG3$ $ARG4$
        }

define command{
        command_name    check_plink_linux_uptime
        command_line    $USER1$/check_plink_linux_uptime.sh -M $HOSTADDRESS$ -U $ARG1$ -P $ARG2$ $ARG3$
        }

define command{
        command_name    check_plink_linux_cpu
        command_line    $USER1$/check_plink_linux_cpu.sh -M $HOSTADDRESS$ -U $ARG1$ -P $ARG2$ $ARG3$
        }

define command{
        command_name    check_plink_linux_iowa
        command_line    $USER1$/check_plink_linux_iowa.sh -M $HOSTADDRESS$ -U $ARG1$ -P $ARG2$ $ARG3$
        }

define command{
        command_name    check_plink_linux_mem
        command_line    $USER1$/check_plink_linux_mem.sh -M $HOSTADDRESS$ -U $ARG1$ -P $ARG2$ $ARG3$
        }

define command{
        command_name    check_plink_linux_mailq
        command_line    $USER1$/check_plink_linux_mailq.sh -M $HOSTADDRESS$ -U $ARG1$ -P $ARG2$ $ARG3$
        }

Le plugin saranno presto presenti su questo sito e a breve verranno caricate anche su nagios exchange, utilizzatele e in caso di problemi scriveteci.

3 comments on “Monitoraggio Agent Less

  1. spacer ivan.bergantin on said:

    Come anticipato, potete ora trovare all’interno della sezione “Plugins” gli script bash creati per il monitoraggio agent less dei server linux.

    Ivan

    Reply
  2. spacer Paolo on said:

    Grazie utile…

    Reply
    • spacer Lavanya on said:

      Nice solution! However, the same can be achvieed by using macros (nagios-lingo for variables ) in /etc/nagios3/resources.cfg# Sets $USER1$ to be the path to the plugins$USER1$=/usr/lib/nagios/plugins# Sets $USER2$ to be the path to event handlers$USER2$=monkey$USER3$=”all your base”$USER4$=”do you want to be a pepper too?”And then calling that in the command definitions, like so: define command{ command_name snmp_cpustats command_line /usr/lib/nagios/plugins/check_snmp -P 3 -L authPriv -A ‘$USER3′ -X ‘$USER4′ -U ‘$USER2$’ -H ‘$HOSTADDRESS$’ -o .1.3.6.1.4.1.2021.11.9.0,.1.3.6.1.4.1.2021.11.10.0,.1.3.6.1.4.1.2021.11.11.0 -l ‘CPU usage (user system idle)’ -u ‘%’ }

      Reply

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

*

*

HTML tags are not allowed.




gipoco.com is neither affiliated with the authors of this page nor responsible for its contents. This is a safe-cache copy of the original web site.