..«¿© CrôCcòBi$çöTtò ®¿».. » How-to » Linux » Configurare Monit con Debian e Lighttpd

Configurare Monit con Debian e Lighttpd

Wed, Mar 24, 2010 · 509 views · Print This Post Print This Post · Email This Post Email This Post

Monit è un ottimo strumento opersource che permette di monitorare dei servizi sotto linux, se il servizio non risponde o cade Monit lo ritira su. Con monit si possono monitorare,servizi, stato dei file, directory periferiche etc.. nel caso di anomalie il software ci avvisa e ripristina in automatico i servizi. E’facilmente configurabile,leggero e stabile; dire l’ennesimo software che può salvare la vita in situazioni anomale. Io l’ho installato e configurato su Debian Lenny per tenere sotto controllo Mysql,Lighttpd,Postfix e Proftpd di seguito trovate un semplice how to che spiega come configurare Monit..
Qualche informazione veloce, Monit si configura da linea di comando e si consulta tramite web, ha un suo webserver che lo rende indipendente da apache,lighttpd etc.. in rete si trovano tantissimi esempi di configurazione per monitorare i servizi più disparati. Quindi dopo aver installato e configurato monit lo potrete raggiungere tramite browser all’indirizzo del vostro server su una porta custom scelta da voi. Ovviamente potete specificare un’utenza amministrativa con relativa password.

Partiamo con l’installazione, distribuzione di riferimento Debian Lenny.

aptitude install monit

Il file di configurazione di Monit è monitrc e si trova in /etc/monit/monitrc
Ecco il mio file di configurazione che tiene monitorato Mysql,Postfix,Ssh,proftpd e Lighttpd.
lablxtst.localdomin è il nome della mia macchina di Test, il demone fà un controllo ogni 60 secondi.

Il file di configurazione di Monit è monitrc e si trova in /etc/monit/monitrc
Ecco il mio file di configurazione che tiene monitorato Mysql,Postfix,Ssh,proftpd e Lighttpd.
lablxtst.localdomin è il nome della mia macchina di Test, il demone fà un controllo ogni 60 secondi, l’utenza amministrativa è admin e la password test.

set daemon  60
set logfile syslog facility log_daemon
set mailserver localhost
set mail-format { from: monit@lablxtst.localdomain }
set alert tech@lablxtst.localdomain
set httpd port 2812 and
SSL ENABLE
PEMFILE  /var/certs/monit.pem
allow admin:test
 
check process proftpd with pidfile /var/run/proftpd.pid
start program = "/etc/init.d/proftpd start"
stop program  = "/etc/init.d/proftpd stop"
if failed port 21 protocol ftp then restart
if 5 restarts within 5 cycles then timeout
 
check process sshd with pidfile /var/run/sshd.pid
start program  "/etc/init.d/ssh start"
stop program  "/etc/init.d/ssh stop"
if failed port 22 protocol ssh then restart
if 5 restarts within 5 cycles then timeout
 
check process mysql with pidfile /var/run/mysqld/mysqld.pid
group database
start program = "/etc/init.d/mysql start"
stop program = "/etc/init.d/mysql stop"
if failed host 127.0.0.1 port 3306 then restart
if 5 restarts within 5 cycles then timeout
 
check process postfix with pidfile /var/spool/postfix/pid/master.pid
group mail
start program = "/etc/init.d/postfix start"
stop  program = "/etc/init.d/postfix stop"
if failed port 25 protocol smtp then restart
if 5 restarts within 5 cycles then timeout
 
check process lighttpd with pidfile /var/run/lighttpd.pid
group www-data
start program = "/etc/init.d/lighttpd start"
stop program = "/etc/init.d/lighttpd stop"
if cpu > 60% for 2 cycles then alert
if cpu > 80% for 5 cycles then restart
if totalmem > 200.0 MB for 5 cycles then restart
if children > 250 then restart
if loadavg(5min) greater than 10 for 8 cycles then stop
if failed host lablxtst.localdomain port 80 protocol http
and request "/index.html"
then restart
if 3 restarts within 5 cycles then timeout

Per lighttpd voglio far notare che ho fatto diversi test e alla riga:

if failed host lablxtst.localdomain port 80 protocol http
and request "/index.html"

è importante specificare il nome completo del server, ho provato con ip e localhost e 127.0.0.1 ma lighttpd mi restituiva sempre errore 404 e ovviamente il controllo falliva.

configuriamo poi Monit per rispondere in https sulla porta 2812, creiamo prima il certificato

mkdir /var/certs
cd /var/certs

Creiamo un file di configurazione per il cerfificato

vi /var/certs/monit.cnf

Il file deve essere come il seguente,

# create RSA certs - Server
 
RANDFILE = ./openssl.rnd
 
[ req ]
default_bits = 1024
encrypt_key = yes
distinguished_name = req_dn
x509_extensions = cert_type
 
[ req_dn ]
countryName = IT
countryName_default = IT
 
stateOrProvinceName             = Italy
stateOrProvinceName_default     = Milan
 
localityName                    = Milan
localityName_default            = Milan
 
organizationName                = Local Company
organizationName_default        = Monit Inc.
 
organizationalUnitName          = Technical Department
organizationalUnitName_default  = Technical Department
 
commonName                      = lablxtst.localdomain
commonName_default              = lablxtst.localdomain
 
emailAddress                    = tech@lablxtst.localdomain
emailAddress_default            = tech@lablxtst.localdomain
 
[ cert_type ]
nsCertType = server

Ovviamente modificate i campi con i riferimenti che preferite.

Creiamo i certificati

openssl req -new -x509 -days 365 -nodes -config ./monit.cnf -out /var/certs/monit.pem -keyout /var/certs/monit.pem
openssl gendh 512 >> /var/certs/monit.pem
openssl x509 -subject -dates -fingerprint -noout -in /var/certs/monit.pem
chmod 700 /var/certs/monit.pem

Abilitiamo infine il Demone dicendogli di controllare lo stato dei servizi ogni 60 secondi.

vi /etc/default/monit

Ecco un esempio completo di come deve essere il file.

# Defaults for monit initscript
# sourced by /etc/init.d/monit
# installed at /etc/default/monit by maintainer scripts
# Fredrik Steen <stone@debian.org>
 
# You must set this variable to for monit to start
startup=1
 
# To change the intervals which monit should run uncomment
# and change this variable.
CHECK_INTERVALS=60

Attiviamo Monit

/etc/init.d/monit start

Puntiamo poi con il browser all’indirizzo del nostro server https://nome-server:2812 inseriamo admin come user e test come password e il risultato che dovremmo ottenere è questo:

Ovviamente voi modificare user e password andando a toccare il file /etc/monit/monitrc
Al solito se avete suggerimenti o correzioni da segnalare i commenti sono a vostra disposizione.

Vota l'articolo

Condividi sui social network

Se ti è piaciuto l'articolo condividolo con i tuoi amici suoi maggiori social network!!

Newsletter e Feed

Ti è piaciuto questo articolo? allora iscrivi alla newsletter, riceverai ogni nuovo post via mail!

Loading...Loading...


Se preferiferisci i feed ricordati di iscriverti ai miei Feed! RssFeed

Articoli Simili
Leader

Monitorare lighttpd con munin sotto Debian

In questi giorni sto creando una macchina di test per sviluppare il nuovo codice di croccobiscotto, non scrivo tanti articoli anche per questo motivo, sto spendendo il mio tempo libero nel creare una virtual machine di sviluppo che abbia tutte le caratteristiche di un server di produzione con relativo...Leggi tutto

Leader

Munin sistema di monitoraggio server

Munin è un software per linux e windows che permette di tenere monitorate le risorse di sistema. vengono prodotti una serie di grafici accessibili via web che mostrano lo stato dei vari servizi come apache2, lighttpd, mysql, rete, occupazione disco, uso cpu etc.. Il software nasce e si sviluppa sotto...Leggi tutto

Leader

How to migrate wordpress blog

This weekend I migrated my blog to a new vps, the article describes how to configure and install a blog based on wordpress with lighttpd and mysql. The reference platform is Debian Squeeze. 1. Backup your blog From old vps,  stop Service /etc/init.d/lighttpd stop /etc/init.d/mysqld stop Backup database cd...Leggi tutto

Leader

Come installare wtorrent

In questo post spiego come installare e configuare wtorrent, wtorrent è il sistema di gesione grafica via web di rtorrent. Si suppone quindi che abbiate installato sul vostro sistema rtorrent con il supporto xmlrpc, se non l’avete fatto potete leggere un mio precedente articolo in cui spiego come...Leggi tutto

Leader

Installare e compilare rtorrent su debian lenny i386 pc e arm Nslu2

In questi giorni sto smanettando parecchio con wtorrent e rtorrent, in passato avevo già tratto l’argomento ma ovviamente le varie versioni dei software sono cambiate e di conseguenza e anche cambiata (di poco) la procedura di compilazione e installazione. Io ho compilato ed installato rtorrent...Leggi tutto

Un Commento per “Configurare Monit con Debian e Lighttpd”

Aug 09 2010
10:29

Di nulla figurati, sono contento che l’articolo sia piaciuto ciaooo

1

2 Trackbacks

  1. Anonymous says:

    Guardare le previsioni tramite Google Earth!…

    Ho trovato il tuo articolo interessante e ho aggiunto il trackback al mio blog!…

  2. [...] con Lighttpd e con i demoni C++ di Wardrome non è stato semplicissimo, ho trovato molto utile questa guida. Share and [...]

Lascia un comento per “Configurare Monit con Debian e Lighttpd”





Copyright © 2012 · All rights reserved · WordPress · XHTML · Log in

69 queries. 1.394 seconds. 38.75 MB.