PDA

View Full Version : Consiglio software di monitoraggio salute dei server remoti


Samb1985
27-08-2012, 16:12
Cosa mi consigliate come software per il monitoraggio dello stato (dati relativi al disco, prestazioni, cpu, etc.) dei server remoti (windows e unix/esx) sia open source che a pagamento ?

Tasslehoff
27-08-2012, 21:51
Cosa mi consigliate come software per il monitoraggio dello stato (dati relativi al disco, prestazioni, cpu, etc.) dei server remoti (windows e unix/esx) sia open source che a pagamento ?Monitorare le prestazioni è una cosa che difficilmente sarà possibile fare in modo costante, per farlo servono test di carico che generalmente sono dedicati ad una precisa risorsa oppure ad un preciso servizio, e sono piuttosto dispendiosi e per nulla banali, sia nella progettazione, nell'esecuzione e nell'analisi dei risultati.

Per monitorare le risorse invece ci sono diverse soluzioni.
Il pilastro storico per questo genere di attività è Nagios (che non a caso è usato come base anche da diverse soluzioni commerciali) e imho rappresenta la soluzione più efficace, flessibile e efficente.
Il meccanismo di funzionamento è estremamente semplice, tanto che è possibile creare plugin da integrare con qualsiasi cosa (dallo script bash fino ad usare linguaggi di programmazione veri ed evoluti), e questa semplicità è il motivo del suo successo e della quantità industriale di plugin (che vanno dal monitoraggio dell'hardware a quello di risorse specifiche di software applicativi).
Il difetto di Nagios è che di base va configurato con una serie di file di configurazione testuali che apparentemente all'inizio possono sembrare complessi, in realtà sono estremamente semplici e praticamente autoesplicativi, basta solo seguire passo passo la guida di installazione per avere un'istanza pulita, funzionante e pronta ad essere popolata di server e risorse.

Se proprio trovi insopportabile la configurazione di Nagios puoi provare Centreon, che è un prodotto altrettanto free che si basa su Nagios ma che usa una interfaccia più amichevole.
Io non l'ho mai usato perchè mi trovo benissimo con Nagios, ma dalla regia mi dicono essere molto valido.

Una alternativa è Zabbix, esteticamente più figo, anch'esso free, però a differenza di Nagios usa un client proprietario (che a me da alcuni clienti ha dato diverse noie) oppure in alternativa snmp (cosa che può fare anche Nagios).

Se poi vuoi per forza andare a pagare licenze c'è HP Openview, ci sono i prodotti IBM Tivoli, c'è Dell Openmanage.
Io in passato mi sono ritrovato a lavorare da clienti dove avevano implementato queste soluzioni, però li ho trovati piuttosto legnosi, inutilmente pesanti, complessi e di conseguenza fragili... insomma i soliti "polpettoni" enterprise che fanno tanto figo ma che in pratica complicano la vita anzichè essere utili e semplificarla.

Samb1985
29-08-2012, 15:51
Anche io ero orientato verso Nagios (o Icinga) ma il problema principale è la complessità dei software che fanno molte più cose di quello di cui ho bisogno.

A prima vista anche Centroen non sembra male...sicuramente più semplice di Nagios nell'installazione, ma poi nella configurazione e gestione anch'esso complesso.

Tasslehoff
29-08-2012, 16:46
Anche io ero orientato verso Nagios (o Icinga) ma il problema principale è la complessità dei software che fanno molte più cose di quello di cui ho bisogno.

A prima vista anche Centroen non sembra male...sicuramente più semplice di Nagios nell'installazione, ma poi nella configurazione e gestione anch'esso complesso.Non lasciarti influenzare dai file di configurazione testuali, Nagios è veramente semplice da configurare, io ad es ho avuto difficoltà infinitamente maggiori a configurare Cacti o mrtg (fanno cose diverse ok, però spesso vengono affiancati).

La logica che usa è perfino banale, definisci gli host e a ciascuno associ un service (es carico del sistema, ram, spazio libero su un determinato volume, ping, risposta di un webserver etc etc etc...)
Ciascun service è definito da un comando (che è un binario vero e proprio che tu puoi lanciare dalla console della macchina) e da delle soglie (che non sono altro che parametri passati al binario).
Al di fuori di questo ci sono giusto quei 2 o 3 parametri banali per definire il gruppo degli utenti a cui inviare le notifiche via mail e poco altro.

Poi aumentando la complessità (ma non di molto comunque) puoi passare a monitorare servizi tramite agente NRPE.
Installi su un server remoto da monitorare l'agente NRPE (lo trovi tra i progetti accessori a nagios, su Windows puoi usare l'ottimo nsclient++ (http://www.nsclient.org/nscp/)) e configuri i servizi nel file di configurazione dell'agente nrpe; per controllarli da Nagios configuri un service che utilizzi il comando check_nrpe e gli passi come parametro il nome del servizio che hai definito sul server remoto nel file di configurazione di nrpe.
Aumentando ancora la complessità (ma sempre di poco eh) puoi usare l'agente nrpe in modo parametrico, ovvero anzichè definire staticamente i servizi nel file di configurazione di nrpe, li definisci in modo parametrico; saranno poi i servizi definiti sul server Nagios (che usano nrpe solo come protocollo per comunicare) a contenere i valori delle soglie per ciascun servizio.

Imho è molto più utile e formativo partire da Nagios direttamente (e non da un progetto derivato da Nagios come Centreos) per imparare bene la logica con cui funziona, una volta capita e metabolizzata puoi sempre installare altro, però hai le basi per fare problem solving in tutto quei casi in cui il software di monitoraggio non funziona come ti aspetteresti.

Io ti consiglio di partire da Nagios distribuito direttamente in archivio tar.gz e non con le versioni pacchettizzate (deb o rpm che sia) e distribuite tramite repository come apt, yum o yast; in questo modo puoi seguire pedissequamente la documentazione e ritrovarti nelle medesime condizioni, inoltre rendi molto più semplice gli eventuali upgrade alle prossime release rilasciati tramite il sito ufficiale.

Samb1985
31-08-2012, 16:31
Allora attualmente il mio scopo è di monitorare:

- Server Windows (Spazio disco e Componenti con WMI)
- Server ESX (Spazio disco)

Se non ho capito male con Nagios devo installare "agenti"(NRPE) sulle macchine giusto ? non c'è una soluzione agentless ?

Tasslehoff
31-08-2012, 16:56
Allora attualmente il mio scopo è di monitorare:

- Server Windows (Spazio disco e Componenti con WMI)
- Server ESX (Spazio disco)

Se non ho capito male con Nagios devo installare "agenti"(NRPE) sulle macchine giusto ? non c'è una soluzione agentless ?Personalmente ho eliminato ogni traccia di Windows Server e componenti proprietarie MS dalla mia infrastruttura 10 anni fa per cui di WMI so a malapena di che si tratta.
Cercando su Nagios Exchange (http://exchange.nagios.org/) (il portale che raccoglie un po' tutti i plugin più o meno ufficiali per Nagios) ho trovato questo plugin per controllo agentless di WMI (http://exchange.nagios.org/directory/Plugins/Operating-Systems/Windows-NRPE/WMI-agentless-plugins/details).
Per lo storage puoi anche controllare lo storage mediante SNMP e quindi senza installare alcun agente, imho però nrpe è molto comodo per questo genere di verifiche.

Per vmware ci sono una miriade di plugin, prova a cercare vmware su nagios exchange e trova quello che più si adatta alle tue necessità.

Samb1985
03-09-2012, 17:24
Personalmente ho eliminato ogni traccia di Windows Server e componenti proprietarie MS dalla mia infrastruttura 10 anni fa per cui di WMI so a malapena di che si tratta.


Beato te che sei in un'azienda con questa mentalità :ave:

menk
11-09-2012, 09:07
mi sento di segnalare anche Hyperic HQ oltre a quelli già citati (tutti ottimi prodotti).....
sempre opensource ma rispetto a centreon l'ho trovato meno "ingarbugliato) in fase di installazione / configurazione...

http://www.hyperic.com/

Samb1985
11-09-2012, 13:39
Sto provando ad usare Nagios (con qualche difficoltà).

Qualcuno ha mai provato OpenNMS ?

menk
11-09-2012, 13:49
si, per quanto mi ricordo pesante e complicata.
ti consiglio o nagios (ma leggo che già ti stai cimentando) o sei vuoi impazzire meno hyperic ....