V
e
r

l
i
s
t
a
d
o

tractatus@lapipaplena:/# _

 

monit

Monitorizador de procesos en ejecución, servicios, demonios, espacios de disco, PIDs, checksums, archivos....

# monit status
Acceder a los informes
# monit -t
Comprobar errores de configuración [Control file syntax OK]
# monit -h
Listado de comandos disponibles
# monit quit
Salir
# monit start all
Arrancar todos los monitoreos
# monit sotp ssh
Parar un monitoreo de un servicio
# monit restart all
Reiniciar todos los monitoreos
# monit summary
Mostrar resumen

Configuración:

# nano /etc/monitrc

Las entradas globales empiezan por “set” y los servicios concretos por “check”

Tiempo de actualización de datos, por defecto:

set daemon 60

Especificar el archivo de eventos (logs)

set logfile /var/log/monit.log

Configurar para el envio de notificaciones:

set mailserver localhost
set alert usuario@localhost.localdomain
set mail-format {
from: monit@$HOST
subject: $SERVICE $EVENT
message: $ACTION $SERVICE at $DATE on $HOST: $DESCRIPTION.
}
set mailserver mail@mail.com (servidor smtp que envia los correos [localhost para notificación local]).
set alert user@hots.com (cuenta donde enviar los mensajes de alerta). Ejemplo para enviar notificaciones a correo gmail (en negrita los datos a modificar):
set mailserver smtp.gmail.com port 587
username usuario@gmail.com password Tfer7¿-6j
using tlsv1
with timeout 30 seconds
set alert usuario@gmail.com
Cambiar usuario y contraseña (por defecto: admin/monit)
allow usuario:contraseña

Especificar desde donde accederemos. Sólo acceso local [localhost:2812]:

set httpd port 2812 and use address localhost

allow localhost

o si queremos acceso remoto [http://ip_o_host:2812] modificar por:

set httpd port 2812

allow localhost

Tambien podemos especificar: ips, rangos, hosts concretos o usuarios para solo lectura:

allow 192.168.1.14
allow 192.168.1.1/24
allow host.com
allow usuario:contraseña read-only

Modificar el nombre del equipo [tiene que estar en /etc/hosts] y adaptar los porcentajes de consumo de carga del sistema [loadvg] y cpu para que al superar ciertos índices o porcentajes, envie una alerta:

check system tux

if loadavg (1min) > 4 then alert

if memory usage > 75% then alert

if swap usage > 85% then alert

if cpu usage (user) > 70% then alert

if cpu usage (system) > 70% then alert

if cpu usage (wait) > 70% then alert

Configurar el monitoreo de apache (Las rutas a los ficheros pertenecen a una distro arch):

check process apache with pidfile /run/httpd/httpd.pid

start program = "/etc/rc.d/httpd start" with timeout 60 seconds

stop program = "/etc/rc.d/httpd stop"

if cpu > 80% for 5 cycles then restart

if totalmem > 1500.0 MB for 5 cycles then restart

if children > 250 then restart

if cpu usage > 95% for 3 cycles then restart

if failed port 80 protocol http then restart

Configurar monitoreo de ssh

check process ssh with pidfile /run/sshd.pid

start program = "/etc/rc.d/sshd start" with timeout 60 seconds

stop program = "/etc/rc.d/sshd stop"

if cpu > 80% for 5 cycles then restart

if totalmem > 1500.0 MB for 5 cycles then restart

if children > 250 then restart

if cpu usage > 95% for 3 cycles then restart

if failed port 22 protocol ssh then restart

Chequear determinados puertos:

check host localhost with address localhost

if failed icmp type echo count 10 with timeout 15 seconds

then alert

if failed port 22 proto ssh then alert

if failed port 25 proto smtp then alert

if failed port 80 proto http then alert

Monitorear ciertos archivos de configuración [de apache y ssh] para que alerte si modifica el checksum:

check file httpd.conf with path /etc/httpd/conf/httpd.conf

if changed checksum then alert

check file ssh_config with path /etc/ssh/ssh_config

if changed checksum then alert

Monitorizar directorios para que envie una alerta en caso de modificación:

check directory sbin with path /sbin

if changed timestamp then alert

Monitorizar dispositivos /dev/ [discos duros, usb...] para que avise en caso de sobrepasar determinado espacio en disco o lo desmonte al llegar a cierto porcentaje:

check device sda5 with path /dev/sda5
start = “/bin/mount /dev/sda5”
stop = “/bin/umount /dev/sda5”
if space usage > 90% then alert
if space usage > 98% then stop

Si, al pasar algún evento queremos lanzar un script algunos ejemplos para hacerlo son:

1.- Cuando la carga del sistema sobrepasa el indice 5 alertará y si supera el 20 ejecutará el script:

check system dominio.com

if loadavg (1min) > 5 then alert

if loadavg (1min) > 20 then exec "/bin/bash /root/script.sh"

2.- Si falla el servidor ftp [puerto 21], al pasar 20 segundos alertará y ejecutará el script

if failed port 21 protocol ftp with 20 seconds then alert and exec “/ftp/script.sh”

Navegando por staredsi.eu aceptas las cookies que utilizamos en esta web. Más información: Ver política de cookies
[0] 0:bash*
2845 entradas - Acerca del Tractatus
La Pipa Plena 2024