Este es el comando monit que se puede ejecutar en el proveedor de alojamiento gratuito OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, el emulador en línea de Windows o el emulador en línea de MAC OS.
PROGRAMA:
NOMBRE
Monit - utilidad para monitorear servicios en un sistema Unix
SINOPSIS
Monit [opciones]
DESCRIPCIÓN
Monit es una utilidad para administrar y monitorear procesos, programas, archivos, directorios y
sistemas de archivos en un sistema Unix. Monit realiza mantenimiento y reparación automáticos y puede
ejecutar acciones causales significativas en situaciones de error. Por ejemplo, Monit puede iniciar un proceso si
no se ejecuta, reiniciar un proceso si no responde y detener un proceso si utiliza
demasiados recursos. Puede usar Monit para monitorear archivos, directorios y sistemas de archivos para
cambios, como cambios de marcas de tiempo, cambios de suma de comprobación o cambios de tamaño.
Monit se controla a través de un archivo de control fácil de configurar basado en un token de formato libre.
sintaxis orientada. Monit registra en syslog o en su propio archivo de registro y le notifica sobre el error
condiciones a través de mensajes de alerta personalizables. Monit puede realizar varias redes TCP/IP
comprobaciones, comprobaciones de protocolo y puede utilizar SSL para dichas comprobaciones. Monit proporciona un HTTP(S)
y puede usar un navegador para acceder al programa Monit.
LO QUE HACEMOS A ¿MONITOR?
Puedes usar Monit para monitorear daemon en costes o programas similares que se ejecutan en localhost.
Monit es particularmente útil para monitorear procesos daemon, como los iniciados en
tiempo de arranque del sistema. Por ejemplo, sendmail, sshd, apache y mysql. A diferencia de muchos otros
sistemas de monitoreo, Monit puede actuar si ocurre una situación de error, por ejemplo; si sendmail es
no se está ejecutando, monit puede iniciar sendmail nuevamente automáticamente o si apache está usando demasiados
recursos (por ejemplo, si hay un ataque DoS en curso) Monit puede detener o reiniciar apache y enviar
usted un mensaje de alerta. Monit también puede monitorear las características del proceso, como cuánto
ciclos de memoria o cpu que utiliza un proceso.
También puede usar Monit para monitorear archivos, directorios y sistemas de archivos en host local. monitorear
puede monitorear estos elementos en busca de cambios, como cambios de marcas de tiempo, cambios de suma de verificación o tamaño
cambios. Esto también es útil por razones de seguridad: puede monitorear md5 o sha1
suma de verificación de los archivos que no deben cambiar y recibir una alerta o realizar una acción si
debe cambiar.
Monit puede monitorear del sistema, personales a varios servidores, ya sea en localhost o en remoto
Hospedadores. Se admiten los sockets de dominio TCP, UDP y Unix. La prueba de red se puede realizar en un
nivel de protocolo; Monit tiene pruebas integradas para los principales protocolos de Internet, como HTTP,
SMTP, etc. Incluso si un protocolo no es compatible, aún puede probar el servidor porque
puede configurar Monit para enviar cualquier dato y probar la respuesta del servidor.
Monit se puede utilizar para probar programas o scripts en ciertos momentos, como cron, pero en
Además, puede probar el valor de salida de un programa y realizar una acción o enviar una alerta
si el valor de salida indica un error. Esto significa que puede usar Monit para realizar cualquier
tipo de cheque para el que puede escribir un script.
Finalmente, Monit se puede usar para monitorear te recursos en localhost como
uso general de CPU, memoria y carga del sistema.
GENERAL FUNCIONAMIENTO
El comportamiento de Monit está controlado por opciones de línea de comandos y un archivo de control de ejecución,
monitrc, cuya sintaxis describimos en una sección posterior. Anulación de opciones de la línea de comandos
.monitrc declaraciones.
La ubicación predeterminada para monitorear is ~/.monitrc. Si este archivo no existe, Monit lo
try /etc/monitor y algunos otros lugares. Ver ARCHIVOS para más detalles. También puede especificar el
archivo de control directamente usando el -c interruptor de línea de comandos para monit. Por ejemplo,
$ monitor -c /var/monit/monitrc
Antes de iniciar Monit por primera vez, puede probar el archivo de control en busca de errores de sintaxis:
$ monitor -t
$ Sintaxis del archivo de control Aceptar
Si hubo un error, Monit imprimirá un mensaje de error en la consola, incluido el
número de línea en el archivo de control desde donde se encontró el error.
Una vez que tenga un archivo de control de Monit en funcionamiento, simplemente inicie Monit desde la consola, así:
$ monito
Puede cambiar algunas directivas de configuración a través de interruptores de línea de comandos, pero por simplicidad
se recomienda que los coloque en el archivo de control.
Monit se desconectará de la terminal y se ejecutará como un proceso en segundo plano, es decir, como un demonio
proceso. Como demonio, Monit se ejecuta en ciclos; Supervisa los servicios, luego se va a dormir por un
período configurado, luego se despierta y comienza a monitorear nuevamente en un ciclo sin fin.
De Seguros
Monit reconoce las siguientes opciones. Sin embargo, se recomienda configurar
opciones (cuando corresponda) directamente en el .monitrc archivo de control.
-c presentar
Utilice este archivo de control
-d n
Ejecute Monit como un demonio una vez por n segundos. O usar "colocar
demonio" en monitor.
-g nombre
Establezca el nombre del grupo para iniciar, detener, reiniciar, monitorear, no monitorear,
estado y acción sumaria.
-l archivo de registro
Imprima la información de registro en este archivo. O usar "colocar archivo de registro"
en monitor.
-p archivo pid
Use este archivo de bloqueo en modo daemon. O usar "colocar archivo pid"
en monitor.
-s archivo de estado
Escriba información de estado en este archivo. O usar "colocar
archivo de estado" en monitor.
-I
No ejecutar en segundo plano (necesario para ejecutar desde init)
-i
Imprima la identificación única de Monit
-r
Restablecer la identificación única de Monit. Utilizar con precaución
-t
Ejecutar verificación de sintaxis para el archivo de control
-v
Modo detallado, trabajo ruidoso (salida de diagnóstico)
-vv
Modo muy detallado, igual que -v más log stack-trace on error
-H [nombre del archivo]
Imprima hashes MD5 y SHA1 del archivo o de stdin si el
se omite el nombre de archivo; Monit saldrá después
-V
Imprimir número de versión y nivel de parche
-h
Imprimir un texto de ayuda
Argumentos
Una vez que tenga Monit ejecutándose como un proceso daemon, puede llamar a Monit con uno de los
siguientes argumentos. Monit luego se conectará al demonio de Monit (en el puerto TCP
127.0.0.1:2812 por defecto) y solicite al demonio Monit que realice la acción solicitada. En
otras palabras; llamar a monit sin argumentos inicia el demonio Monit, y llamar a monit
con argumentos le permite comunicarse con el proceso del demonio Monit.
empezar todo
Inicie todos los servicios enumerados en el archivo de control y habilite el monitoreo para ellos. Si el
se establece la opción de grupo (-g), solo inicie y habilite el monitoreo de servicios en el nombre
grupo ("todos" no es necesario en este caso).
nombre de inicio
Inicie el servicio con nombre y habilite su supervisión. El nombre es un nombre de entrada de servicio.
del archivo monitor.
para todo
Detenga todos los servicios enumerados en el archivo de control y desactive su supervisión. Si el
está configurada la opción de grupo, solo detener y deshabilitar el monitoreo de los servicios en el nombre
grupo ("todos" no es necesario en este caso).
nombre de parada
Detenga el servicio mencionado y deshabilite su supervisión. El nombre es un nombre de entrada de servicio.
del archivo monitor.
reiniciar todo
Deténgase y comience all servicios. Si la opción de grupo está configurada, solo reinicie los servicios en
el grupo nombrado ("todos" no es necesario en este caso).
reiniciar nombre
Reinicie el servicio nombrado. El nombre es un nombre de entrada de servicio del archivo monitrc.
monitorear todo
Habilite la supervisión de todos los servicios enumerados en el archivo de control. Si la opción de grupo es
establecido, solo comience a monitorear los servicios en el grupo nombrado (no se requiere "todos" en
este caso).
nombre del monitor
Habilite la supervisión del servicio mencionado. El nombre es un nombre de entrada de servicio del
archivo monitor. Monit también habilitará el monitoreo de todos los servicios de los que depende este servicio
en.
descontrolar todo
Deshabilite la supervisión de todos los servicios enumerados en el archivo de control. Si la opción de grupo es
establecido, solo deshabilite el monitoreo de servicios en el grupo nombrado (no se requiere "todos" en
este caso).
nombre no supervisado
Deshabilite la supervisión del servicio mencionado. El nombre es un nombre de entrada de servicio del
archivo monitor. Monit también deshabilitará el monitoreo de todos los servicios que dependen de esto
.
estado [nombre]
Imprimir información sobre el estado del servicio.
resumen [nombre]
Imprima un breve resumen de estado.
recargar
Reinicie un demonio Monit en ejecución, el demonio volverá a leer su configuración, cierre
y reabrir los archivos de registro.
renuncia
Matar el proceso del demonio Monit
validar
Compruebe todos los servicios enumerados en el archivo de control. Esta acción también es la predeterminada.
comportamiento cuando Monit se ejecuta en modo daemon.
expresión regular de procmatch
Permite probar fácilmente el patrón para verificar la coincidencia del proceso. El comando toma regular
expresión como argumento y muestra todos los procesos en ejecución que coinciden con el patrón.
EL MONITAR CONTROL ARCHIVO
Monit se configura y controla a través de un archivo de control llamado monitorear. La ubicación predeterminada
para este archivo es ~/.monitrc. Si este archivo no existe, Monit intentará /etc/monitrc,
luego @sysconfdir@/monitrc y finalmente ./monitrc. Si crea Monit desde la fuente, el valor
de @sysconfdir@ se puede proporcionar en el momento de la configuración como ./configure --sysconfdir. Por ejemplo,
usando . / Configure --sysconfdir /var/monitor/etc hará que Monit busque monitorear in
/var/monitor/etc
Para proteger la seguridad de su archivo de control y contraseñas, el archivo de control debe tener
permisos de lectura y escritura no Saber más than 0700 (u=xrw,g=,o=); Monit se quejará y saldrá
de otra manera.
Cuando hay un conflicto entre los argumentos de la línea de comandos y los argumentos en este
archivo, los argumentos de la línea de comandos tienen prioridad.
Monit utiliza su propio lenguaje específico de dominio (DSL); El archivo de control consta de una serie
de entradas de servicio y declaraciones de opciones globales.
Los comentarios comienzan con un '#' y se extienden hasta el final de la línea. De lo contrario, el archivo
consiste en una serie de entradas de servicio o declaraciones de opciones globales en un formato libre,
sintaxis orientada a tokens.
Puede usar palabras clave de ruido como 'if', 'and', 'with(in)', 'has', 'us(ing|e)', 'on(ly)',
'then', 'for', 'of' en cualquier parte de una entrada para que parezca inglés. Son ignorados, pero
puede hacer que las entradas sean mucho más fáciles de leer de un vistazo. Las palabras clave no distinguen entre mayúsculas y minúsculas.
Hay tres tipos de fichas: gramática, números (es decir, secuencias de dígitos decimales) y
instrumentos de cuerda. Las cadenas pueden estar entre comillas o sin comillas. Una cadena entre comillas está limitada por doble
comillas y puede contener espacios en blanco (y los dígitos entrecomillados se tratan como una cadena). un sin comillas
cadena es cualquier token delimitado por espacios en blanco, que contiene caracteres y/o números.
A nivel semántico, el archivo de control consta de tres tipos de entradas:
1. Declaraciones de conjuntos globales
Una declaración de conjunto global comienza con la palabra clave "conjunto" y el elemento a configurar.
2. Declaración de inclusión global
La declaración de inclusión consiste en la palabra clave "incluir" y una cadena global. Esta
La declaración se usa para incluir directivas de configuración de archivos separados.
3. Una o más declaraciones de entrada de servicios.
Cada entrada de servicio consta de las palabras clave "cheque", seguidas del tipo de servicio.
Cada entrada requiere un único nombre descriptivo, que puede elegirse libremente. Este nombre
es utilizado por Monit para referirse al servicio internamente y en todas las interacciones con el
.
Actualmente, se admiten nueve tipos de extractos de cheques:
1. PROCESO DE COMPROBACIÓN | PAREO >
es la ruta absoluta al archivo pid del programa. Un archivo pid es un archivo,
que contiene la identificación única de un proceso. Si el archivo pid no existe o no contiene
el número PID de un proceso en ejecución, Monit llamará al método de inicio de la entrada si
definido.
es una alternativa al uso de archivos PID y utiliza la coincidencia de patrones de nombres de procesos para
encontrar el proceso a monitorear. Se utiliza la primera coincidencia, por lo que esta forma de verificación es la más
útil si el nombre del proceso es único. El archivo Pid debe usarse siempre que sea posible, ya que
define exactamente el pid esperado (la coincidencia de patrones no será útil para los procesos que
inicie un proceso secundario usando fork/clone ya que el elemento secundario coincidirá con el mismo patrón
temporalmente). Puede probar si un proceso coincide con un patrón desde la línea de comandos usando
"monitorizar procmatch"regex-pattern"". Esto enumerará todos los procesos que coincidan o no, el
patrón de expresiones regulares.
2. VER ARCHIVO SENDERO
es la ruta absoluta al archivo. Si el archivo no existe, Monit llamará
el método de inicio de la entrada si está definido, si no apunta a un tipo de archivo regular
(por ejemplo, un directorio), Monit deshabilitará el monitoreo de esta entrada. Si se ejecuta Monit
en modo pasivo o el método de inicio no está definido, Monit solo enviará una alerta en
error.
3. COMPROBAR FIFO SENDERO
es el camino absoluto a la fifo. Si el fifo no existe, Monit llamará
el método de inicio de la entrada si está definido, si no apunta a un tipo fifo (por
ejemplo un directorio), Monit deshabilitará el monitoreo de esta entrada. Si Monit se ejecuta en
modo pasivo o el método de inicio no está definido, Monit solo enviará una alerta en
error.
4. COMPROBAR EL SISTEMA DE ARCHIVOS SENDERO
es la ruta al dispositivo/disco, punto de montaje, archivo o directorio que forma parte
de un sistema de archivos. Se recomienda usar un archivo especial de bloque directamente (por ejemplo
/dev/hda1 en Linux o /dev/dsk/c0t0d0s1 en Solaris, etc.) Si usa un punto de montaje
(por ejemplo /datos), tenga en cuenta que si el sistema de archivos está desmontado, la prueba seguirá siendo verdadera
porque el punto de montaje existe.
Si el sistema de archivos deja de estar disponible, Monit llamará al método de inicio de la entrada si
definido. Si no apunta a un sistema de archivos, Monit deshabilitará el monitoreo de
esta entrada Si Monit se ejecuta en modo pasivo o el método de inicio no está definido, Monit
solo enviará una alerta de error.
5. CONSULTAR DIRECTORIO SENDERO
es la ruta absoluta al directorio. Si el directorio no existe, Monit
llamará al método de inicio de la entrada si está definido. Si no apunta a un
directorio, monit deshabilitará el monitoreo de esta entrada. Si Monit se ejecuta en modo pasivo
o los métodos de inicio no están definidos, Monit simplemente enviará una alerta de error.
6. COMPROBAR ANFITRIÓN HABLA A
La dirección del host se puede especificar como una cadena de nombre de host o como una cadena de dirección IP en un
formato decimal con puntos. Por ejemplo, tildeslash.com o "64.87.72.95".
7. COMPROBAR EL SISTEMA
El único nombre suele ser el nombre de host local, pero se puede utilizar cualquier nombre descriptivo.
Si usa la variable $HOST como nombre, se expandirá al nombre de host. este cheque
permite monitorear los recursos generales del sistema, como el uso de la CPU, el uso total de la memoria
o carga promedio. El único nombre se utiliza como nombre de host del sistema en las alertas de correo y como
el nombre inicial de la entrada de host en M/Monit.
8. VER PROGRAMA SENDERO [SE ACABÓ EL TIEMPO SEGUNDOS]
es la ruta absoluta al programa o script ejecutable. la prueba de estado
permite comprobar el estado de salida del programa. Si el programa no termina
ejecutando dentro segundos, Monit lo terminará. El programa predeterminado
el tiempo de espera es de 300 segundos (5 minutos). La salida del programa se graba y se hace
disponible en la interfaz de usuario y en las alertas (por defecto hasta 512B, puede
personalizar el límite usando la declaración de límites establecidos).
9. COMPROBAR LA RED | INTERFAZ >
es la dirección IPv4 o IPv6 de la interfaz de red supervisada. Tambien es
posible usar el nombre de la interfaz, como "eth0" en Linux.
REGISTRO
Monit registrará el estado y los mensajes de error en un archivo de registro. Utilizar el para reinventar la industria logística y redefinir las soluciones ecológicas para reinventar la industria logística y redefinir las soluciones ecológicas. archivo de registro declaración en
el archivo de control monitrc. Para configurar Monit para iniciar sesión en su propio archivo de registro, use, por ejemplo para reinventar la industria logística y redefinir las soluciones ecológicas para reinventar la industria logística y redefinir las soluciones ecológicas. archivo de registro
/var/log/monit.log. Si syslog se da como un valor para el modificador de línea de comando "-l" (o el
keyword para reinventar la industria logística y redefinir las soluciones ecológicas para reinventar la industria logística y redefinir las soluciones ecológicas. archivo de registro syslog se encuentra en el archivo de control) Monit usará el syslog te
daemon para registrar mensajes con una prioridad asignada a cada mensaje según el contexto. A
apague el registro, simplemente no configure el archivo de registro en el archivo de control (y por supuesto, no
use el modificador -l)
El formato para el archivo de registro es:
[fecha] prioridad: mensaje
por ejemplo:
[CET 5 de enero 18:49:29] información: 'localhost' Monit comenzó
DEMONIO MODO
Usa
ESTABLECER DEMONIO
[[CON] RETRASO DE INICIO ]
para especificar la duración del ciclo de sondeo de Monit y ejecutar Monit en modo daemon. Debes especificar un
argumento numérico que es un intervalo de sondeo en segundos.
En modo daemon, Monit se desconecta de la consola, se pone en segundo plano y se ejecuta
continuamente, monitoreando cada servicio especificado y luego se va a dormir para la encuesta dada
intervalo, se despierta y comienza a monitorear nuevamente en un ciclo sin fin.
Alternativamente, puede usar el interruptor de línea de comando "-d" para establecer el intervalo de sondeo, pero
Se recomienda encarecidamente establecer el intervalo de sondeo en su ~/.monitrc archivo, usando para reinventar la industria logística y redefinir las soluciones ecológicas para reinventar la industria logística y redefinir las soluciones ecológicas.
demonio.
Monit siempre se iniciará en modo daemon. Si no utiliza esta declaración y no
inicie monit con la opción -d, Monit solo ejecutará las comprobaciones de servicio una vez y
luego salir Esto puede ser útil en algunas situaciones, pero Monit está diseñado principalmente para ejecutarse
como un proceso daemon.
Llamar a "monit" con un demonio Monit ejecutándose en segundo plano envía una señal de activación a
el demonio, obligándolo a comprobar los servicios inmediatamente. Llamar a "monit" con quit
El argumento eliminará un proceso del demonio de Monit en ejecución en lugar de activarlo.
La opción de retraso de inicio se puede usar para esperar (una vez) antes de que Monit comience a verificar los servicios.
Esto puede ser útil, por ejemplo, cuando se inicia el sistema. Monit comenzará a verificar por defecto
servicios inmediatamente al inicio.
INIT APOYAR
La instrucción "set init" evita que Monit se transforme en un proceso daemon.
En su lugar, Monit se ejecutará como un proceso en primer plano. (Todavía debe usar "set daemon" para
especificar el ciclo de sondeo).
Esto es necesario para ejecutar Monit desde init. Usar init para iniciar Monit es probablemente lo mejor
manera de ejecutar Monit si quiere estar seguro de que siempre tiene un demonio de Monit ejecutándose
tu sistema. Otra opción es ejecutar Monit desde crontab. En cualquier caso, debe hacer
Asegúrese de que el archivo de control no tenga ningún error de sintaxis antes de iniciar Monit desde
init o crontab (use "monit -t" para verificar).
Para configurar Monit para que se ejecute desde init, puede usar la declaración "set init" en Monit's
archivo de control o utilice la opción "-I" de la línea de comandos. Esto es lo que debes agregar
"/etc/inittab":
# Ejecutar Monit en niveles de ejecución estándar
mo:2345:respawn:/usr/local/bin/monit -Ic /etc/monitrc
Después de haber modificado el archivo de configuración de init, puede ejecutar el siguiente comando para
vuelva a examinar /etc/inittab e inicie Monit:
telinit q
Para sistemas sin telinit:
matar -1 1
Si Monit se usa para monitorear servicios que también se inician en el momento del arranque (por ejemplo, servicios
iniciado a través de scripts SYSV init rc o a través de inittab) y luego, en algunos casos, una condición de carrera
podría ocurrir. Es decir; si un servicio tarda en iniciarse, Monit puede suponer que el servicio está
no se está ejecutando y posiblemente intente iniciarlo y generar una alerta, mientras que, de hecho, el servicio está
ya a punto de comenzar o ya en su secuencia de inicio. Consulte las preguntas frecuentes para obtener una
solución a este problema. La versión corta es iniciar Monit en un nivel de ejecución más alto después
procesos del sistema.
INCLUIR ARCHIVOS
El archivo de control de Monit, "monitrc", puede incluir archivos de configuración adicionales. Esta
función ayuda a organizar la configuración en archivos separados en lugar de tener
todo en un archivo, si te gusta este tipo de cosas. Se pueden colocar declaraciones de inclusión
en prácticamente cualquier lugar en "monitrc", aunque la convención está en la parte inferior. la sintaxis es
el seguimiento:
INCLUIR
El globstring es cualquier tipo de cadena como se define en glob(7). Por lo tanto, puede referirse a un
solo archivo o puede cargar varios archivos a la vez. Si desea utilizar espacios en blanco en su
cadena, la cadena global debe incluirse entre comillas (') o comillas dobles ("). Si la
globstring coincide con un directorio en lugar de un archivo, se ignora en silencio.
Alquiler y venta incluir las declaraciones en un archivo incluido se analizan como en el archivo de control principal.
Si la cadena global coincide con varios resultados, los archivos se incluyen sin ordenar.
Si necesita confiar en un cierto orden, debe evitar el uso de comodines y, en su lugar,
especifique la ruta completa de los archivos incluidos.
Un ejemplo,
incluir /etc/monit.d/*.cfg
Esto cargará cualquier archivo que coincida con el globstring. Es decir, todos los archivos en /etc/monit.d que
termina con el prefijo .cfg.
SSL OPCIONES
Las opciones comunes de SSL/TLS se pueden configurar usando la siguiente declaración y se aplicarán a todos los SSL
conexiones realizadas a través de Monit:
COLOCAR [OPCIONES] {
VERSIÓN:
VERIFICAR:
AUTOFIRMADO:
CLIENTEPEMFILE:
ARCHIVO DE CERTIFICADO:
RUTA DEL CERTIFICADO:
}
VERSION establezca la versión específica de SSL/TLS que se utilizará. Por defecto, Monit usa AUTO. En el modo AUTOMÁTICO,
solo se usa TLS, SSLv2 y SSLv3 se consideran obsoletos. Si tiene que usar SSLv2 o
SSLv3, debe establecer explícitamente la versión.
VERIFIQUE habilite la verificación del certificado del servidor SSL. Esto verificará e informará un error si
el certificado del servidor no es de confianza, no es válido o ha caducado. Por certificado predeterminado
la verificación está deshabilitada, aunque recomendamos habilitarla, de lo contrario no hay garantía
que Monit habla con el servidor con el que crees que habla.
AUTOFIRMADO los certificados autofirmados se rechazan de forma predeterminada. Utilice esta opción para permitir
Certificados autofirmados.
CLIENTEPEMFILE establezca la ruta al certificado de cliente SSL "archivo de base de datos" en formato PEM. Si
un servidor SSL requiere autenticación de certificado de cliente, Monit intentará encontrar un servidor público
certificado de clave en este archivo que coincida con la autoridad de certificación del servidor y, si se encuentra,
use este certificado para la autenticación del cliente.
CERTIFICADOARCHIVO establezca la ruta al archivo codificado PEM que contiene la autoridad de certificación
(CA) certificados. Monit usa los certificados de CA predeterminados de OpenSSL si esta opción no está
usó (openssl versión -d se puede utilizar para obtener los certificados de CA predeterminados). Muchos
distribuciones viene con certificados SSL y CA ya configurados y usar esta opción es
normalmente no es necesario.
CACERTIFICATERUTA establezca la ruta al directorio que contiene la Autoridad de certificación (CA)
certificados Monit utiliza los certificados de CA predeterminados de OpenSSL si no se utiliza esta opción.
Muchas distribuciones vienen con certificados SSL y CA ya configurados y usando esta opción
normalmente no es necesario.
La declaración de opciones de SSL se aplicará globalmente a todas las conexiones SSL/TLS realizadas a través de
Monitorear Las opciones de SSL también se pueden configurar en un control local, en servidor de correo ajustes o en el
monito y luego anulará o ampliará la configuración global.
Para configurar las opciones globales de SSL, coloque esta declaración cerca de la parte superior de su .monitrc archivo:
establecer opciones SSL {...}
Aquí hay un ejemplo de cómo configurar las opciones SSL globales y locales:
# Habilitar la verificación de certificados para todas las conexiones SSL
# Los certificados autofirmados no están permitidos de forma predeterminada
establecer opciones SSL {
verificar: habilitar
}
# Verificar certificado (a través de la configuración global)
# Permitir certificado autofirmado para esta verificación
verifique el ejemplo de host con la dirección ejemplo.com
si falla
puerto 443
protocolo https
con opciones ssl {autofirmado: permitir}
entonces alerta
# No verificar el certificado de example2.com (anular la configuración global)
verifique el host ejemplo2 con la dirección ejemplo2.com
si falla
puerto 443
protocolo https
con opciones ssl {verificar: deshabilitar}
entonces alerta
MONITAR HTTPD
Si se especifica en el archivo de control, Monit comenzará con soporte HTTP. A continuación, puede utilizar
Monit CLI para iniciar y detener servicios, deshabilitar o habilitar el monitoreo de servicios, así como ver
el estado de cada servicio.
Si la compatibilidad con HTTP está habilitada a través de TCP en lugar de un socket de Unix, también puede ver
Tablero informativo de Monit en tu navegador web.
Tenga en cuenta que si la compatibilidad con HTTP está deshabilitada, la interfaz CLI de Monit se habrá reducido
funcionalidad, ya que la mayoría de los comandos CLI (como "monit status") necesitan comunicarse con el
Supervise el proceso en segundo plano a través de la interfaz HTTP. Recomendamos enfáticamente tener soporte HTTP
activado. Si la seguridad es una preocupación, vincule la interfaz HTTP solo al host local o use Unix
Enchufe para que Monit no sea accesible desde el exterior.
Sintaxis para el puerto TCP:
ESTABLECER PUERTO HTTPD [HABLA A ]
[SSL ]
[PEMFILE ]
[ARCHIVOCLIENTE ]
[PERMITIRSE CERTIFICACIÓN]
[FIRMA ]
PERMITIR +
Ejemplo:
configurar el puerto httpd 2812
permitir nombre de usuario: contraseña
Ahora puedes usarhttp://localhost:2812/> para acceder a la interfaz web de Monit desde un navegador,
después de haber ingresado el nombre de usuario y la contraseña como credenciales.
Sintaxis para Unix Socket:
CONFIGURAR HTTPD UNIX SOCKET
PERMITIR +
Ejemplo:
establecer httpd unixsocket /var/run/monit.sock
permitir nombre de usuario: contraseña
De Seguros:
TOMA UNIX establezca la ruta al Unix Socket Monit debe vincularse y escuchar.
PORT establezca el puerto al que Monit debe vincularse y escuchar. Monit generalmente se configura en el puerto 2812.
DIRECCIÓN hacer que Monit escuche solo en una interfaz específica. por ejemplo si tu don't quiere
exponga la interfaz web de Monit a la red, vincúlela solo a localhost. Monit aceptará
conexiones en cualquier dirección por defecto (si falta la opción DIRECCIÓN).
Por ejemplo, para limitar la interfaz web solo a localhost:
establecer httpd
puerto 2812
use la dirección 127.0.0.1
permitir nombre de usuario: contraseña
SSL habilite TLS para la interfaz web de Monit. El ARCHIVO PEM La opción contiene tanto el servidor
clave privada y certificado. Este archivo debe almacenarse en un lugar seguro en el sistema de archivos
y debe tener permisos estrictos, no más de 0700.
Por ejemplo:
establecer httpd
puerto 2812
habilitar ssl
archivo pem /etc/certs/monit.pem
permitir mi usuario: mi contraseña
Ahora puedes usar para acceder al servidor web Monit a través de un TLS
conexión encriptada.
Se admite OpenSSL FIPS. Para habilitar el modo FIPS (siempre que su biblioteca OpenSSL admita
it), agregue esta declaración al archivo de control de Monit:
CONFIGURAR FIPS
CLIENTEPEMFILE Autenticación basada en certificado de cliente. Un cliente de conexión tiene que proporcionar
un certificado conocido por Monit para conectarse. Este archivo también necesita tener todos
certificados CA necesarios. Por defecto, los certificados de cliente autofirmados son no permitido. Si
desea usar un certificado autofirmado de un cliente, debe permitirse explícitamente
con el PERMITIRSE CERTIFICACIÓN .
Por ejemplo:
establecer httpd
puerto 2812
habilitar ssl
archivo pem /etc/certs/monit.pem
archivopemcliente /etc/certs/monit-client.pem
FIRMA se puede usar para ocultar la versión de Monit del encabezado de respuesta HTTP y las páginas de error.
Por ejemplo:
establecer httpd
puerto 2812
deshabilitar firma
permitir mi usuario: mi contraseña
Autenticación
El acceso a la interfaz web de Monit se controla principalmente a través del PERMITIR opción que es
se utiliza para especificar la autenticación y autorizar solo a clientes específicos para conectarse.
Si se utiliza la interfaz de línea de comandos de Monit, al menos una contraseña de texto claro es
necesario (ver más abajo), de lo contrario, la interfaz de línea de comandos de Monit no podrá
conectarse a la interfaz web de Monit.
Se registran los clientes que intentan conectarse a Monit, pero envían un nombre de usuario y/o contraseña incorrectos
con su dirección IP.
Cliente certificados
Este método de autenticación es un mecanismo de autenticación fuerte y emplea un cliente HTTPS
certificados para verificar la autenticidad de un cliente que se conecta. Los clientes deben poseer un
Certificado de Clave Pública conocido por Monit. El cliente debe conectarse a Monit sobre SSL y Monit
pedir al cliente que envíe su certificado. Al recibir el certificado, Monit compara el
certificado a los certificados ubicados en el CLIENTEPEMFILE Archivo. Se concede acceso si el
El certificado de cliente está en este archivo. Ver CLIENTEPEMFILE arriba para más detalles.
Host y del sistema, permitir lista
Monit mantiene una lista de control de acceso de hosts y redes que pueden conectarse. Usted puede
agregue tantos hosts como desee, pero solo hosts con un nombre de dominio válido o su IP
la dirección está permitida.
Monit consultará un servidor de nombres para verificar cualquier host que intente conectarse. Si un host (cliente) es
tratando de conectarse, pero no se encuentra en la lista de acceso o no se puede resolver, Monit
cerrará la conexión con el cliente de inmediato.
Ejemplo de archivo de control:
configurar el puerto httpd 2812
permitir servidor local
permitir mi.otra.máquina.de.trabajo.com
permitir 10.1.1.1
permitir 192.168.1.0/255.255.255.0
permitir 10.0.0.0/8
A los clientes, no mencionados en la lista de permitidos, que intenten conectarse a Monit se les negará el acceso
y se registran con su dirección IP.
Basic Autenticación
Monit admite la autenticación básica como se describe en RFC 2617.
En breve; un servidor desafía a un cliente (por ejemplo, un navegador) para enviar información de autenticación
(usuario y contraseña) y en caso de ser aceptado, el servidor permitirá al cliente el acceso a la
documento solicitado.
La mayor debilidad de la autenticación básica es que el nombre de usuario y la contraseña se envían
texto sin cifrar a través de la red (es decir, codificado en base64). Por lo tanto, se recomienda que haga
No use este método de autenticación a menos que ejecute Monit con ssl apoyo. con ssl es
seguro de usar la autenticación básica ya que all Datos HTTP, incluida la autenticación básica
los encabezados serán encriptados.
Usuario y contraseña en texto claro
Monit usará la autenticación básica si una instrucción allow contiene un nombre de usuario y un
contraseña separada con un solo carácter ':'. Se pueden utilizar caracteres especiales, pero para
no alfanuméricos la contraseña tiene que ser citada.
Sintaxis:
PERMITIR :
PAM
PAM es compatible con plataformas que proporcionan PAM (como Linux, Mac OS X, FreeBSD,
NetBSD).
Sintaxis:
PERMITIR @
donde "grupo" es el nombre del grupo al que se permite acceder a la interfaz web de Monit. Monit usa un PAM
servicio llamado Monit para la autenticación PAM, consulte la página del manual PAM para obtener información detallada.
instrucciones sobre cómo configurar el servicio PAM y los complementos de autenticación PAM.
Ejemplo de servicio PAM para Monit en Mac OS X (almacenar como archivo "/etc/pam.d/monit"):
# monit: sesión de contraseña de cuenta de autenticación
autenticación suficiente pam_securityserver.so
autenticación suficiente pam_unix.so
autenticación requerida pam_deny.so
cuenta requerida pam_permit.so
Y monitrc config que solo permite que el grupo "admin" autenticado a través de PAM acceda a la web
interfaz:
establecer httpd
puerto 2812
permitir @admin
archivo htpasswd
Alternativamente, puede usar archivos en formato "htpasswd" (uno usuario: passwd entrada por línea),
al igual que: permitir [texto claro|cripta|md5] /camino [usuarios]. Por defecto, las contraseñas de texto claro son
leer. En caso de que las contraseñas sean digeridas, es necesario especificar el código criptográfico
método. Si no desea que todos los usuarios del archivo de contraseñas tengan acceso a Monit, puede
especifique solo aquellos usuarios que deberían tener acceso, en la instrucción allow. De lo contrario todo
se agregan los usuarios.
Example1:
configurar el puerto httpd 2812
permitir hauk:contraseña
permitir md5 /etc/httpd/htpasswd john paul ringo george
Si usa este método junto con una lista de hosts, solo los clientes de los hosts enumerados
se le permitirá conectarse al servidor Monit HTTP y se le pedirá a cada cliente que
proporcionar un nombre de usuario y una contraseña.
Example2:
configurar el puerto httpd 2812
permitir servidor local
permitir 10.1.1.1
permitir hauk:"contraseña@rd"
Si solo desea utilizar la Autenticación básica, proporcione las entradas permitidas con
nombre de usuario y contraseña o archivos de contraseña como en el ejemplo 1 anterior.
Usuarios de solo lectura
Finalmente, es posible definir algunos usuarios como de solo lectura. Un usuario de sólo lectura puede leer el
Monitorear páginas web pero lo hará no obtener acceso a los pulsadores y no puede cambiar un servicio de
la interfaz web.
configurar el puerto httpd 2812
permitir administrador:contraseña
permitir hauk: contraseña de solo lectura
permitir @admins
permitir @usuarios de solo lectura
Un usuario se establece en solo lectura mediante el sólo lectura keyword después de usuario Contraseña. En el
ejemplo anterior el usuario halcón se define como un usuario de sólo lectura, mientras que el Admin el usuario tiene todo
derechos de acceso.
ALERTA MENSAJES
Monit generará una alerta en las siguientes situaciones:
o Un servicio no existe (por ejemplo, el proceso no se está ejecutando)
o No se pueden leer los datos del servicio (por ejemplo, no se puede obtener el uso del sistema de archivos)
o Falló la ejecución de un script relacionado con el servicio (por ejemplo, falló el inicio)
o Tipo de servicio no válido (por ejemplo, si la ruta apunta al directorio en lugar del archivo)
o El script de prueba personalizado devolvió un error
o Prueba de ping fallida
o Conexión TCP/UDP y/o prueba de puerto fallida
o Prueba de uso de recursos fallida (por ejemplo, uso de CPU demasiado alto)
o Cambio o discrepancia en la suma de comprobación (p. ej., cambio de archivo)
o La prueba de tamaño de archivo falló (por ejemplo, archivo demasiado grande)
o La prueba de marca de tiempo falló (por ejemplo, el archivo es más antiguo de lo esperado)
o La prueba de permisos falló (por ejemplo, el modo de archivo no coincide)
o Falló una prueba de UID (por ejemplo, archivo propiedad de otro usuario)
o Una prueba GID falló (por ejemplo, un archivo propiedad de un grupo diferente)
o El PID de un proceso cambió fuera del control de Monit
o El PPID de un proceso cambió fuera del control de Monit
o Fallaron demasiados intentos de recuperación del servicio
o Una prueba de contenido de archivo encontró una coincidencia
o Indicadores del sistema de archivos cambiados
o El administrador realizó una acción de servicio
o Un enlace de red falló
o La capacidad de un enlace de red cambió
o Falló la saturación de un enlace de red
o Falló la tasa de carga/descarga de un enlace de red
o Monit fue iniciado, detenido o recargado
Para recibir una alerta por correo electrónico, establezca el destino de la alerta utilizando la declaración global "establecer alerta"
(para todos los servicios) o la declaración de "alerta" en el contexto de una entrada de servicio (para un
servicio único).
Fijar an alerta beneficiario
Si ocurre un evento, Monit enviará una alerta. Hay dos tipos de declaración de alerta:
globales y locales.
Sintaxis global:
SET ALERT mail-address [[NOT] {evento, ...}] [RECORDATORIO ciclos]
Ejemplo:
establecer alerta foo@bar
enviará un correo electrónico predeterminado a la dirección foo@bar cada vez que ocurra un evento en cualquier servicio.
Si desea enviar mensajes de alerta a más direcciones de correo electrónico, agregue "establecer 'correo electrónico' de alerta"
declaración para cada dirección.
También es posible utilizar la declaración de alerta local en el contexto de una verificación de servicio para
Habilitar alerta solo para el servicio dado:
ALERTA dirección de correo [[NOT] {evento, ...}] [RECORDATORIO ciclos]
Ejemplo de alerta local:
verifique el host myhost con la dirección 1.2.3.4
si falla el puerto 3306 protocolo mysql entonces alerta
si falla el protocolo http del puerto 80, entonces alerta
alerta foo@baz # Alerta de servicio local
Puede combinar declaraciones de alerta globales y locales. Si hay un conflicto, la alerta local
tiene precedencia y anula la declaración global.
Fijar an evento filtrar
Si solo desea que se envíe un mensaje de alerta para ciertos eventos, inclúyalos en un "{evento, ...}"
bloquear, por ejemplo:
establecer alerta foo@bar solo en { tiempo de espera, inexistente }
La lista de eventos también se puede negar para enviar alertas para todos los eventos excepto los que son
en la lista, anteponiendo la lista con la palabra "no". Por ejemplo, para recibir todas las alertas
excepto la notificación sobre el inicio y la finalización del programa Monit:
establecer alerta foo@bar pero no en { instancia }
Aquí hay una lista de todos los posibles tipos de eventos emitidos por Monit. Valores de la primera columna
se puede utilizar en la lista de filtros de eventos mencionada anteriormente:
Evento: | Estado de falla: | Estado de éxito:
-------------------------------------------------- -------------------
acción | "Acción realizada" | "Acción realizada"
suma de comprobación | "Error en la suma de comprobación" | "La suma de comprobación se ha realizado correctamente"
byte | "Se excedieron los bytes de descarga" | "Descargar bytes ok"
byteout | "Se excedieron los bytes de carga" | "Subir bytes ok"
conexión | "Error en la conexión" | "Conexión exitosa"
contenido | "Error en el contenido", | "Contenido exitoso"
datos | "Error de acceso a datos" | "Acceso a datos exitoso"
ejecutivo | "Error de ejecución" | "Ejecución exitosa"
fsflags | "Los indicadores del sistema de archivos fallaron" | "Banderas del sistema de archivos exitosas"
gid | "Error de GID" | "GID exitoso"
icmp | "Error de ping" | "Ping exitoso"
instancia | "Cambió la instancia de Monitor" | "La instancia de Monit no cambió"
inválido | "Tipo no válido" | "Tipo correcto"
enlace | "Enlace caído" | "Vincularse"
inexistente | "No existe" | "Existe"
empaquetar | "Paquetes de descarga excedidos" | "Descargar paquetes ok"
paquete de salida | "Paquetes de carga excedidos" | "Subir paquetes ok"
permiso | "Permiso fallido" | "Permiso logrado"
pid | "Error de PID" | "PID exitoso"
ppido | "Error de PPID" | "PPID exitoso"
recurso | "Límite de recursos coincidentes" | "Límite de recursos logrado"
saturación | "Saturación excedida" | "Saturación bien"
tamaño | "Tamaño fallido" | "Tamaño logrado"
velocidad | "Error de velocidad" | "Velocidad bien"
estado | "Estado fallido" | "Estado logrado"
tiempo de espera | "Tiempo de espera" | "Recuperación de tiempo de espera"
marca de tiempo | "Error en la marca de tiempo" | "Marca de tiempo exitosa"
fluido | "Error de UID" | "UID exitoso"
tiempo de actividad | "Error en el tiempo de actividad" | "Tiempo de actividad exitoso"
Cada destinatario de la alerta puede tener su propio filtro, por ejemplo:
establecer alerta foo@bar {no existe, tiempo de espera, recurso, icmp, conexión}
establecer alerta security@bar en {suma de comprobación, permiso, uid, gid}
establecer alerta admin@bar
Fijar an error recordatorio
Monit por defecto envía solo one notificación si un servicio falla y otra cuando/si falla
recupera Si desea que se le notifique que el servicio aún se encuentra en un estado fallido, puede
use la opción de recordatorio en la declaración de alerta:
ESTABLECER ALERTA dirección de correo [CON] RECORDATORIO [ENCENDIDO] número [CICLOS]
Por ejemplo, si desea ser notificado cada décimo ciclo si un servicio permanece en estado fallido
estado, puede usar:
alerta foo@bar con recordatorio en 10 ciclos
Del mismo modo, si desea recibir una notificación en cada ciclo fallido, puede usar:
alerta foo@bar con recordatorio en 1 ciclo
Inhabilitando alertas for some Service
Para suprimir alertas para algún usuario y servicio, agregue la declaración "noalert" en el contexto
de un cheque de servicio.
dirección de correo NOALERT
Ejemplo (enviar todas las alertas a foo@bar excepto el servicio p3):
establecer alerta foo@bar
verifique el proceso p1 con pidfile /var/run/p1.pid
verifique el proceso p2 con pidfile /var/run/p2.pid
verifique el proceso p3 con pidfile /var/run/p3.pid
sin alerta foo@bar
Mensaje formato
El formato del mensaje de alerta se puede modificar utilizando la instrucción "establecer formato de correo":
ESTABLECER FORMATO DE CORREO {formato de correo}
Ejemplo:
establecer formato de correo {
desde: [email protected]
responder a: [email protected]
asunto: $SERVICIO $EVENTO en $FECHA
mensaje: Monit $ACTION $SERVICE en $DATE en $HOST: $DESCRIPTION.
Le saluda atentamente,
Monit
}
El desde: opción es la dirección de correo electrónico del remitente. Es decir, la dirección de correo electrónico Monit
pretender que está enviando alertas desde. No tiene que ser una dirección de correo electrónico real, solo una
dirección con el formato correcto.
El responder a: La opción se puede utilizar para configurar el encabezado del correo de respuesta.
El tema: La opción establece el asunto del mensaje y debe estar activada solo one la línea.
El mensaje: La opción establece el cuerpo del correo. Esta opción siempre debe ser la última en un correo.
declaración de formato. El cuerpo del correo puede ser tan largo como sea necesario, pero debe no contener el bloque-
carácter de cierre '}'.
No necesita usar todas las opciones, solo la opción que desea anular. por ejemplo a
cambiar globalmente la dirección del remitente solamente:
establecer el formato de correo {de: [email protected] }
El asunto y el cuerpo pueden contener variables $NAME, que Monit expande. Aquí hay un
lista de variables que se pueden utilizar al redactar un mensaje de alerta.
· $EVENTO
Una cadena que describe el evento que ocurrió.
· $SERVICIO
el nombre del servicio
· $FECHA
La fecha y la hora actuales (estilo de fecha RFC 822).
· $ HOST
El nombre del host en el que se ejecuta Monit
· $ACCIÓN
El nombre de la acción realizada por Monit.
· $DESCRIPCIÓN
La descripción de la condición de error.
Fijar a mail servidor for alerta entrega
El servidor de correo que debe usar Monit para enviar mensajes de alerta se define con un "servidor de correo establecido"
declaración:
CONFIGURAR SERVIDOR DE CORREO
[Número de puerto]
[Cadena de NOMBRE DE USUARIO] [Cadena de CONTRASEÑA]
[usando SSL [con opciones {...}]
[SUMA DE VERIFICACIÓN DEL CERTIFICADO [MD5|SHA1] ],
...
[con TIEMPO DE ESPERA X SEGUNDOS]
[usando el nombre de host HOSTNAME]
Se pueden configurar varios servidores de correo mediante una lista separada por comas. Si Monit no puede conectarse
al primer servidor, intentará con el siguiente de la lista y así sucesivamente.
La declaración del puerto permite anular el puerto SMTP predeterminado (465 para SSL o 25 para
TLS y conexión no segura).
Monit admite AUTH PLAIN y AUTH LOGIN para la autenticación SMTP. Puede establecer un nombre de usuario
y una contraseña utilizando las opciones NOMBRE DE USUARIO y CONTRASEÑA.
Puede configurar las opciones de SSL/TLS para la conexión y también comprobar la suma de comprobación de un certificado SSL.
El tiempo de espera de conexión predeterminado es de 5 segundos. Puede aumentar este límite utilizando el TIMEOUT
.
Ejemplo (configuración de dos servidores de correo para conmutación por error):
configurar el servidor de correo smtp.gmail.com, smtp.other.host
De manera predeterminada, Monit usa el nombre de host local en SMTP HELO/EHLO y en el encabezado de ID de mensaje.
Puede anular esto usando la opción HOSTNAME.
Evento cola
Si no hay un servidor de correo disponible, Monit can poner en cola eventos en el sistema de archivos local para reintentar
hasta que el servidor de correo se recupere.
Si Monit se usa con M/Monit, la cola de eventos proporciona un almacenamiento de eventos seguro para M/Monit en
el caso de problemas temporales.
La cola de eventos es persistente en todos los reinicios de Monit y siempre que el back-end
El sistema de archivos es persistente, también en el reinicio del sistema.
De forma predeterminada, la cola está deshabilitada y si el controlador de alertas falla, Monit simplemente dejará
el mensaje de alerta.
Para habilitar la cola de eventos, agregue la siguiente instrucción:
ESTABLECER COLA DE EVENTOS BASEDIR [RANURAS ]
El es la ruta al directorio donde se almacenarán los eventos.
Opcionalmente, si desea limitar el tamaño de la cola, use la opción de ranuras para almacenar solo hasta
número mensajes de eventos.
Ejemplo:
establecer eventqueue basado en /var/monit slots 5000
Si está ejecutando más de una instancia de Monit en la misma máquina, deben use
directorios de cola de eventos separados.
SERVICIO FORMAS DE PAGO
Cada servicio puede tener asociado comienzo, detener y reanudar métodos que Monit puede usar para
ejecutar la acción en el servicio.
Sintaxis:
[PROGRAMA] = "programa"
[[AS] UID ]
[[AS] GID ]
[[CON] TIEMPO DE ESPERA SEGUNDOS)]
Si el "programa" es un script de shell, debe comenzar con "#!" y el resto de la primera
línea debe especificar un intérprete para el programa. p.ej "#!/ Bin / sh"
El "programa" también debe ser ejecutable (por ejemplo, modo 0755).
Es posible escribir scripts directamente en el programa de esta manera:
detener = "/ bin / bash -c 'matar -s SIGTERM `cat /var/run/process.pid`'"
Por defecto, el programa se ejecuta como el usuario con el que se ejecuta Monit. Si Monit es
ejecutándose como root, puede especificar opcionalmente el UID y GID el programa ejecutado debe
cambiar a.
Ejemplo:
verifique el proceso mmonit con pidfile /usr/local/mmonit/mmonit/logs/mmonit.pid
programa de inicio = "/usr/local/mmonit/bin/mmonit" como uid "mmonit" y gid "mmonit"
detener el programa = "/usr/local/mmonit/bin/mmonit stop" como uid "mmonit" y gid "mmonit"
En el caso de una verificación de proceso, Monit esperará hasta 30 segundos para la acción de inicio/parada
para terminar antes de darse por vencido y reportar un error. Puede anular este tiempo de espera usando el
TIMEOUT .
Ejemplo:
verifique el proceso foobar con pidfile /var/run/foobar.pid
programa de inicio = "/etc/init.d/foobar start" con tiempo de espera de 60 segundos
detener programa = "/etc/init.d/foobar detener"
SERVICIO ENCUESTA Captura de
Los servicios se comprueban a intervalos regulares mediante la instrucción "set daemon n". Los cheques son
se realizan en el mismo orden en que están escritos en el archivo ".monitrc", excepto si
las dependencias se configuran entre servicios, donde los servicios de requisitos previos se prueban primero.
Es posible modificar un programa de verificación de servicio utilizando la declaración "cada".
Hay tres variantes:
1. intervalo personalizado basado en un múltiplo de ciclo de encuesta
CADA [número] CICLOS
2. verificar si el cronograma se basa en una cadena de estilo cron
CADA [cron]
3. programa de no verificación basado en una cadena de estilo cron
NO TODOS [cron]
Una cadena de estilo cron, consta de 5 campos separados por espacios en blanco. Todos los campos son
necesario:
Nombre: | Valores permitidos: | Caracteres especiales:
-------------------------------------------------- -------------
Minutos | 0-59 | * - ,
Horas | 0-23 | * - ,
Día del mes | 1-31 | * - ,
Mes | 1-12 (1=ene, 12=dic) | * - ,
Día de la semana | 0-6 (0=domingo, 6=sábado) | * - ,
Los caracteres especiales:
Personaje: | Descripción:
-------------------------------------------------- -------------
* (asterisco) | El asterisco indica que la expresión será
| coincidencia para todos los valores del campo; por ejemplo, usando
| un asterisco en el cuarto campo (mes) sería
| indicar cada mes.
- (guión) | Los guiones se utilizan para definir rangos. Por ejemplo,
| 8-9 en el campo de la hora indica entre las 8 a. m. y
| 9 a.m. Tenga en cuenta que el rango es desde la hora de inicio hasta y
| incluyendo la hora de finalización. Es decir, desde las 8AM y hasta
| 10 a.m. a menos que se establezcan minutos. Otro ejemplo,
| 1-5 en el campo de día de la semana, especifique de lunes a
| viernes (incluido el viernes).
, (coma) | Las comas se utilizan para especificar una secuencia. Por ejemplo
| 17,18 en el campo de día indica el 17 y el 18
| día del mes. Una secuencia también puede incluir
| rangos Por ejemplo, usando 1-5,0 en el día de la semana
| campo indicar lunes a viernes y domingo.
Ejemplo 1: Comprobar una vez cada dos ciclos
verifique el proceso nginx con pidfile /var/run/nginx.pid
cada 2 ciclos
Ejemplo 2: Comprobar todos los días laborables de 8 a. m. a 7 p. m.
programa de verificación checkOracleDatabase
con la ruta /var/monit/programs/checkoracle.pl
cada "* 8-19 * * 1-5"
Ejemplo 3: no ejecute la comprobación en la ventana de copia de seguridad el domingo de 0 a. m. a 3 a. m.
verifique el proceso mysqld con pidfile /var/run/mysqld.pid
no todos los "* 0-3 * * 0"
Limitaciones:
El planificador actual se basa en el ciclo de sondeo. Cuando una verificación de servicio está restringida con el
cada cron declaración, Monit verificará si la hora actual coincide con la cadena cron
patrón. Si es así, se realiza la comprobación, de lo contrario se omite. el cron
especificación, por lo tanto, no garantiza cuándo se ejecutará exactamente la prueba, esto depende de la
tiempo de sondeo predeterminado y la duración del ciclo de verificación. En otras palabras, no podemos garantizar
que Monit se ejecutará en un momento específico. por eso nosotros se mostró plenamente recomiendo usar un astérix
en el campo de minutos o como mínimo un rango, p. 0-15. Nunca usar un minuto específico como
Es posible que Monit no se ejecute en ese minuto.
Abordaremos esta limitación en una versión futura y convertiremos el programador de serial
sondeo en un programador paralelo sin bloqueo donde se garantiza que las comprobaciones se ejecutarán a tiempo
y con resolución de segundos.
SERVICIO GRUPOS
Entradas de servicio en el archivo de control, monitorear, se pueden agrupar por grupo de XNUMX
declaración. La sintaxis es simple (palabra clave en mayúscula):
GRUPO nombre de grupo
Con esta sentencia es posible agrupar entradas de servicios similares y administrar
ellos como un todo. Monit proporciona funciones para iniciar, detener, reiniciar, monitorear y dejar de monitorear un
grupo de servicios, así:
Para iniciar un grupo de servicios desde la consola:
monitorear -g comienzo
Para detener un grupo de servicios:
monitorear -g detener
Para reiniciar un grupo de servicios:
monitorear -g reiniciar
Un servicio se puede agregar a varios grupos mediante el uso de más de una declaración de grupo:
grupo www
sistema de archivos de grupo
SERVICIO MONITOREO MODO
Monit admite tres modos de monitoreo por servicio: lector activo, pasivo y manual.
Sintaxis:
MODO
In lector activo modo (predeterminado), Monit monitoreará proactivamente un servicio y en caso de
los problemas generan alertas y/o reinician el servicio.
In pasivo modo, Monit monitoreará pasivamente un servicio y generará alertas, pero
no tratar de solucionar un problema mediante la ejecución comienzo, detener or reanudar.
In manual modo, Monit entrará lector activo modo only si un servicio se inició a través de Monit:
monitor de inicio
Use "parar monitor " para detener el servicio y sacarlo del control de Monit. El
el modo manual se puede utilizar para crear un clúster simple con servicios HA activos/pasivos.
El estado de monitoreo de un servicio es persistente durante el reinicio de Monit.
Si usa Monit en un clúster de alta disponibilidad, debe colocar el archivo de estado de Monit en una ubicación temporal.
sistema de archivos, por lo que si la máquina que ejecuta los servicios HA falla y la máquina en espera
hacerse cargo de sus servicios, los servicios HA no se iniciarán después de que se inicie el nodo bloqueado
nuevo:
establecer archivo de estado /tmp/monit.state
SERVICIO REINICIAR LIMITE LAS
Monit proporciona un mecanismo de límite de reinicio para situaciones en las que un servicio simplemente se niega a
comenzar o responder durante un período más largo.
El mecanismo de límite de reinicio se basa en el número de reinicios del servicio y el número de encuestas.
ciclos Por ejemplo, si un servicio tuviera x se reinicia dentro y ciclos de sondeo (donde x <= y) entonces
Monit realizará una acción (por ejemplo, dejar de monitorear el servicio). Si se produce un tiempo de espera,
Monit enviará un mensaje de alerta si tiene interés en registrarse para este evento.
La sintaxis de la declaración de tiempo de espera es la siguiente (las palabras clave están en mayúscula):
SI REINICIAR CICLO(S) ENTONCES
El DE ACTUAR! el valor es una de las acciones comunes o TIMEOUT (para compatibilidad con versiones anteriores,
es igual a la acción UNMONITOR).
Aquí hay un ejemplo donde Monit dejará de monitorear el servicio si se reinició 2 veces
dentro de 3 ciclos:
si 2 se reinicia dentro de 3 ciclos, entonces no se monitorea
Para que Monit verifique el servicio nuevamente después de que se deshabilitó el monitoreo, ejecute "monit monitor
servicename" desde la línea de comando.
Ejemplo para configurar una ejecución personalizada en el tiempo de espera:
si 5 se reinicia dentro de 5 ciclos entonces exec "/foo/bar"
Ejemplo para detener el servicio:
si 7 se reinicia dentro de 10 ciclos, entonces se detiene
SERVICIO DEPENDENCIAS
Si se especifica en el archivo de control, Monit puede realizar comprobaciones de dependencia antes de iniciar, detener y
seguimiento o no seguimiento de los servicios. La declaración de dependencia se puede utilizar dentro de cualquier
entradas de servicio en el archivo de control de Monit.
La sintaxis de la instrucción depende es simplemente:
DEPENDE del servicio[, servicio[,...]]
Dónde Service es un nombre de entrada de servicio de verificación utilizado en su archivo ".monitrc", por ejemplo
apache or datos.
Puede agregar más de un nombre de servicio de cualquier tipo o usar más de una declaración de dependencia
en una entrada.
Servicios especificados en un depender la declaración será revisada durante
detener/iniciar/supervisar/no supervisar operaciones.
Si un servicio se detiene o no se supervisa, detendrá o dejará de supervisar cualquier servicio que dependa de
misma.
Si se inicia el servicio, se iniciarán todos los servicios de los que depende este servicio.
antes de iniciar este servicio. si falla el inicio de algún servicio, el servicio con
requisitos previos NO se iniciará y el, pero recordará que debe iniciarse y se
vuelva a intentar el próximo ciclo.
Si se reinicia un servicio, primero detendrá cualquier servicio activo que dependa de él y
después de que se inicie, inicie todos los servicios dependientes que estaban activos antes del reinicio
de nuevo.
Aquí hay un ejemplo en el que configuramos una entrada de servicio de apache para que dependa del subyacente
apache binario. Si el binario debe cambiar, se envía una alerta y Apache no se supervisa
nunca más. La razón es la seguridad y que Monit no debe ejecutar un código posiblemente descifrado.
apache binario.
(1) verifique el proceso apache con pidfile "/var/run/httpd.pid"
(2) depende de httpd
(3) ...
(4)
(5) verifique el archivo httpd con la ruta /usr/bin/httpd
(6) si falla la suma de verificación, deténgase
La primera entrada es la entrada de proceso para apache. La segunda línea establece una dependencia.
entre esta entrada y la entrada de servicio llamada httpd en la línea 5. Un árbol de dependencia funciona como
sigue, si una acción se lleva a cabo en una rama más baja se propagará hacia arriba en el árbol
y para cada entrada dependiente ejecutar la misma acción. En este caso, si la suma de control
debe fallar en la línea 6, luego se ejecuta una acción de detención y no se verifica el binario de apache
nunca más. Pero dado que la entrada del proceso apache depende de la entrada httpd, esta entrada
también ejecute la acción de parada. En resumen, si la prueba de suma de comprobación para el archivo binario httpd
debe fallar, tanto el archivo de verificación httpd como la entrada de apache del proceso de verificación se detienen.
Un árbol de dependencia es una construcción general y se puede utilizar entre todos los tipos de servicio
entradas y abarcan muchos niveles y propagan cualquier acción admitida (excepto la acción exec
que no se propagará hacia arriba en un árbol de dependencia por razones obvias).
Aquí hay otro ejemplo diferente. Considere la siguiente configuración de servidor común:
SERVIDOR WEB -> SERVIDOR DE APLICACIONES -> BASE DE DATOS -> SISTEMA DE ARCHIVOS
(a B C D)
Puede establecer dependencias para que el servidor web dependa del servidor de aplicaciones para ejecutarse
antes de que se inicie el servidor web y el servidor de aplicaciones dependa del servidor de la base de datos y
la base de datos depende del sistema de archivos que se va a montar antes de iniciarse. Véase también el
siguiente sección de ejemplo para ver ejemplos que usan la instrucción depende.
Aquí describimos cómo funcionará Monit con las dependencias anteriores:
Si no hay servicios en ejecución
Monit iniciará los servidores en el siguiente orden: d, c, b, a
Si todos los servidores están funcionando
Cuando ejecuta 'monit stop all', esta es la orden de detención: a, b, c, d. Si ejecuta 'Monitor
detener d 'entonces a, b y c también se detienen porque dependen de d y finalmente d is
detenido.
If a no corre
Monit comenzará a
If b no corre
Monit primero se detendrá a entonces empezar b y finalmente empezar a if b está arriba de nuevo.
If c no corre
Monit primero se detendrá a y b entonces empezar c y finalmente empezar b then a.
If d no corre
Monit primero se detendrá a, b y c entonces empezar d y finalmente empezar c, b then a.
Si el archivo de control contiene un ciclo de dependencia.
Un bucle de dependencia es, por ejemplo; a->b y b->a o a->b->c->a.
Cuando se inicie Monit, buscará tales bucles y se quejará y saldrá si se produjo un bucle.
fundar. También saldrá con una queja si se usó una declaración de dependencia que no
apunte a un servicio en el archivo de control.
SERVICIO TESTS
LÍMITES
Puede configurar y establecer varios límites para modificar los tamaños de búfer y los tiempos de espera utilizados por Monit.
En la mayoría de las situaciones, los valores predeterminados están bien. Si es necesario, a continuación se muestran los límites que puede
modificar actualmente en Monit.
Sintaxis:
ESTABLECER LÍMITE {
SALIDA DEL PROGRAMA: ,
ENVIAR BUFER ESPERADO: ,
BUFER DE CONTENIDO DEL ARCHIVO: ,
BÚFER DE CONTENIDO HTTP: ,
TIEMPO DE ESPERA DE LA RED:
}
Lugar:
unidad es "B" (byte), "kB" (kilobyte) o "MB" (megabyte)
unidad de tiempo es "MS" (milisegundo) o "S" (segundo)
Leyenda de opciones:
-------------------------------------------------- --------------------------------
| Opción | Descripción | Predeterminado |
-------------------------------------------------- --------------------------------
| salida del programa | límite para la salida del programa de verificación (truncado después) | 512 B |
| enviarExpectBuffer | límite para la prueba de protocolo de envío/espera | 256 B |
| archivoContentBuffer | límite para prueba de contenido de archivo (línea) | 512 B |
| httpContentBuffer | límite para la prueba de contenido HTTP (cuerpo de respuesta) | 1 MB |
| redTiempo de espera | tiempo de espera para E/S de red | 5 seg |
-------------------------------------------------- --------------------------------
GENERAL SINTAXIS
Monit ofrece varias pruebas if que puede usar en una declaración de 'verificación' para probar varios aspectos
de un servicio.
Puede probar tanto para un valor predefinido como para un rango y tomar medidas si el valor
cambios.
Sintaxis general para probar un valor o rango específico:
SI ENTONCES [ELSE SI TUVO ÉXITO ENTONCES ]
La acción se evalúa cada vez que el condición es verdadera. La acción de éxito es opcional
y se ejecuta solo cuando el estado cambia de falla a éxito. Si la acción de éxito no es
configurado, Monit enviará una alerta de recuperación de forma predeterminada.
Sintaxis general para una prueba de cambio de valor:
SI CAMBIÓ ENTONCES
La acción se ejecuta cada vez que cambia el valor. Monit recordará el nuevo valor y
activará el evento si el valor cambia de nuevo.
ACCIÓN
En cada prueba debe seleccionar la acción a ejecutar de esta lista:
· ALERTA envía al usuario un evento de alerta en cada cambio de estado.
· REINICIAR reinicia el servicio y enviar una alerta El reinicio se realiza llamando al
el método de reinicio registrado del servicio o llamando primero al método de detención seguido de
el método de inicio si el reinicio no está configurado.
· EMPIEZA inicia el servicio llamando al método de inicio registrado del servicio y mandar un
alerta.
· STOP detiene el servicio llamando al método de detención registrado del servicio y mandar un
alerta. Si Monit detiene un servicio, Monit ya no lo verificará ni lo reiniciará.
de nuevo más tarde. Para reactivar nuevamente el monitoreo del servicio debe habilitar explícitamente
monitorización desde la interfaz web o desde la consola.
· EJEC se puede utilizar para ejecutar un programa arbitrario y enviar una alerta Si eliges esto
acción debe indicar el programa a ejecutar y si el programa requiere argumentos
debe encerrar el programa y sus argumentos en una cadena entre comillas. Usted puede opcionalmente
especifique el uid y el gid al que debe cambiar el programa ejecutado al iniciarse. El programa
se ejecuta por defecto una sola vez, en el cambio de estado. Puede habilitar el programa
repetición cuando el error persiste por un número dado de ciclos. Por ejemplo:
si falla luego ejecute "/usr/local/bin/sms.sh"
como uid nadie y gid nadie
repetir cada 5 ciclos
Recuerde, si Monit es ejecutado por root, todos los programas ejecutados por Monit se iniciarán
con privilegios de superusuario a menos que se utilice la extensión uid y gid.
· NO SUPERVISAR deshabilitará el monitoreo del servicio y enviar una alerta El servicio se
Monit ya no lo comprobará ni lo reiniciará más tarde. Para reactivar el seguimiento
del servicio debe habilitar explícitamente el monitoreo desde la interfaz web o desde
la consola.
FALLO TOLERANCIA
Por defecto se ejecuta una acción si coincide y el servicio correspondiente se establece en un
estado de error Sin embargo, puede requerir que una prueba falle más de una vez antes del evento de error.
se desencadena y el estado del servicio cambia a fallido. Esto es útil para evitar obtener
alertas sobre errores espurios, que pueden ocurrir, especialmente con las pruebas de red.
Sintaxis:
POR CICLOS...
o bien:
[VECES DENTRO] CICLOS...
La condición se puede utilizar tanto para la acción de error como para la de éxito.
El primer formato, más simple y recomendado, requiere "X" eventos consecutivos antes de cambiar
el estado:
si falla
puerto 80
durante 3 ciclos
entonces alerta
El segundo formato es más avanzado y permite tolerar problemas intermitentes, pero
aún detecta problemas excesivos, donde el servicio oscila entre el error y el éxito
estados con frecuencia.
Por ejemplo, si cada segundo ciclo falla (1-0-1-0-1-0-...), entonces la condición "para 2 ciclos"
nunca coincidirá, a pesar de que el servicio tiene problemas. La siguiente declaración captará
tal estado:
si falla
puerto 80
3 veces en 5 ciclos
entonces alerta
Ejemplo que establece múltiples niveles de error y acciones:
verifique el sistema de archivos rootfs con la ruta /dev/hda1
si el uso del espacio es > 80 % 5 veces en 15 ciclos, alerta
si el uso del espacio es > 90 % durante 5 ciclos, ejecute '/intentar/liberar/el/espacio'
Nota: el valor máximo para los ciclos es 64.
EXISTENCIA Servicios
Esta prueba está implícita y siempre activa para comprobaciones de servicio de tipo, , presentar,
directorio y fifo. Si no se define, por defecto es una acción de reinicio.
Puede anular la acción predeterminada con la siguiente declaración:
SI [NO] EXISTE ENTONCES
DE ACTUAR! es una opción de "ALERTA", "REINICIAR", "INICIAR", "PARAR", "EJEC" o "DESMONITORIZAR".
Ejemplo:
verifique el archivo con la ruta /cifs/mydata
si no existe entonces exec "/usr/bin/mount_cifs.sh"
DIRECTORIO DE Servicios
Monit puede examinar cuántos recursos del sistema está utilizando un servicio. Esta prueba sólo puede ser
utilizado dentro de una entrada de servicio de proceso o sistema en el archivo de control de Monit.
Dependiendo de las características del sistema o del proceso, los servicios se pueden detener o reiniciar y
Se pueden generar alertas. Por lo tanto, es posible utilizar sistemas que están inactivos y
sistema de repuesto bajo carga alta.
La sintaxis completa para una declaración de recurso utilizada para la prueba de recursos es la siguiente (palabras clave
están en letras mayúsculas y opcionales entre [paréntesis]),
SI ENTONCES
Recurso es una opción de "CPU", "CPU TOTAL", "CPU ([usuario|sistema|esperar])", "MEMORIA", "SWAP",
"HILOS", "NIÑOS", "MEMORIA TOTAL", "LOADAVG([1min|5min|15min])". Algunas pruebas de recursos
se puede usar dentro de una entrada del sistema de cheques, algunos en una entrada del proceso de cheques y otros en ambos:
Pruebas de recursos solo del sistema:
CPU([usuario|sistema|esperar]) es el porcentaje de tiempo que el sistema pasa en el espacio del usuario o del kernel
y E/S. El modificador de usuario/sistema/espera es opcional, si no se usa, la CPU total del sistema
se prueba el uso.
SWAP es el uso de intercambio del sistema en porcentaje (del total del sistema) o como un
cantidad (Byte, kB, MB, GB).
Procesar solo pruebas de recursos:
CPU es el uso de CPU del propio proceso (porcentaje).
CPU TOTAL es el uso total de CPU del proceso y sus hijos en (porcentaje). Vas a
desea usar la CPU TOTAL normalmente para servicios como el servidor web Apache donde un maestro
El proceso bifurca los procesos secundarios como trabajadores.
THREADS es el número de hilos de los procesos.
CHILDREN es el número de procesos secundarios del proceso.
MEMORIA TOTAL es el uso de memoria del proceso y sus procesos secundarios en porcentaje
o como cantidad (Byte, kB, MB, GB).
Pruebas de recursos del sistema y del proceso:
MEMORIA es el uso de memoria del sistema o de un proceso (sin hijos) en
porcentaje (del total del sistema) o como cantidad (Byte, kB, MB, GB).
LOADAVG([1min|5min|15min]) se refiere al promedio de carga del sistema. El promedio de carga es el
número de procesos en la cola de ejecución del sistema, promediado durante el período de tiempo especificado.
operador es una elección de "<", ">", "!=", "==" en notación C, "gt", "lt", "eq", "ne" en
notación shell sh y "mayor", "menor", "igual", "no igual" en forma legible por humanos (si
no especificado, el valor predeterminado es EQUAL).
propuesta de es un número entero o un número real. Para CPU, CPU TOTAL, MEMORIA y MEMORIA TOTAL
necesitas especificar un unidad. Esto podría ser "%" o, si corresponde, "B" (Byte), "kB" (1024
Byte), "MB" (1024 KiloByte) o "GB" (1024 MegaByte).
DE ACTUAR! es una opción de "ALERTA", "REINICIAR", "INICIAR", "PARAR", "EJEC" o "DESMONITORIZAR".
Para calcular los ciclos, se levanta un contador cada vez que la expresión anterior es verdadera y
se baja siempre que es falso (pero no por debajo de 0). Todos los contadores se ponen a cero en caso de
reinicie.
El siguiente es un ejemplo para comprobar que el uso de la CPU de un servicio no va más allá
50% durante cinco ciclos de votación. Si lo hace, Monit reiniciará el servicio:
si la cpu es superior al 50% durante 5 ciclos, reinicie
ARCHIVO CHECKSUM Servicios
La declaración de suma de verificación solo se puede usar en una entrada de servicio de archivos y se puede usar para verificar
la suma de comprobación MD5 o SHA1 del archivo.
Compruebe la suma de comprobación específica:
SI FALLÓ [MD5|SHA1] CHECKSUM [EXPECT checksum] ENTONCES acción
Verifique cualquier cambio en el archivo:
SI CAMBIÓ [MD5|SHA1] CHECKSUM ENTONCES acción
La elección de MD5 o SHA1 es opcional. MD5 cuenta con una suma de comprobación de 128 bits (32 bytes hexadecimales
cadena codificada) y SHA1 una suma de comprobación de 160 bits (cadena codificada hexadecimal de 40 bytes). Si esta opción
se omite, Monit intentará adivinar el método a partir de la cadena EXPECT o utilizará MD5 como método
suma de comprobación predeterminada.
"esperar" es opcional y, si se usa, especifica la cadena md5 o sha1 que Monit debe esperar
al probar la suma de comprobación de un archivo. Monit entonces no calculará una suma de verificación inicial para el
archivo, sino que utilice la cadena que envíe. Por ejemplo:
si falla
checksum expect 8f7f419955cefa0b33a2ba316cba3659
entonces alerta
Puede, por ejemplo, utilizar la utilidad GNU md5sum(1) or sha1sum(1) para crear una suma de comprobación
cadena para un archivo y use esta cadena en la declaración de expectativa.
Recargar un servidor si se cambió su archivo de configuración:
verifique el archivo apache_conf con la ruta /etc/apache/httpd.conf
si se cambia la suma de comprobación, exec "/usr/bin/apachectl graceful"
DE ACTUAR! es una opción de "ALERTA", "REINICIAR", "INICIAR", "PARAR", "EJEC" o "DESMONITORIZAR".
TIMESTAMP Servicios
La declaración de marca de tiempo solo se puede usar en una entrada de servicio de archivo, fifo o directorio.
Sintaxis de marca de tiempo específica:
IF TIMESTAMP [[operador] valor [unidad]] THEN acción
La marca de tiempo cambió la sintaxis:
SI CAMBIÓ LA MARCA DE TIEMPO ENTONCES acción
operador es una elección de "<", ">", "!=", "==" en notación C, "GT", "LT", "EQ", "NE" en
notación shell sh y "GREATER", "LESS", "EQUAL", "NOTEQUAL" en forma legible por humanos (si
no especificado, el valor predeterminado es EQUAL).
propuesta de es una marca de agua de tiempo.
unidad es "SEGUNDO(S)", "MINUTO(S)", "HORA(S)" o "DÍA(S)".
DE ACTUAR! es una opción de "ALERTA", "REINICIAR", "INICIAR", "PARAR", "EJEC" o "DESMONITORIZAR".
Por ejemplo, para recargar apache si la marca de tiempo del archivo de configuración cambió:
verifique el archivo apache_conf con la ruta /etc/apache/httpd.conf
si se cambia la marca de tiempo, exec "/usr/bin/apachectl graceful"
Por ejemplo, probar el directorio para agregar o eliminar archivos:
verifique la ruta de la barra de directorio / foo / bar
si la marca de tiempo es < 1 hora, alerta
ARCHIVO TAMAÑO Servicios
La declaración de tamaño solo se puede usar en una entrada de servicio de archivo de cheques. Si se especifica en el
archivo de control, Monit calculará un tamaño para un archivo.
Prueba de tamaño o rango específico:
SI TAMAÑO [[operador] valor [unidad]] ENTONCES acción
Cambios de tamaño de prueba:
SI CAMBIÓ EL TAMAÑO ENTONCES acción
operador es una elección de "<", ">", "!=", "==" en notación C, "GT", "LT", "EQ", "NE" en
notación shell sh y "GREATER", "LESS", "EQUAL", "NOTEQUAL" en forma legible por humanos (si
no especificado, el valor predeterminado es EQUAL).
propuesta de es una marca de agua de tamaño.
unidad es una opción de "B","KB","MB","GB" o alternativas largas "byte", "kilobyte",
"megabyte", "gigabyte". Si no se especifica, se asume por defecto la unidad "byte".
DE ACTUAR! es una opción de "ALERTA", "REINICIAR", "INICIAR", "PARAR", "EJEC" o "DESMONITORIZAR".
Por ejemplo, para enviar una alerta si el archivo es demasiado grande:
verifique el archivo mydb con la ruta /data/mydatabase.db
si el tamaño es > 1 GB, alerta
ARCHIVO RINCÓN DE Servicios
La declaración de contenido se puede utilizar para probar de forma incremental el contenido de un archivo de texto mediante
usando expresiones regulares.
Sintaxis:
SI CONTENIDO ENTONCES acción
operador es un "=" para coincidencia o "!=" para no coincidencia.
expresiones regulares es una cadena que contiene la expresión regular extendida. Ver también expresiones regulares(7).
camino es una ruta absoluta a un archivo que contiene expresiones regulares extendidas en cada línea.
Vea también expresiones regulares(7).
DE ACTUAR! es una opción de "ALERTA", "REINICIAR", "INICIAR", "PARAR", "EJEC" o "DESMONITORIZAR".
Al iniciar, la posición de lectura se establece al final del archivo y Monit continúa escaneando a
el final del archivo en cada ciclo.
Si el tamaño del archivo disminuye o el inodo cambia, la posición de lectura se establece al inicio
del archivo.
Solo se inspeccionan las líneas que terminan con un carácter de nueva línea.
De forma predeterminada, solo se inspeccionan los primeros 511 caracteres de una línea. Puede aumentar la
límite utilizando la declaración de límites establecidos.
IGNORAR CONTENIDO
Líneas que coinciden con un IGNORAR no son inspeccionados durante las evaluaciones posteriores. IGNORAR RINCÓN DE tiene
precede siempre a IF RINCÓN DE.
Todo IGNORAR RINCÓN DE Las declaraciones se evalúan primero, en el orden de su aparición.
A partir de entonces, todos los IF RINCÓN DE se evalúan las sentencias.
Por ejemplo:
verifique el archivo syslog con la ruta / var / log / syslog
ignorar contenido = "^monitor"
si contenido = "^mrcoffee" entonces alerta
SISTEMA DE ARCHIVOS BANDERAS Servicios
Monit puede probar las banderas de un sistema de archivos en busca de cambios. Esta prueba es implícita y Monit
enviar alerta en caso de falla por defecto.
Esta prueba es útil para detectar cambios en los indicadores del sistema de archivos, como si el sistema de archivos
se convirtió en solo lectura (error en el disco) o se cambiaron los indicadores de montaje (como nosuid).
La sintaxis de la instrucción fsflags es:
SI CAMBIÓ FSFLAGS ENTONCES acción
DE ACTUAR! es una opción de "ALERTA", "REINICIAR", "INICIAR", "PARAR", "EJEC" o "DESMONITORIZAR".
Ejemplo:
verifique el sistema de archivos rootfs con la ruta /
si cambió fsflags entonces exec "/my/script"
SPACE Servicios
Monit puede probar un sistema de archivos o un disco para el uso del espacio. Esta prueba sólo se puede utilizar en el
contexto de un tipo de servicio de sistema de archivos.
Los sistemas de archivos suelen tener algo de espacio reservado para el usuario raíz (ca. 1-5%), por lo que no
los superusuarios no pueden escribir en un sistema de archivos casi completo. Si establece un límite para el sistema de archivos
que es utilizado por usuarios que no son root, es posible que desee considerar estos bloques reservados cuando
estableciendo el límite. Puede usar Monit para ver el porcentaje de bloques reservados por
usando el comando de estado CLI o la interfaz HTTP para el sistema de archivos dado.
Sintaxis:
SI ESPACIO operador valor unidad ENTONCES acción
o bien:
SI ESPACIO LIBRE operador valor unidad ENTONCES acción
operador es una elección de "<",">","!=","==" en notación c, "gt", "lt", "eq", "ne" en shell
notación sh y "mayor", "menor", "igual", "no igual" en forma legible por humanos (si no
especificado, el valor predeterminado es IGUAL).
unidad es una opción de "B","KB","MB","GB", "%" o alternativas largas "byte", "kilobyte",
"megabyte", "gigabyte", "porcentaje".
DE ACTUAR! es una opción de "ALERTA", "REINICIAR", "INICIAR", "PARAR", "EJEC" o "DESMONITORIZAR".
Ejemplo:
verifique el sistema de archivos rootfs con la ruta /
si el uso del espacio es > 90 %, alerta
INODO Servicios
Monit puede probar el uso de inodos del sistema de archivos. Esta prueba sólo puede utilizarse en el contexto de una
tipo de servicio del sistema de archivos.
Sintaxis:
IF INODE(S) operador valor [unidad] THEN acción
o bien:
IF INODE(S) FREE operador valor [unidad] THEN acción
operador es una elección de "<",">","!=","==" en notación c, "gt", "lt", "eq", "ne" en shell
notación sh y "mayor", "menor", "igual", "no igual" en forma legible por humanos (si no
especificado, el valor predeterminado es IGUAL).
unidad es opcional. Si no se especifica, el valor es un recuento absoluto de inodos. Puedes usar
el carácter "%" o la alternativa más larga "porcentaje" como una unidad.
DE ACTUAR! es una opción de "ALERTA", "REINICIAR", "INICIAR", "PARAR", "EJEC" o "DESMONITORIZAR".
Ejemplo:
verifique el sistema de archivos rootfs con la ruta /
si el uso de inodos es > 90 %, alerta
PERMISO Servicios
Monit puede probar los permisos de los objetos de archivo. Esta prueba sólo puede utilizarse en el contexto
de un tipo de servicio de archivo, fifo, directorio o sistema de archivos.
Sintaxis para probar permisos específicos:
IF FAILED PERM(ISSION) número octal ENTONCES acción
Sintaxis para probar cualquier cambio de permiso:
SI CAMBIO PERM(ISSION) ENTONCES acción
número octal define los permisos para un archivo, un directorio o un sistema de archivos como cuatro octales
dígitos (0-7). El rango válido es 0000 - 7777 (puede omitir los ceros iniciales, Monit agregará
los ceros a la izquierda. Por ejemplo, "640" es un valor válido y coincide con "0640").
DE ACTUAR! es una opción de "ALERTA", "REINICIAR", "INICIAR", "PARAR", "EJEC" o "DESMONITORIZAR".
Ejemplo:
verifique la sombra del archivo con la ruta / etc / shadow
si falla el permiso 0640 entonces alerta
UID Servicios
Monit puede monitorear la identificación del usuario propietario (uid) de un archivo, fifo, directorio o propietario y
usuario efectivo de un proceso.
Sintaxis:
IF FAILED [E]UID usuario ENTONCES acción
usuario define una identificación de usuario ya sea en formato numérico o de cadena.
DE ACTUAR! es una opción de "ALERTA", "REINICIAR", "INICIAR", "PARAR", "EJEC" o "DESMONITORIZAR".
Ejemplo:
verifique la sombra del archivo con la ruta / etc / shadow
si falla uid root entonces alerta
GID Servicios
Monit puede monitorear la identificación del grupo propietario (gid) de un archivo, fifo, directorio o proceso.
Sintaxis:
IF FAILED grupo GID ENTONCES acción
grupo de XNUMX define una identificación de grupo ya sea en formato numérico o de cadena.
DE ACTUAR! es una opción de "ALERTA", "REINICIAR", "INICIAR", "PARAR", "EJEC" o "DESMONITORIZAR".
Ejemplo:
verifique la sombra del archivo con la ruta / etc / shadow
si falla gid shadow entonces alerta
PID Servicios
Monit puede probar el PID del proceso. Esta prueba es implícita y Monit enviará una alerta en
caso el PID cambió fuera del control de Monit.
Sintaxis:
SI CAMBIÓ PID ENTONCES acción
DE ACTUAR! es una opción de "ALERTA", "REINICIAR", "INICIAR", "PARAR", "EJEC" o "DESMONITORIZAR".
Esta prueba es útil para detectar posibles reinicios de procesos que se han producido en el
período de tiempo entre dos ciclos de prueba de Monit.
Por ejemplo, si alguien cambia la configuración de sshd y reinicia sshd fuera de Monit
control se le notificará que el proceso fue reemplazado por una nueva instancia:
verifique el proceso sshd con pidfile /var/ejecutar/sshd.pid
si cambia pid entonces alerta
PPID Servicios
Monit puede probar el PID principal del proceso (PPID) en busca de cambios. Esta prueba es implícita y Monit
enviará una alerta en caso de que el PPID haya cambiado fuera del control de Monit.
La sintaxis de la instrucción ppid es:
SI CAMBIÓ PPID ENTONCES acción
DE ACTUAR! es una opción de "ALERTA", "REINICIAR", "INICIAR", "PARAR", "EJEC" o "DESMONITORIZAR".
Ejemplo:
verifique el proceso myproc con pidfile /var/run/myproc.pid
si se cambia ppid entonces exec "/my/script"
NUESTRO PROCESO UPTIME Servicios
La declaración de tiempo de actividad solo se puede usar en un contexto de tipo de servicio de proceso.
Sintaxis:
IF UPTIME [[operador] valor [unidad]] THEN acción
operador es una elección de "<", ">", "!=", "==" en notación C, "GT", "LT", "EQ", "NE" en
notación shell sh y "GREATER", "LESS", "EQUAL", "NOTEQUAL" en forma legible por humanos (si
no especificado, el valor predeterminado es EQUAL).
propuesta de es una marca de agua de tiempo de actividad.
unidad es "SEGUNDO", "MINUTO", "HORA" o "DÍA" (también es posible utilizar "SEGUNDOS",
"MINUTOS", "HORAS" o "DÍAS").
DE ACTUAR! es una opción de "ALERTA", "REINICIAR", "INICIAR", "PARAR", "EJEC" o "DESMONITORIZAR".
Ejemplo de reiniciar el proceso cada tres días:
verifique el proceso myapp con pidfile /var/run/myapp.pid
programa de inicio = "/etc/init.d/myapp start"
detener el programa = "/etc/init.d/myapp detener"
si el tiempo de actividad> 3 días, reinicie
PROGRAMA ESTADO Servicios
Puede verificar el estado de salida de un programa o un script. Esta prueba sólo se puede utilizar dentro de
una entrada de servicio de programa de comprobación en el archivo de control de Monit.
Sintaxis para probar el valor de salida específico:
IF STATUS valor del operador THEN acción
Sintaxis para probar cualquier cambio de valor de salida:
SI CAMBIÓ DE ESTADO ENTONCES acción
operador es una elección de "<",">","!=","==" en notación c, "gt", "lt", "eq", "ne" en shell
notación sh y "mayor", "menor", "igual", "no igual" en forma legible por humanos (si no
especificado, el valor predeterminado es IGUAL).
DE ACTUAR! es una opción de "ALERTA", "REINICIAR", "INICIAR", "PARAR", "EJEC" o "DESMONITORIZAR".
Ejemplo:
verifique el programa myscript con la ruta /usr/local/bin/myscript.sh
si estado != 0 entonces alerta
Script de muestra para el ejemplo anterior (/usr/local/bin/myscript.sh):
#!/ bin / bash
prueba de eco
salir $?
También puede enviar parámetros con el programa:
verifique los archivos de lista de programas con la ruta "/ bin / ls -lrt / Tmp /"
si estado != 0 entonces alerta
Los argumentos del programa o secuencia de comandos son una secuencia de cadenas separadas por espacios en blanco. En el
ejemplo anterior las cadenas '-lrt' y '/ Tmp /' son argumentos para el programa '/ bin / ls'. Si
se usan argumentos, se recomienda usar comillas " para encerrar la cadena, de lo contrario, si
no se utilizan argumentos, no se necesitan comillas.
Notas: Si el programa es un script, se requiere el intérprete en la primera línea. los
programa o script también debe ser ejecutable.
Si Monit se ejecuta como superusuario, opcionalmente puede ejecutar el programa como un usuario diferente
y/o grupo. En este ejemplo ejecutamos el ls programa como usuario www y como personal del grupo:
verifique el programa ls con la ruta "/ bin / ls / Tmp" como uid "www"
y gid "personal"
si estado != 0 entonces alerta
Monit ejecutará el programa periódicamente y si el estado de salida del programa no
coincide con el resultado esperado, Monit puede realizar una acción. En el ejemplo anterior, Monit
generar una alerta si el valor de salida es diferente de 0. Por convención, 0 significa que el programa
salió normalmente.
Las comprobaciones de programa son asíncronas. Lo que significa que Monit no esperará a que el programa finalice,
pero en su lugar, Monit iniciará el programa en segundo plano e inmediatamente continuará
Comprobación de la siguiente entrada de servicio en monitorear. En el próximo ciclo, Monit comprobará si el
finalizó el programa y, de ser así, recopile el estado de salida del programa. Si el estado indica
una falla, Monit generará un mensaje de alerta que contiene el error del programa (stderr)
salida, si la hay. Si el programa no ha salido después del primer ciclo, Monit esperará
otro ciclo y así sucesivamente. Si el programa aún se está ejecutando después de 5 minutos, Monit matará
y generar un evento de tiempo de espera del programa. Es posible anular el tiempo de espera predeterminado
(ver la sintaxis a continuación).
La naturaleza asincrónica de la verificación del programa permite un comportamiento sin bloqueo en el
diseño actual de Monit, pero tiene un efecto secundario: cuando el programa ha terminado
ejecutando y está esperando a que Monit recoja el resultado, se convierte en el llamado "zombie"
proceso. Un proceso zombie no consume ningún recurso del sistema (solo el PID permanece en
use) y está bajo el control de Monit y el proceso zombie se elimina del sistema como
tan pronto como Monit recoge el estado de salida. Esto significa que cada "programa de verificación" será
asociado con un proceso en ejecución o un zombi temporal. Este lado zombi no deseado-
El efecto se eliminará en una versión posterior de Monit.
Se pueden usar múltiples pruebas de estado, por ejemplo:
verifique el programa hwtest con la ruta /usr/local/bin/hwtest.sh
con tiempo de espera de 500 segundos
si estado = 1 entonces alerta
si el estado = 3 durante 5 ciclos, ejecute "/usr/local/bin/emergency.sh"
RED LINK ESTADO PROBAR
Puede comprobar el estado del enlace de red. Esta prueba solo se puede usar dentro de una red de cheques
entrada de servicio en el archivo de control de Monit.
Sintaxis:
SI EL ENLACE FALLÓ ENTONCES acción
DE ACTUAR! es una opción de "ALERTA", "REINICIAR", "INICIAR", "PARAR", "EJEC" o "DESMONITORIZAR".
La prueba fallará si el enlace/interfaz está caído o si se detectaron errores de enlace.
Ejemplo:
verifique la red eth0 con la interfaz eth0
si falla el enlace entonces alerta
En caso de que un enlace falle, puede agregar un programa de inicio y parada para reiniciar automáticamente el
interfaz que podría ayudar. (Sustituya con los comandos de red relevantes para su
sistema)
verifique la red eth0 con la interfaz eth0
programa de inicio = '/sbin/ipup eth0'
detener programa = '/sbin/ipdown eth0'
si el enlace falló, entonces reinicie
RED LINK CAPACIDAD PROBAR
Puede comprobar si hay cambios en la capacidad del modo de enlace de red. Esta prueba sólo se puede utilizar
dentro de una entrada de servicio de red de verificación en el archivo de control de Monit.
Sintaxis:
SI CAMBIÓ ENLACE [CAPACIDAD] ENTONCES acción
DE ACTUAR! es una opción de "ALERTA", "REINICIAR", "INICIAR", "PARAR", "EJEC" o "DESMONITORIZAR".
La prueba coincidirá si el modo de enlace ha cambiado (por ejemplo, se ha reducido la velocidad máxima) o si el
el modo dúplex ha cambiado.
NOTA: no todos los tipos de interfaz permiten monitorear la capacidad. Pseudointerfaces como
El dispositivo de bucle invertido o las interfaces de VMWare no tienen un atributo de velocidad.
Ejemplo:
verifique la red eth0 con la interfaz eth0
si cambió la capacidad del enlace, entonces alerta
RED SATURACIÓN PROBAR
Puede verificar la saturación del enlace de red. Luego, Monit calcula la utilización del enlace en función de
en la tasa de transferencia actual frente a la capacidad del enlace. Esta prueba sólo se puede utilizar dentro de un control
entrada de servicio de red en el archivo de control de Monit.
Sintaxis:
SI SATURACIÓN valor del operador% ENTONCES acción
operador es una elección de "<",">","!=","==" en notación c, "gt", "lt", "eq", "ne" en shell
notación sh y "mayor", "menor", "igual", "no igual" en forma legible por humanos (si no
especificado, el valor predeterminado es IGUAL).
DE ACTUAR! es una opción de "ALERTA", "REINICIAR", "INICIAR", "PARAR", "EJEC" o "DESMONITORIZAR".
NOTA: esta prueba depende de la disponibilidad del atributo de velocidad y no de toda la interfaz
tipos tienen este atributo. Consulte la descripción de la prueba de VELOCIDAD DE ENLACE.
Ejemplo:
verifique la red eth0 con la interfaz eth0
si la saturación > 90% entonces alerta
RED ANCHO DE BANDA PROBAR
Puede verificar el uso de ancho de banda de carga y descarga de un enlace de red, la tasa de transferencia actual
y datos totales transferidos en las últimas 24 horas. Esta prueba sólo se puede utilizar dentro de un control
entrada de servicio de red en el archivo de control de Monit.
Advertencia: esta prueba requiere que el tiempo de sondeo del monitor sea de un máximo de 30 segundos.
Sintaxis de prueba de velocidad de ancho de banda de carga actual:
IF UPLOAD operador valor unidad THEN acción
Sintaxis de prueba de velocidad de ancho de banda de descarga actual:
IF DOWNLOAD operador valor unidad THEN acción
Sintaxis de prueba de carga total:
IF TOTAL UPLOAD operador valor unidad EN ÚLTIMO número unidad de tiempo ENTONCES acción
Sintaxis de prueba de descarga total:
SI DESCARGA TOTAL operador valor unidad EN ÚLTIMO número unidad de tiempo ENTONCES acción
operador es una elección de "<",">","!=","==" en notación c, "gt", "lt", "eq", "ne" en shell
notación sh y "mayor", "menor", "igual", "no igual" en forma legible por humanos (si no
especificado, el valor predeterminado es IGUAL).
unidad es una opción de "B","KB","MB","GB" o alternativas largas "byte", "kilobyte",
"megabyte", "gigabyte".
unidad de tiempo es una opción de "MINUTO(S)", "HORA(S)", "DÍA". NOTA: Monit mantiene un balance
recuento del total de bytes cargados y descargados solo durante las últimas 24 horas. El valor de
por lo tanto, la unidad de tiempo no puede especificar un rango más amplio que un día.
DE ACTUAR! es una opción de "ALERTA", "REINICIAR", "INICIAR", "PARAR", "EJEC" o "DESMONITORIZAR".
Ejemplos:
verifique la red eth0 con la interfaz eth0
si carga > 500 kB/s entonces alerta
si la descarga total es > 1 GB en las últimas 2 horas, alerta
si la descarga total es > 10 GB en el último día, alerta
RED PAQUETES PROBAR
Puede verificar el recuento de paquetes de carga y descarga del enlace de red, la tasa de transferencia actual
y datos totales transferidos en las últimas 24 horas. Esta prueba sólo se puede utilizar dentro de un control
entrada de servicio de red en el archivo de control de Monit.
Advertencia: esta prueba requiere que el tiempo de sondeo del monitor sea de un máximo de 30 segundos.
Sintaxis de prueba de velocidad de ancho de banda de carga actual:
IF UPLOAD operador valor PACKETS/S THEN acción
Sintaxis de prueba de velocidad de ancho de banda de descarga actual:
IF DOWNLOAD operador valor PACKETS/S THEN acción
Sintaxis de prueba de carga total:
SI TOTAL CARGA valor del operador PAQUETES EN EL ÚLTIMO número unidad de tiempo ENTONCES acción
Sintaxis de prueba de descarga total:
SI DESCARGA TOTAL operador valor PAQUETES EN ÚLTIMO número unidad de tiempo ENTONCES acción
operador es una elección de "<",">","!=","==" en notación c, "gt", "lt", "eq", "ne" en shell
notación sh y "mayor", "menor", "igual", "no igual" en forma legible por humanos (si no
especificado, el valor predeterminado es IGUAL).
unidad de tiempo es una opción de "MINUTO(S)", "HORA(S)", "DÍA". NOTA: Monit mantiene el total
estadísticas de carga/descarga solo de las últimas 24 horas. Por lo tanto, el valor de la unidad de tiempo no puede
abarcar más de un día.
DE ACTUAR! es una opción de "ALERTA", "REINICIAR", "INICIAR", "PARAR", "EJEC" o "DESMONITORIZAR".
Ejemplos:
verifique la red eth0 con la interfaz eth0
si carga> 1000 paquetes / s, entonces alerta
si la carga total> 900000 paquetes en la última hora, entonces alerta
RED PING PROBAR
Monit puede realizar una prueba de ping de red enviando paquetes de datagramas de solicitud de eco ICMP a un
anfitrión y esperar la respuesta. Esta prueba solo se puede usar dentro de una declaración de host de verificación.
Monit también debe ejecutarse como usuario raíz para poder realizar la prueba de ping (porque
la prueba de ping debe usar sockets sin procesar que, por lo general, solo el superusuario puede usar).
Sintaxis:
SI PING FALLIDO[4|6]
[Número de cuenta]
[Número de TAMAÑO]
[Número de TIEMPO DE ESPERA SEGUNDOS]
[Cadena de DIRECCIÓN]
ENTONCES acción
Si se usó un nombre de host DNS en el check fortaleza declaración y el nombre de host se resuelven en
varias direcciones (ya sea IPv4 o IPv6), Monit hará ping a la primera dirección disponible y
continúe con la siguiente dirección hasta que una conexión tenga éxito o hasta que no haya más
quedan direcciones para probar. Puede obligar a Monit a hacer ping solo a direcciones IPv4 o IPv6 usando
la palabra clave PING4 o PING6 en lugar de PING.
El COUNT El parámetro especifica cuántas solicitudes de ping consecutivas se enviarán al host.
en un ciclo como máximo. El valor predeterminado es 3.
El TAMAÑO El parámetro especifica el tamaño de los datos de la solicitud de ping. El valor predeterminado es 64 bytes.
Si no llega respuesta dentro TIMEOUT segundos, Monit informa de un error. Si al menos una respuesta
se recibió, la prueba de ping se considera un éxito.
El DIRECCIÓN El parámetro especifica la dirección IP de origen.
Monit, por defecto, enviará hasta three paquetes de solicitud de ping en un ciclo para evitar
falsa alarma (es decir, se tolera hasta un 66% de pérdida de paquetes). Puede configurar el COUNT opción a un
valor entre 1 y 20 para enviar más o menos paquetes. Si necesita un 100 % de éxito en el ping,
establezca el conteo en 1 (es decir, solo se enviará una solicitud y, si el paquete se perdió,
se informará del error).
Tenga en cuenta que muchos ISP han comenzado a filtrar paquetes de ping o ICMP ahora, en cuyo caso
no habrá respuesta del anfitrión.
Si se usa una prueba de ping en una entrada de host de verificación, esta prueba se ejecuta primero y si la prueba
debería fallar, asumimos que la conexión con el host está caída y Monit no continue
con cualquier prueba de puerto posterior.
Ejemplo:
verifique el host mmonit.com con la dirección mmonit.com
si falla el ping, alerta # IPv4 o IPv6
verifique el host mmonit.com con la dirección 62.109.39.247
si falla el ping, la alerta # La dirección es IPv4, por lo que se prefiere IPv4
o pruebe que el sistema es explícitamente accesible a través de IPv4 e IPv6:
verifique el host mmonit.com con la dirección mmonit.com
si falla ping4 entonces alerta # IPv4 solamente
si falla ping6 entonces alerta # IPv6 solamente
o con todos los parámetros; Envíe cinco pings de 128 bytes a mmonit.com y espere hasta 10
segundos para una respuesta
verifique el host mmonit.com con la dirección mmonit.com
si falla el ping cuenta 5 tamaño 128 con un tiempo de espera de 10 segundos, entonces alerta
CONEXIÓN Servicios
Monit puede realizar pruebas de conexión a través de puertos de red oa través de sockets Unix. Una conexión
test solo se puede usar dentro de un contexto de tipo de proceso o servicio de host.
Si un servicio escucha en uno o más sockets, Monit puede conectarse al puerto (usando TCP o
UDP) y verifique que el servicio aceptará una conexión y que es posible escribir
y leer desde el zócalo. Si no se acepta una conexión o si hay un problema con
socket I/O, Monit ejecutará una acción específica.
Sintaxis de prueba de puerto TCP/UDP:
SI FALLA
[anfitrión]
[dirección local]
[versión ip]
[tipo]
[ssl [con opciones {...}]]
[suma de comprobación del certificado]
[días de validez del certificado]
[protocolo | , ...]
[se acabó el tiempo]
[rever]
ENTONCES acción
Sintaxis de prueba de socket Unix:
SI FALLA
[tipo]
[protocolo | , ...]
[se acabó el tiempo]
[rever]
ENTONCES acción
Ejemplos:
si falla el puerto 80 entonces alerta
si falla el puerto 53, escriba el protocolo udp dns y luego alerte
si falla unixsocket /var/run/sophie entonces alerta
Opciones:
host: HOST hostname. Opcionalmente, especifique el host al que conectarse. Si no se da el host
entonces se asume localhost si esta prueba se usa dentro de una entrada de proceso. Si esta prueba es
utilizado dentro de una entrada de host remoto, se asume el host remoto de la entrada.
Puerto: PORT número. El número de puerto para conectarse
conector unix: TOMA UNIX camino. Especifica la ruta a un socket Unix (solo máquina local).
dirección local: DIRECCIÓN cadena. La dirección IP de origen que se utilizará.
ipversión: IPV4 | IPV6 . Opcionalmente, especifique la versión de IP que Monit debe usar cuando intente
conectarse al puerto. Si no se usa, Monit intentará conectarse a la primera dirección disponible
(IPv4 o IPv6). Si hay varias direcciones disponibles y falla la conexión a una dirección,
Monit intentará con la siguiente dirección y así sucesivamente hasta que la conexión tenga éxito o hasta que no haya
quedan más direcciones para probar.
tipo: TIPO [TCP | UDP]. Opcionalmente, especifique el tipo de socket que Monit debe usar cuando intente
conectarse al puerto. Los diferentes tipos de socket son: TCP o UDP, donde TCP es un estándar
socket basado en flujo, UDP, un socket de datagrama. El tipo de socket predeterminado es TCP.
SSL: [SSL | TLS] [con opciones {...}]. Establecer opciones SSL/TLS y anular SSL global/predeterminado
opciones Puede configurar la versión de SSL/TLS para usar, ya sea para verificar certificados, confiar
certificados autofirmados o configurar el archivo de base de datos de certificados de cliente SSL para el cliente
autenticación de certificados.
certificado suma de comprobación: CERTIFICADO CHECKSUM [MD5|SHA1] hachís. Verificar el servidor SSL
certificado comprobando su suma de comprobación. Puede utilizar la suma de comprobación MD5 o SHA1 (si
no especifique el tipo, Monit determinará el resumen en función de la longitud del hash). Puede
utilice el openssl herramienta de línea de comandos para obtener el valor de la suma de comprobación de su certificado, que
luego puede usar en el archivo de control de Monit:
openssl x509 -huella digital -sha1 -en server.crt | cabeza -1 | cortar -f2 -d'='
Ejemplo:
si falla
puerto 443
protocolo https
and certificate checksum = "1ED948A6F4258ACAB964227EF4EB19FCC453B0F8"
entonces alerta
certificado caducar dias: CERTIFICADO VÁLIDO for número DÍAS. Enviar una alerta si el
certificado caducará en el número de días indicado. Esta prueba es muy útil para obtener una
notificación cuando sea el momento de renovar su certificado SSL.
Ejemplo:
si falla
puerto 443
protocolo https
y certificado válido > 30 días
entonces alerta
protocolo: PROTOCOLO) protocolo. Opcionalmente, especifique el protocolo que Monit debe hablar cuando un
se establece la conexión. De momento Monit sabe hablar:
ESTADO APACHE
DNS
DWP
FTP
GPS
HTTP
HTTPS
IMAP
IMAPS
CLAMAV
LDAP2
LDAP3
LMTP
MEMCACHÉ
mongodb
MYSQL
NNTP
NTP3
PGSQL
POP
POPS
POSTFIX-POLÍTICA
RADIO
RDATE
REDIS
RSYNC
TAMIZ
SIP
SMTP
SMTPS
SSH
TNS
WEBSOCKET
Si el protocolo del servidor de destino no se encuentra en esta lista, simplemente no especifique el
y Monit usará una prueba de conexión predeterminada.
se acabó el tiempo: [CON] TIMEOUT número SEGUNDOS. Especifica opcionalmente el tiempo de espera de conexión y lectura
para la conexión. Si Monit no puede conectarse al servidor dentro de este tiempo asumirá
que la conexión falló y ejecutar la acción especificada. El tiempo de espera de conexión predeterminado
son 5 segundos.
rever: REINTEN número. Opcionalmente, especifica el número de reintentos consecutivos dentro del
mismo ciclo de prueba en el caso de que la conexión falle. El valor predeterminado es fallar primero
error.
DE ACTUAR! es una opción de "ALERTA", "REINICIAR", "INICIAR", "PARAR", "EJEC" o "DESMONITORIZAR".
Ciertas protocolo test opciones
GENÉRICO (ENVIAR/ESPERAR)
Si Monit no es compatible con el protocolo hablado por el servidor, puede escribir el suyo propio.
prueba de protocolo usando send y esperar instrumentos de cuerda. los ENVIAR instrucción envía una cadena a la
puerto del servidor y el ESPERAR sentencia compara una cadena leída del servidor con la
cadena dada en la instrucción expect.
Sintaxis:
[ "cadena"]+
Monit enviará una cadena tal como está, y usted deben recuerde incluir CR y LF en el
cadena enviada al servidor si el protocolo espera que dichos caracteres terminen una cadena
(la mayoría de los protocolos basados en texto que se utilizan en Internet lo hacen).
Monit leerá por defecto hasta 255 bytes del servidor y usará esta cadena cuando
comparando la cadena EXPECT. Puede anular el valor predeterminado usando los límites establecidos
.
Puede usar caracteres no imprimibles en una cadena SEND si es necesario. Utilice la notación hexadecimal,
\0xHEXHEX para enviar cualquier carácter en el rango \0x00-\0xFF, es decir, 0-255 en decimal. Para
ejemplo, para probar un servidor Quake 3:
enviar "\0xFF\0xFF\0xFF\0xFFgetstatus"
esperar "sv_floodProtect|sv_maxPing"
Si su sistema admite expresiones regulares POSIX, puede usar expresiones regulares en el
EXPECT cadena, ver expresiones regulares(7) para obtener más información sobre los tipos de expresiones regulares que puede
usar en una cadena esperada.
Dado que tanto la expresión regular como la comparación de cadenas operan en una cadena terminada en cero, no puede probar
para '\0' en un búfer EXPECT ya que este carácter marca el final del búfer. Sin embargo, nos
escape '\0' en el búfer de espera como "\0" que puede probar. Es decir, '\' seguido de
el valor ascii para 0. Por ejemplo, aquí se explica cómo probar una cadena esperada que comienza
con cero seguido de cualquier número de caracteres.
espera "^[\\]0.*"
Aquí hay un ejemplo simple de protocolo SMTP:
si falla
puerto 25 y
espera "^220.*"
enviar "HELO localhost.localdomain\r\n"
espera "^250.*"
enviar "SALIR\r\n"
entonces alerta
SEND/EXPECT se puede utilizar con cualquier tipo de conector, como conectores TCP, conectores UNIX y UDP
enchufes
HTTP
Sintaxis:
PROTO(COL)HTTP
[SOLICITUD "cadena"]
[ESTADO número de operador]
[SUMA DE COMPROBACIÓN suma de comprobación]
[HTTP HEADERS lista de encabezados]
[CONTENIDO < "=" | "!=" > CADENA]
Solicitudes La opción puede establecer una cadena de URL especificando un documento en el servidor HTTP. Si el
no se especifica la declaración de solicitud, se solicitará la página "/" predeterminada.
Por ejemplo:
si falla
puerto 80
protocolo http
solicitar "/datos/mostrar?a=b&c=d"
luego reiniciar
ESTADO La opción se puede usar para probar explícitamente el código de estado HTTP devuelto por HTTP.
servidor. Si no se usa, la prueba del protocolo HTTP fallará si el código de estado devuelto es
mayor o igual a 400. Puede anular este comportamiento utilizando el estado
Calificatorio.
Por ejemplo, para probar que una página hace no existe (el servidor HTTP debe devolver 404 en este
caso):
si falla
puerto 80
protocolo http
solicitud "/no/existente.php"
estado = 404
entonces alerta
CHECKSUM Puede probar la suma de comprobación de los documentos devueltos por un servidor HTTP. Ya sea MD5 o
Se puede usar hash SHA1. Monit voluntad no probar la suma de comprobación de un documento si el servidor lo hace
no establecer el HTTP Largancia de contenido encabezamiento. Un servidor HTTP debe establecer este encabezado cuando
servidor un documento estático (es decir, un archivo). No hay limitación en el tamaño del documento, pero
tenga en cuenta que Monit usará tiempo para descargar el documento a través de la red para calcular
la suma de comprobación.
Ejemplo:
si falla
puerto 80
protocolo http
solicitar "/pagina.html"
checksum 8f7f419955cefa0b33a2ba316cba3659
entonces alerta
HTTP ENCABEZADOS se puede usar para enviar una lista de encabezados HTTP con una prueba de protocolo HTTP. Para
ejemplo, el encabezado del host. Si el encabezado del host no está configurado, Monit usará el nombre de host o
Dirección IP del host como se especifica en la declaración de host de verificación. Especificación de un encabezado de host
es útil si desea conectarse y probar un host virtual basado en nombre. La sintaxis para
establecer encabezados HTTP es
encabezados http [nombre:valor, nombre:valor,..]
donde cada par nombre:valor se separa con ','. Si necesita usar ':' en el valor
cadena, por ejemplo, para establecer el número de puerto para un encabezado de host, debe encerrar el valor en
citas. Por ejemplo,
encabezados http [Host: "mmonit.com:443"]
En un contexto de host de verificación, el uso de esta declaración podría verse como
verifique el host mmonit.com con la dirección mmonit.com
si falla
puerto 80 protocolo http
con encabezados http [Host: mmonit.com, Cache-Control: no-cache,
Cookie: csrftoken=nj1bI3CnMCaiNv4beqo8ZaCfAQQvpgLH]
y solicitar /monitor/ con contenido = "Monitor [0-9.]+"
entonces alerta
La configuración de encabezados HTTP está asociada con la prueba del protocolo HTTP y debe venir antes
solicita como en el ejemplo anterior.
RINCÓN DE La opción establece el patrón que se espera en los datos devueltos por el servidor. Si
el patrón no coincide, se activa el evento.
De forma predeterminada, se inspecciona un máximo de 1 MB. Puede aumentar el límite utilizando los límites establecidos
.
Por ejemplo:
si falla
puerto 80
protocolo http
contenido = "foobar [0-9.]+"
entonces alerta
ESTADO APACHE
El ESTADO APACHE la prueba permite verificar el rendimiento del servidor mediante el examen del estado
página generada por mod_status de Apache, que se espera que esté en su dirección predeterminada de
http://www.example.com/server-status.
Sintaxis:
PROTOCOLO APACHE-ESTADO [RUTA ] [ ]+
camino es una ruta opcional al estado de apache ("/server-status" por defecto)
perfecta es el acrónimo de child status:
(1) registro (límite de registro)
(2) conexiones de cierre (closelimit)
(3) realizar búsquedas de DNS (dnslimit)
(4) en keepalive con un cliente (keepalivelimit)
(5) responder a un cliente (replylimit)
(6) recibir una solicitud (requestlimit)
(7) inicializando (startlimit)
(8) esperando conexiones entrantes (límite de espera)
(9) cerrando con gracia (limite elegante)
(10) realizar procedimientos de limpieza (cleanuplimit)
operador es uno de "<", "=", ">".
número es el límite numérico del percentil.
Cada uno de estos límites se puede comparar con un valor relativo al número total de
Procesos secundarios activos de Apache.
Puede combinar todas estas pruebas en una expresión o puede elegir probar una determinada
límite solamente. Si combina los límites, debe conectarlos mediante la palabra clave OR.
Ejemplo:
si falla el protocolo del puerto 80 apache-status
límite logarítmico > 10% o
dnslimit > 50% o
límite de espera < 20%
entonces alerta
SIP
El protocolo SIP es utilizado por servidores de plataformas de comunicación como Asterisk y
CAMBIAR gratis.
Sintaxis:
PROTOCOLO SIP [TARGET valid@uri] [MAXFORWARD n]
OBJETIVO puede especificar un destinatario alternativo para el mensaje, agregando un sip uri válido
después de esta palabra clave.
MAXADELANTE Limite la cantidad de servidores proxy o puertas de enlace que pueden reenviar la solicitud al
próximo servidor. Su valor es un número entero en el rango de 0 a 255, establecido de forma predeterminada en 70.
adelante = 0, el siguiente servidor puede responder 200 OK (prueba exitosa) o enviar un 483 Demasiados
Saltos (prueba fallida)
Por ejemplo:
verifique el host openser_all con la dirección 127.0.0.1
si falla
puerto 5060 tipo protocolo udp sip
con destino "localhost:5060" y maxforward 6
entonces alerta
RADIO
Sintaxis:
RADIO DE PROTOCOLO [cadena SECRETO]
SECRETO puede especificar un secreto alternativo, el predeterminado es "testing123".
Por ejemplo:
verifique el proceso de radio con pidfile /var/run/radiusd.pid
iniciar programa = "/etc/init.d/freeradius iniciar"
detener programa = "/etc/init.d/freeradius detener"
si falla
host 127.0.0.1 puerto 1812 tipo protocolo udp radio
ping pong secreto
entonces alerta
MYSQL
Sintaxis:
PROTOCOLO MYSQL [cadena de NOMBRE DE USUARIO cadena de CONTRASEÑA]
NOMBRE DE USUARIO Nombre de usuario de MySQL (máximo 16 caracteres).
CONTRASEÑA Contraseña de MySQL (se pueden usar caracteres especiales, pero para caracteres no alfanuméricos,
la contraseña tiene que ser citada).
las credenciales son opcional. Si no se establecen credenciales, Monit realizará la prueba usando
inicio de sesión anónimo. Eso puede causar que se registre un error de autenticación en su registro de MySQL para
mayores niveles de registro de MySQL.
Si se establecen las credenciales, Monit iniciará sesión y realizará un ping de MySQL. Monit no requiere ninguna
privilegios de la base de datos, solo necesita el usuario de la base de datos, recomendamos crear un usuario independiente
para las pruebas de Monit, por ejemplo:
CREATE USER 'monit'@'host_from_which_monit_performs_testing' IDENTIFICADO POR 'mysecretpassword';
FLUSH PRIVILEGES;
Por ejemplo:
verifique el proceso mysql con pidfile /var/run/mysqld/mysqld.pid
programa de inicio = "/sbin/comienzo mysql"
detener el programa = "/sbin/detener mysql"
si falla
puerto 3306
protocolo mysql nombre de usuario "foo" contraseña "bar"
entonces alerta
o con comandos de inicio/parada de unix-socket y OS X
verifique el proceso mysql con pidfile /var/run/mysqld/mysqld.pid
programa de inicio = "/usr/local/mysql/support-files/mysql.server start"
detener programa = "/usr/local/mysql/support-files/mysql.server detener"
si falla
unixsocket/tmp/mysql.sock
protocolo mysql nombre de usuario "foo" contraseña "bar"
entonces alerta
WEBSOCKET
Sintaxis:
PROTOCOLO WEBSOCKET
[SOLICITAR cadena]
[Cadena HOST]
[cadena de ORIGEN]
[Número de versión]
HOST puede especificar un encabezado de Host alternativo
Solicitudes puede especificar una solicitud alternativa, el valor predeterminado es "/"
ORIGIN puede especificar un origen alternativo, el valor predeterminado es "http://www.mmonit.com"
VERSION puede especificar una versión alternativa, el valor predeterminado es "0"
Por ejemplo:
verifique el host websocket.org con la dirección "echo.websocket.org"
si falla
puerto 80 protocolo websocket
host "echo.websocket.org"
solicitud "/"
origen 'http://websocket.com'
Versión 13
entonces alerta
CONFIGURACIÓN EJEMPLOS
La forma más simple es simplemente la declaración de verificación. En este ejemplo comprobamos si nuestra web
servidor se está ejecutando y registrar un mensaje si no:
verifique el proceso nginx con pidfile /var/run/nginx.pid
Para que Monit inicie el servidor si no se está ejecutando, agregue una declaración de inicio:
verifique el proceso nginx con pidfile /var/run/nginx.pid
iniciar programa = "/etc/init.d/nginx iniciar"
Aquí hay un ejemplo más avanzado para monitorear un servidor web apache escuchando en el
número de puerto predeterminado para HTTP y HTTPS. En este ejemplo, Monit reiniciará apache si es
no acepta conexiones en los números de puerto. El método que usa Monit para reiniciar es
primero ejecute el programa de parada, luego espere (hasta 30 s) para que el proceso se detenga y luego
ejecute el programa de inicio y espere (30 s) a que se inicie. La duración de la espera de inicio o parada
se puede anular utilizando la opción 'tiempo de espera'. Si Monit no pudo detener o iniciar el
servicio, se enviará un mensaje de alerta fallido si ha solicitado que se envíen mensajes de alerta.
expedido.
verifique el proceso apache con pidfile /var/run/httpd.pid
programa de inicio = "/etc/init.d/httpd start" con tiempo de espera de 60 segundos
detener programa = "/etc/init.d/httpd detener"
si falló el puerto 80 durante 2 ciclos, reinicie
si falló el puerto 443 durante 2 ciclos, reinicie
Este ejemplo demuestra cómo puede ejecutar un programa como un usuario específico (uid) y con un
grupo especificado (gid). Muchos programas daemon pueden cambiar uid y gid por sí mismos,
pero para aquellos programas que no lo hacen (por ejemplo, programas Java), la capacidad de monit para iniciar un
programa como un determinado usuario puede ser muy útil. En este ejemplo iniciamos el Tomcat Java
Servlet Engine como estándar nadie usuario y grupo. Tenga en cuenta que Monit solo puede
cambie uid y gid para el programa si el superusuario está ejecutando Monit; de lo contrario, Monit
simplemente ignorará la solicitud para cambiar uid y gid.
verifique el proceso de Tomcat con pidfile /var/run/tomcat.pid
iniciar programa = "/etc/init.d/tomcat iniciar"
como uid nadie y gid nadie
detener programa = "/etc/init.d/tomcat detener"
# También puede usar números de identificación en su lugar y escribir:
como uid 99 y con gid 99
si falla el puerto 8080 entonces alerta
En este ejemplo, usamos udp para probar la conexión y verificar si el servidor de nombres se está ejecutando:
verifique el proceso nombrado con pidfile /var/run/named.pid
programa de inicio = "/etc/init.d/inicio con nombre"
detener el programa = "/etc/init.d/detener con nombre"
si falla el puerto 53, use el tipo de protocolo udp dns y luego reinicie
El siguiente ejemplo ilustra cómo verificar si el servicio 'sophie' está respondiendo
conexiones en su socket de dominio Unix:
verifique el proceso sophie con pidfile /var/run/sophie.pid
programa de inicio = "/etc/init.d/sophie start"
detener programa = "/etc/init.d/sophie detener"
si falla unix /var/run/sophie entonces reinicie
En este ejemplo, verificamos un servidor web apache que se ejecuta en localhost que responde por
varios hosts virtuales o vhosts basados en IP, de ahí la declaración de host antes del puerto:
verifique el proceso apache con pidfile /var/run/httpd.pid
iniciar "/etc/init.d/httpd iniciar"
detener "/etc/init.d/httpd detener"
si falla el host www.sol.no puerto 80 entonces alerta
si falla host shop.sol.no puerto 443 entonces alerta
si falla host chat.sol.no puerto 80 entonces alerta
Para asegurarse de que Monit se comunica con un servidor HTTP, se puede agregar una prueba de protocolo:
verifique el proceso apache con pidfile /var/run/httpd.pid
iniciar "/etc/init.d/httpd iniciar"
detener "/etc/init.d/httpd detener"
si falla
host www.sol.no puerto 80 protocolo http
entonces alerta
Este ejemplo demuestra una forma diferente de verificar un servidor web usando el comando enviar/esperar
mecanismo:
verifique el proceso apache con pidfile /var/run/httpd.pid
iniciar "/etc/init.d/httpd iniciar"
detener "/etc/init.d/httpd detener"
si falla
host www.sol.no puerto 80 y
enviar "GET / HTTP/1.1\r\nHost: www.sol.no\r\n\r\n"
esperar "HTTP/[0-9\.]{3} 200.*"
entonces alerta
Aquí hacemos ping a un host remoto para verificar si está activo y, si no, enviar una alerta:
verifique el host www.tildeslash.com con la dirección www.tildeslash.com
si falla el ping entonces alerta
En el siguiente ejemplo, le pedimos a Monit que calcule y verifique la suma de verificación para el
binario de apache subyacente utilizado por los programas de inicio y detención. Si la prueba de suma de verificación debe
falla, el monitoreo se deshabilitará para evitar que se reinicie un binario comprometido:
verifique el proceso apache con pidfile /var/run/httpd.pid
iniciar programa = "/etc/init.d/httpd iniciar"
detener programa = "/etc/init.d/httpd detener"
si falla el host www.tildeslash.com puerto 80 luego reinicie
depende de apache_bin
verifique el archivo apache_bin con la ruta /usr/local/apache/bin/httpd
si falla la suma de verificación, entonces no monitorear
En este ejemplo, le pedimos a Monit que pruebe la suma de verificación de un documento en un servidor remoto. Si el
Se modificó la suma de verificación, enviamos una alerta:
verifique el host mmonit.com con la dirección mmonit.com
si falla
puerto 80 protocolo http y
solicitud "/monit/dist/monit-5.7.tar.gz"
with checksum f9d26b8393736b5dfad837bb13780786
entonces alerta
Aquí hay un par de pruebas para algunos servidores de comunicación populares, utilizando el protocolo SIP.
Primero probamos un servidor FreeSWITCH y luego un servidor Asterisk
verifique el proceso de cambio libre
con pidfile /usr/local/freeswitch/log/freeswitch.pid
programa de inicio = "/usr/local/freeswitch/bin/freeswitch -nc -hp"
detener programa = "/usr/local/freeswitch/bin/freeswitch -stop"
si la memoria total es > 1000.0 MB durante 5 ciclos, alerta
si la memoria total es > 1500.0 MB durante 5 ciclos, alerta
si la memoria total es > 2000.0 MB durante 5 ciclos, reinicie
si cpu> 60% durante 5 ciclos, entonces alerta
si falla
puerto 5060 tipo udp protocolo SIP
dirigidos [email protected] y maxforward 10
luego reiniciar
verificar proceso asterisco
con pidfile /var/run/asterisk/asterisk.pid
programa de inicio = "/usr/sbin/asterisk"
detener el programa = "/usr/sbin/asterisk -r -x 'apagar ahora'"
si la memoria total es > 1000.0 MB durante 5 ciclos, alerta
si la memoria total es > 1500.0 MB durante 5 ciclos, alerta
si la memoria total es > 2000.0 MB durante 5 ciclos, reinicie
si cpu> 60% durante 5 ciclos, entonces alerta
si falla
puerto 5060 tipo udp protocolo SIP
y objetivo [email protected] maxforward 10
luego reiniciar
Algunos servidores son de arranque lento, como por ejemplo los servidores de aplicaciones basados en Java. Si nosotros
desea mantener el ciclo de sondeo bajo (es decir, < 60 segundos) pero permitir que algunos servicios tomen su
hora de empezar, el cada declaración es útil:
verifique el proceso de dinamo con pidfile /etc/dynamo.pid cada 2 ciclos
programa de inicio = "/etc/init.d/dynamo start"
detener programa = "/etc/init.d/dynamo detener"
si falla el puerto 8840 entonces alerta
Aquí hay un ejemplo en el que agrupamos dos entradas de la base de datos para que pueda administrarlas.
juntos, por ejemplo; 'Monit -g base de datos iniciar todo'. La declaración de modo también se ilustra en
la primera entrada y tendrá el efecto de que Monit no intentará (re)iniciar este servicio si
no se está ejecutando:
verifique el proceso sybase con pidfile /var/run/sybase.pid
inicio = "/etc/init.d/sybase inicio"
detener = "/etc/init.d/sybase detener"
modo pasivo
base de datos del grupo
verifique el proceso de Oracle con pidfile /var/run/oracle.pid
iniciar programa = "/etc/init.d/oracle iniciar"
detener programa = "/etc/init.d/oracle detener"
si falla
puerto 9001 protocolo tns
luego reiniciar
base de datos del grupo
Este ejemplo de verificación de recursos enviará una alerta si el uso de la CPU del demonio HTTP de Apache
y sus procesos secundarios superan el 60 % durante dos ciclos. Apache se reinicia si la CPU
el uso es superior al 80% durante cinco ciclos o el uso de la memoria es superior a 100 Mb durante cinco ciclos o si
el promedio de carga de las máquinas es superior a 10 durante 8 ciclos:
verifique el proceso apache con pidfile /var/run/httpd.pid
iniciar programa = "/etc/init.d/httpd iniciar"
detener programa = "/etc/init.d/httpd detener"
si cpu> 40% durante 2 ciclos, entonces alerta
si la CPU total es > 60 % durante 2 ciclos, alerta
si la cpu total es > 80 % durante 5 ciclos, reinicie
si mem> 100 MB durante 5 ciclos, deténgase
if carga media(5 min) superior a 10.0 durante 8 ciclos y luego se detiene
Estos ejemplos demuestran la declaración de marca de tiempo con exec y cómo puede reiniciar apache
si se cambió su archivo de configuración.
verifique el archivo httpd.conf con la ruta /etc/httpd/httpd.conf
si cambió la marca de tiempo
luego exec "/etc/init.d/httpd elegante"
En este ejemplo, demostramos el uso de la declaración de alerta extendida y una verificación de archivos
dependencia:
verifique el proceso apache con pidfile /var/run/httpd.pid
inicio = "/etc/init.d/httpd inicio"
detener = "/etc/init.d/httpd detener"
alertar a admin@bar en {no existe, tiempo de espera}
con formato de correo {
de: bofh@$HOST
asunto: apache $EVENTO - $ACCIÓN
mensaje: Este evento ocurrió en $HOST en $DATE.
Su fiel empleado,
Monit
}
si falla el host www.tildeslash.com puerto 80 luego reinicie
depender de httpd_bin
grupo apache
verifique el archivo httpd_bin con la ruta /usr/local/apache/bin/httpd
alerta a security@bar en {checksum, timestamp,
permiso, uid, gid}
con formato de correo {asunto: Alaaaarrm! en $HOST}
si falla la suma de verificación
and expect 8f7f419955cefa0b33a2ba316cba3659
entonces no monitorear
si falló el permiso 755 entonces no monitorear
si falló la raíz de uid, entonces no se monitorea
si falló gid root entonces no monitorear
si cambió la marca de tiempo, entonces alerta
grupo apache
En este ejemplo, demostramos el uso de la instrucción depende. En este caso, queremos
inicia oracle y apache. Sin embargo, hemos configurado Apache para usar Oracle como back-end, y si
se reinicia oracle, también se debe reiniciar apache.
verifique el proceso apache con pidfile /var/run/httpd.pid
inicio = "/etc/init.d/httpd inicio"
detener = "/etc/init.d/httpd detener"
depende del oráculo
verifique el proceso de Oracle con pidfile /var/run/oracle.pid
inicio = "/etc/init.d/oracle inicio"
parada = "/etc/init.d/oracle parada"
si falló el puerto 9001 durante 5 ciclos, reinicie
A continuación, tenemos 2 servicios, Oracle-import y Oracle-export que deben reiniciarse si
Oracle se reinicia, pero son independientes entre sí.
verifique el proceso de Oracle con pidfile /var/run/oracle.pid
inicio = "/etc/init.d/oracle inicio"
parada = "/etc/init.d/oracle parada"
si falló el puerto 9001 durante 3 ciclos, reinicie
verificar el proceso de importación de Oracle
con pidfile /var/run/oracle-import.pid
inicio = "/etc/init.d/oracle-importar inicio"
detener = "/etc/init.d/oracle-importar detener"
depende del oráculo
verificar el proceso de exportación de Oracle
con pidfile /var/run/oracle-export.pid
inicio = "/etc/init.d/oracle-exportar inicio"
parada = "/etc/init.d/oracle-exportación parada"
depende del oráculo
Use monit en línea usando los servicios de onworks.net