Un cane da guardia per il tuo server

Cos’è Monit?

“Monit is a free open source utility for managing and monitoring, processes, files, directories and filesystems on a UNIX system. Monit conducts automatic maintenance and repair and can execute meaningful causal actions in error situations. “

Monit è un tool per il controllo d’integrità del filesystem e per il monitoraggio dei processi attivi su un server. La caratteristica più interessante è però la possibilità di utilizzare Monit per controllare i demoni in esecuzione e di prevenire interruzioni, sforamenti di memoria e quant’altro.

Un caso concreto

I sistemi di monitoraggio si focalizzano soprattutto sui valori globali di un sistema. E’ possibile estrapolare il valore di carico medio di un server ma spesso è difficile segmentare questi dati processo per processo. Con Monit diventa possibile riavviare un processo che si trova in uno stato di blocco o spegnere un processo che si trova in uno stato di superamento di alcuni valori prefissati. Ad esempio con Monit è possibile riavviare Apache nel momento in cui si trovi ad occupare l’80 per cento della cpu in un determinato arco di tempo.

Installiamo Monit

L’installazione di Monit su un server Debian segue la classica procedura con l’ausilio di apt-get :

# apt-get install monit

Dopo l’installazione è necessario modificare il file /etc/default/monit per permettere l’avvio di Monit :

# vim /etc/default/monit
startup=1

Il file di configurazione di Monit è /etc/monit/monitrc.All’interno di questo file vengono controllati tutti i parametri vitali per l’esecuzione di Monit ed è all’interno di questo stesso file che possiamo definire quali servizi dovranno essere verificati periodicamente. Nell’esempio che segue vogliamo far si che Apache venga monitorato ad intervalli di tempo di 2 minuti per capire se alcuni valori come carico medio e memoria impegnata possano costituire un motivo di allerta.

# vim /etc/monit/monitrc

set daemon  120
set logfile syslog facility log_daemon
set mailserver 127.0.0.1
set alert email@example.com

check file apache_bin with path /usr/sbin/apache2
if failed permission 755 then unmonitor
if failed uid root then unmonitor
if failed gid root then unmonitor

check process apache with pidfile /var/run/apache2.pid
start program = "/etc/init.d/apache2 start"
stop program  = "/etc/init.d/apache2 stop"
if cpu > 60% for 2 cycles then alert
if cpu > 80% for 5 cycles then restart
if totalmem > 500.0 MB for 5 cycles then restart
if children > 250 then restart
if loadavg(5min) greater than 10 for 8 cycles then stop
depends on apache_bin
group www-data

Nella prima parte della configurazione definiamo l’intervallo di tempo per i check eseguiti da Monit oltre ad impostare l’indirizzo email a cui verrano inviate le allerte. Nella seconda parte definiamo invece un semplice controllo di integrità per l’eseguibile di Apache, necessario al funzionamento della successiva porzione di configurazione.

Nella terza ed ultima parte di configurazione definiamo le regole per il monitoraggio di Apache, che vediamo nel dettaglio :

if cpu > 60% for 2 cycles then alert : se la cpu impegnata da Apache è maggiore del 60% per un tempo di due cicli invia un’allerta
if cpu > 80% for 5 cycles then restart : se la cpu impegnata da Apache è maggiore dell’ 80% per un tempo di cinque cicli riavvia Apache

if totalmem > 500.0 MB for 5 cycles then restart : se la memoria impegnata da Apache è maggiore di 500MB per cinque cicli riavvia Apache
if children > 250 then restart : se i processi figli  superano la soglia di 250 riavvia Apache
if loadavg(5min) greater than 10 for 8 cycles then stop : se il carico medio è maggiore di 10 per otto cicli di tempo spegni Apache

Con l’utilizzo di queste regole è possibile evitare che Apache porti il sistema al collasso in caso di improvvisi picchi di traffico HTTP o che la memoria del server venga esaurita completamente dal demone in situazioni di grosso carico.

Dopo aver terminato la configurazione è possibile avviare Monit con il seguente comando :

# /etc/init.d/monit start

I vantaggi

Monit offre un controllo granulare dei processi attivi su un server e permette inoltre di definire delle regole molto flessibili per il controllo degli stessi. Un vero cane da guardia per il tuo server.

Post simili:

Zabbix può essere la soluzione di monitoraggio definitiva?

Con la release della versione 1.8.3 di Zabbix, software per il monitoraggio di sistemi server, sono stati fatti notevoli passi in avanti nello sviluppo di questo potente applicativo.

Che cos’è Zabbix

Zabbix è un software per il monitoraggio centralizzato di sistemi server. E’ basato su una classica architettura agent-server. Ogni sistema da monitorare può essere dotato di un agent, che in continuo collegamento con il server Zabbix di monitoraggio principale consente una raccolta dati molto precisa e costante.

I punti di forza

I vantaggi offerti da Zabbix sono tanti. Tra questi possiamo elencare :

  • il monitoring distribuito
  • una comoda interfaccia web di gestione
  • la possibilità di avere allerte via Sms, Email o Jabber
  • un database come backend

Tra le peculiarità di Zabbix vi è la possibilità di generare grafici in tempo reale con allerte istantanee. La possibilità di memorizzare all’interno di un database Mysql i dati raccolti consente di migrare facilmente i server di monitoraggio in caso di failure oltre che a fornire una solida base di raccolta dei dati stessi.

Zabbix è in evidente competizione con i sistemi di monitoraggio più diffusi come Nagios, Munin e Zenoss. Quest’ultimo rappresenta un prodotto comunque molto valido.

Zabbix racchiude le funzionalità di Munin e Nagios integrandone le funzionalità di sensore per i servizi pubblici del server monitorato oltre che le funzionalità di graphing avanzato con possibilità di generazione dei valori in tempo reale e segmentazione su fascia oraria.

Ancora vantaggi

Zabbix aiuta il nostro staff IT nella gestione del parco clienti con efficienza, analisi in tempo reale, segmentazione avanzata e allerte istantanee. La soluzione di monitoraggio definitiva.

A cura dello staff di servermanaged.it

Post simili:

Annunciato il rilascio Icinga 1.0.3

icinga Annunciato il rilascio Icinga 1.0.3Icinga è un fork di Nagios di cui ci eravamo occupati in uno dei precedenti articoli. Nato nel 2009 per consentire uno sviluppo più attento del progetto nei confronti di quelle che erano le richieste della comunità nata attorno a Nagios, Icinga è riuscito a guadagnarsi un numero sempre crescente di utilizzatori. E’ di pochi giorni l’annuncio dell’uscita di Icinga 1.0.3, un’importante passo nello sviluppo di questo progetto. La versione 1.0.3 contiene in un’unica installazione Icinga IDOutils, Icinga API e Icinga Web. Icinga Web è un’interfaccia grafica alternativa alla visualizzazione classica di Nagios, idea nata dagli sviluppatori di Icinga. La nuova interfaccia, seppure allo stato sperimentale, contiene interessanti funzionalità ed una grafica innovativa. Le novità contenute in questa nuova versione del software includono numerosi bug fix e l’aggiunta di molteplici direttive di configurazione al motore principale di monitoraggio, come si evince dal changelog ufficiale.

Icinga è un progetto degno di nota e già molti utilizzatori a livello professionale hanno completato la migrazione di configurazioni basate su Nagios verso il fork Icinga. Per seguire le ultime novità e gli aggiornamenti è possibile consultare il sito web del progetto icinga.org o seguire l’account ufficiale su Twitter.

Post simili:

  • Nessun post trovato