<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
	<id>https://manuais.iessanclemente.net/index.php?action=history&amp;feed=atom&amp;title=Monit</id>
	<title>Monit - Historial de revisiones</title>
	<link rel="self" type="application/atom+xml" href="https://manuais.iessanclemente.net/index.php?action=history&amp;feed=atom&amp;title=Monit"/>
	<link rel="alternate" type="text/html" href="https://manuais.iessanclemente.net/index.php?title=Monit&amp;action=history"/>
	<updated>2026-10-22T09:11:05Z</updated>
	<subtitle>Historial de revisiones de esta página en la wiki</subtitle>
	<generator>MediaWiki 1.46.2</generator>
	<entry>
		<id>https://manuais.iessanclemente.net/index.php?title=Monit&amp;diff=64105&amp;oldid=prev</id>
		<title>Javierfp: /* Instalación de monit */</title>
		<link rel="alternate" type="text/html" href="https://manuais.iessanclemente.net/index.php?title=Monit&amp;diff=64105&amp;oldid=prev"/>
		<updated>2018-03-09T18:16:04Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Instalación de monit&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nueva&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
== Instalación de monit ==&lt;br /&gt;
&lt;br /&gt;
Veremos el proceso de instalación en un Sistema Debian 9 (Stretch)&lt;br /&gt;
&lt;br /&gt;
Monit solo requiere de la instalación de un paquete&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt update&lt;br /&gt;
apt install monit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuración de Monit ==&lt;br /&gt;
&lt;br /&gt;
=== Activación de la interfaz http ===&lt;br /&gt;
&lt;br /&gt;
Monit dispone de un servidor http integrado. A través de esta interfaz http puede accederse al estado de los servicios monitorizados por Monit, aunque también se utiliza esta interfaz para el envío de comandos Monit desde la línea de comandos.&lt;br /&gt;
&lt;br /&gt;
Para activar la interfaz http editamos el archivo &amp;#039;&amp;#039;&amp;#039;/etc/monit/monitrc&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vi /etc/monit/monitrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Localizamos la sección comentada&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;# set httpd port 2812 and&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;# &amp;lt;/nowiki&amp;gt;use address localhost &amp;lt;nowiki&amp;gt;# only accept connection from localhost&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;# &amp;lt;/nowiki&amp;gt;allow localhost &amp;lt;nowiki&amp;gt;# allow localhost to connect to the server and&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;# &amp;lt;/nowiki&amp;gt;allow admin:monit &amp;lt;nowiki&amp;gt;# require user &amp;#039;admin&amp;#039; with password &amp;#039;monit&amp;#039;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y la editamos para que quede&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set httpd port 2812 and&lt;br /&gt;
use address 0.0.0.0&lt;br /&gt;
allow 0.0.0.0/0 &amp;lt;nowiki&amp;gt;# permitir todos&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
allow admin:monit &amp;lt;nowiki&amp;gt;# require user &amp;#039;admin&amp;#039; with password &amp;#039;monit&amp;#039;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con esta configuración podremos acceder al servicio http utilizando la URL&lt;br /&gt;
&lt;br /&gt;
http://IP_Monit_Server:2812&lt;br /&gt;
&lt;br /&gt;
Para acceder a la información de monitorización usaremos (como se define en la configuración anterior)&lt;br /&gt;
&lt;br /&gt;
user: &amp;#039;&amp;#039;&amp;#039;admin&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
password: &amp;#039;&amp;#039;&amp;#039;monit&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:monit_http.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Pinchando en el enlace el host accedemos al estado del mismo&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:monit-status.png|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Definición de directivas genéricas ===&lt;br /&gt;
&lt;br /&gt;
Algunas directivas interesantes que pueden ser establecidas en el archivo &amp;#039;&amp;#039;&amp;#039;monitrc&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Período de ejecución de chequeos ====&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;set daemon&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set daemon 120&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Indica que se hará un chequeo de los servicios a monitorizar cada 2 minutos, puede ser modificado si necesitamos una periodicidad mayor&lt;br /&gt;
&lt;br /&gt;
==== Credenciales smtp para envío de alertas al mail ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
set mailserver&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Permite definir un servidor SMTP para el envío de alertas por correo. Por ejemplo podemos establecer la siguiente definición de esa directiva&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;# Configuracion de servidor de correo para alertas de Monit&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
set mailserver smtp.gmail.com port 587&lt;br /&gt;
username &amp;quot;monitortest&amp;quot; password &amp;quot;abc123.&amp;quot;&lt;br /&gt;
using tlsv1&lt;br /&gt;
&amp;lt;nowiki&amp;gt;# Configuracion &amp;lt;/nowiki&amp;gt;del buzón al que se enviarán las alertas&lt;br /&gt;
set alert monitortest@gmail.com&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;NOTA&amp;#039;&amp;#039;&amp;#039;: Hay que efectuar un par de pasos adicionales en la cuenta de gmail para poder habilitar el envío utilizando este sistema.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;ATENCIÓN A LAS URLs&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:gmail-less-secure.png]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:gmail-unlock-captcha.png]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:gmail-enable-access.png]]&lt;br /&gt;
&lt;br /&gt;
==== Formato del mail enviado ====&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;set mail-format&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Esta directiva permite establecer el formato del correo de alerta que se enviará cuando se produzca alguno de los eventos notificados por monit. Por defecto utiliza un formato de plantilla de mail genérico que puede ser modificado con esta directiva&lt;br /&gt;
&lt;br /&gt;
Podemos acceder a los parámetros del &amp;#039;&amp;#039;&amp;#039;runtime&amp;#039;&amp;#039;&amp;#039; desde el enlace Monit is [[running]] on base and monitoring de la página principal:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:monit-runtime.png|600px]]&lt;br /&gt;
&lt;br /&gt;
== Definición de componentes a monitorizar ==&lt;br /&gt;
&lt;br /&gt;
Es posible definir las directivas de monitorización directamente en el archivo monitrc. Sin embargo, a efectos organizativos y aclaratorios es más recomendable definir las directivas en archivos dentro del directorio &amp;#039;&amp;#039;&amp;#039;/etc/monit/conf.d&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
A continuación vamos a crear varios archivos de texto en los que se incorporán directivas de monitorización específicas para distintos casos de uso.&lt;br /&gt;
&lt;br /&gt;
=== Monitorización de parámetros generales del sistema ===&lt;br /&gt;
&lt;br /&gt;
Crearemos un archivo &amp;#039;&amp;#039;&amp;#039;/etc/monit/conf.d/system.monit&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vi /etc/monit/conf.d/system.monit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dentro del archivo incorporaremos las directivas siguientes&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
check system $HOST&lt;br /&gt;
if loadavg (1min) &amp;gt; 4 then alert&lt;br /&gt;
if loadavg (5min) &amp;gt; 2 then alert&lt;br /&gt;
if cpu usage &amp;gt; 95% for 10 cycles then alert&lt;br /&gt;
if memory usage &amp;gt; 75% then alert&lt;br /&gt;
if swap usage &amp;gt; 25% then alert&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El lenguaje de definición de directivas de monitorización es bastante claro e intuitivo, utilizando prolijamente la estructura condicional if. Ante cualquier duda de sintaxis o semántica acerca de las mismas se recomienda consultar el &amp;#039;&amp;#039;&amp;#039;Monit Manual&amp;#039;&amp;#039;&amp;#039; de la sección &amp;#039;&amp;#039;&amp;#039;Referencias&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Tras editar el fichero reiniciamos el servicio&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
service monit restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Monitorización de un servicio ===&lt;br /&gt;
&lt;br /&gt;
Vamos a ver un conjunto de directivas de monitorización para el servicio apache2. Si este servicio no está instalado en la máquina lo instalamos previamente&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt install -y apache2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación crearemos un archivo &amp;#039;&amp;#039;&amp;#039;/etc/monit/conf.d/apache2.monit&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vi /etc/monit/conf.d/apache2.monit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dentro de ese archivo incorporaremos las siguientes directivas de monitorización&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
check process apache with pidfile /var/run/apache2/apache2.pid&lt;br /&gt;
start program = &amp;quot;/etc/init.d/apache2 start&amp;quot; with timeout 60 seconds&lt;br /&gt;
stop program &amp;lt;nowiki&amp;gt;= &amp;quot;/etc/init.d/apache2 stop&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
if cpu &amp;gt; 60% for 2 cycles then alert&lt;br /&gt;
if cpu &amp;gt; 80% for 5 cycles then restart&lt;br /&gt;
if totalmem &amp;gt; 200.0 MB for 5 cycles then restart&lt;br /&gt;
if children &amp;gt; 250 then restart&lt;br /&gt;
if loadavg(5min) greater than 10 for 8 cycles then stop&lt;br /&gt;
if failed host localhost port 80 protocol http&lt;br /&gt;
and request &amp;quot;/index.html&amp;quot;&lt;br /&gt;
then restart&lt;br /&gt;
&amp;lt;nowiki&amp;gt;# &amp;lt;/nowiki&amp;gt;if failed port 443 protocol https with timeout 15 seconds then restart&lt;br /&gt;
&amp;lt;nowiki&amp;gt;# &amp;lt;/nowiki&amp;gt;if 3 restarts within 5 cycles then unmonitor&lt;br /&gt;
group server&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En este bloque de definición se hace uso de las directivas &amp;#039;&amp;#039;&amp;#039;start program&amp;#039;&amp;#039;&amp;#039; y &amp;#039;&amp;#039;&amp;#039;stop program&amp;#039;&amp;#039;&amp;#039; las cuales se utilizan en caso de ser necesario ejecutar el reinicio (restart) del servicio. Por ejemplo en la línea&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;if totalmem &amp;gt; 200.0 MB for 5 cycles then restart&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
... en caso de que la memoria total del proceso monitorizado excediera los 200MB durante 5 períodos de monitorización consecutivos se ejecutaría un reinicio del servicio, para ello se invocaría primero al comando de la directiva &amp;#039;&amp;#039;&amp;#039;stop program&amp;#039;&amp;#039;&amp;#039; y a continuación al comando de &amp;#039;&amp;#039;&amp;#039;start program&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Tras editar el fichero reiniciamos el servicio&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
service monit restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Página de monitorización de Apache;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:monit-apache.png|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Monitorización del sistema de archivos ===&lt;br /&gt;
&lt;br /&gt;
A continuación crearemos un archivo &amp;#039;&amp;#039;&amp;#039;/etc/monit/conf.d/filesystem.monit&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vi /etc/monit/conf.d/filesystem.monit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
check filesystem root with path /dev/sda1&lt;br /&gt;
if space usage &amp;gt; 80% for 5 times within 15 cycles then alert&lt;br /&gt;
if space usage &amp;gt; 99% then stop&lt;br /&gt;
if inode usage &amp;gt; 30000 then alert&lt;br /&gt;
if inode usage &amp;gt; 99% then stop&lt;br /&gt;
group server&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tras editar el fichero reiniciamos el servicio&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
service monit restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:monit-fs.png|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Monitorización de host ===&lt;br /&gt;
&lt;br /&gt;
A continuación crearemos un archivo &amp;#039;&amp;#039;&amp;#039;/etc/monit/conf.d/host.monit&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vi /etc/monit/conf.d/host.monit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
check host localhost with address 127.0.0.1&lt;br /&gt;
if failed ping then alert&lt;br /&gt;
if failed port 3306 protocol mysql with timeout 15 seconds then alert&lt;br /&gt;
if failed port 80 protocol http&lt;br /&gt;
then alert&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En este caso hacemos un chequeo del host local consistente en varias acciones&lt;br /&gt;
&lt;br /&gt;
* ejecución de un ping&lt;br /&gt;
* chequeo del puerto 3306 local (mysql)&lt;br /&gt;
* chequeo del puerto 80 local (http)&lt;br /&gt;
&lt;br /&gt;
En caso de fallo de cualquiera de los chequeos se envía una alerta&lt;br /&gt;
&lt;br /&gt;
Tras editar el fichero reiniciamos el servicio&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
service monit restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Monitorización de un enlace de red ===&lt;br /&gt;
&lt;br /&gt;
A continuación crearemos un archivo &amp;#039;&amp;#039;&amp;#039;/etc/monit/conf.d/network.monit&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vi /etc/monit/conf.d/network.monit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
check network public with interface enp0s3&lt;br /&gt;
if failed link then alert&lt;br /&gt;
if changed link then alert&lt;br /&gt;
if saturation &amp;gt; 90% then alert&lt;br /&gt;
if download &amp;gt; 10 MB/s then alert&lt;br /&gt;
if total uploaded &amp;gt; 1 GB in last hour then alert&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tras editar el fichero reiniciamos el servicio&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
service monit restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:monit-net.png|600px]]&lt;br /&gt;
&lt;br /&gt;
== Referencias ==&lt;br /&gt;
&lt;br /&gt;
[https://mmonit.com/monit/documentation/monit.html https://mmonit.com/monit/documentation/monit.html]&lt;br /&gt;
&lt;br /&gt;
[[Monitorización|Volver]]&lt;br /&gt;
&lt;br /&gt;
JavierFP 18:42 09 jue 2018 (CET)&lt;/div&gt;</summary>
		<author><name>Javierfp</name></author>
	</entry>
</feed>