Sistema de monitoreo con notificaciones por correo electrónico

10

Actualmente tengo un Ubuntu Server 16.04 LTS y quiero poder recibir notificaciones por correo electrónico con información sobre el uso de recursos en mi servidor. CPU, memoria, intercambio, lo que sea.

Entiendo que puedo usar Glances para el monitoreo local, pero no estaré en la consola mirando la información todo el tiempo. Solo necesito notificaciones por correo electrónico que me informen de los recursos que alcanzan valores superiores a los normales / críticos y reciben notificaciones.

¿Alguien sabe de algún método que me permita hacer esto?

SargentoSerk
fuente
Netdata es perfecto para sus requerimientos.
luv.preet

Respuestas:

13

Le daré una pequeña lista de herramientas, mientras que personalmente recomendaría Nagios simplemente como estoy acostumbrado. Viene con una gran base de usuarios, una buena colección de complementos, etc., pero también he escuchado cosas buenas sobre Icinga .

Tenga en cuenta que configurar Nagios o Icinga llevará algún tiempo hasta que tenga una configuración que funcione perfectamente y cubra / supervise todos sus servicios existentes. Lo más probable es que el inicio no sea tan fácil, pero una vez que lo tienes funcionando, es una configuración encantadora que notificará todos tus servicios definidos si los estados cambian, por lo que algo que es reportable / definido como crítico

Nombres de proyectos y enlaces

En primer lugar, una descripción rápida:

Configuraciones de cliente y servidor

Otro software interesante

Configuraciones de host único

Más información

Sobre Nagios

Wikipedia escribe

Nagios / ˈnɑːɡiːoʊs /, ahora conocido como Nagios Core, es una aplicación de software libre y de código abierto que monitorea sistemas, redes e infraestructura. Nagios ofrece servicios de monitoreo y alerta para servidores, conmutadores, aplicaciones y servicios. Alerta a los usuarios cuando las cosas salen mal y les alerta por segunda vez cuando se resuelve el problema.

Imagen de ejemplo: muestra 1 de varias vistas que tiene:

ingrese la descripción de la imagen aquí

Aquí hay una buena publicación de AskUbuntu sobre cómo instalar Nagios . Nagios Exchange ofrece una gran colección de complementos, complementos, documentación, extensiones y más.

Sobre Munin

Wikipedia escribe

Munin es una aplicación de software de monitoreo de sistemas informáticos, monitoreo de redes y monitoreo de infraestructura gratuita y de código abierto. Ofrece servicios de monitoreo y alerta para servidores, conmutadores, aplicaciones, servicios, etc. Alerta a los usuarios cuando las cosas salen mal y los alerta por segunda vez cuando se resuelve el problema.

Imagen de ejemplo

ingrese la descripción de la imagen aquí

Sobre Icinga

Wikipedia escribe

Icinga es un sistema informático de código abierto y una aplicación de monitoreo de red. Fue creado originalmente como una bifurcación de la aplicación de monitoreo del sistema Nagios en 2009.

Icinga está tratando de superar las deficiencias percibidas en el proceso de desarrollo de Nagios, además de agregar nuevas características como una interfaz de usuario moderna de estilo Web 2.0, conectores de base de datos adicionales (para MySQL, Oracle y PostgreSQL) y una API REST que permite a los administradores integrar numerosas extensiones sin modificaciones complicadas del núcleo de Icinga.

Imagen de ejemplo que muestra 1 de varias vistas:

ingrese la descripción de la imagen aquí

Sobre Spiceworks

Wikipedia escribe:

Spiceworks es una red profesional para la industria de tecnología de la información (TI) con sede en Austin, Texas. La compañía fue fundada en enero de 2006 por Scott Abel, Jay Hallberg, Greg Kattawar y Francis Sullivan para crear software de gestión de TI.

Spiceworks es una comunidad en línea donde los usuarios pueden colaborar y buscar consejos entre ellos y también participar en un mercado para comprar servicios y productos relacionados con TI. Se estima que la red será utilizada por más de seis millones de profesionales de TI y 3.000 proveedores de tecnología.

Sobre monit

Wikipedia escribe

Monit es una herramienta gratuita de supervisión de procesos de código abierto para Unix y Linux. Con Monit, el estado del sistema se puede ver directamente desde la línea de comandos o mediante el servidor web HTTP (S) nativo. Monit alcanzó popularidad con Ruby on Rails y el servidor web de Mongrel, [cita requerida] porque se necesitaba una herramienta que pudiera administrar los muchos procesos de Mongrel idénticos que debían ejecutarse para admitir un sitio escalable de Ruby on Rails, y Monit era bastante singular. adecuado para las necesidades de la comunidad de Ruby on Rails. Muchos sitios populares de Rails han usado Monit, incluidos Twitter y scribd.

Sobre cactus

Wikipedia escribe:

Cacti es una herramienta de gráficos y monitoreo de red de código abierto basada en la web diseñada como una aplicación front-end para la herramienta de registro de datos de código abierto estándar de la industria RRDtool. Cacti permite a un usuario sondear servicios a intervalos predeterminados y graficar los datos resultantes. Generalmente se usa para graficar datos de series temporales de métricas como la carga de la CPU y la utilización del ancho de banda de la red. Un uso común es monitorear el tráfico de red sondeando un conmutador de red o una interfaz de enrutador a través del Protocolo simple de administración de red (SNMP).

El front-end puede manejar múltiples usuarios, cada uno con sus propios conjuntos de gráficos, por lo que a veces lo usan los proveedores de alojamiento web (especialmente servidores dedicados, servidores privados virtuales y proveedores de colocación) para mostrar estadísticas de ancho de banda para sus clientes. Se puede usar para configurar la recopilación de datos en sí, permitiendo que ciertas configuraciones sean monitoreadas sin ninguna configuración manual de RRDtool. Los cactus se pueden extender para monitorear cualquier fuente a través de scripts de shell y ejecutables.

Sobre Zabbix

Wikpedia escribe:

Zabbix es un software empresarial de monitoreo de código abierto para redes y aplicaciones, creado por Alexei Vladishev. Está diseñado para monitorear y rastrear el estado de varios servicios de red, servidores y otro hardware de red.

Zabbix utiliza MySQL, PostgreSQL, SQLite, Oracle o IBM DB2 para almacenar datos. Su backend está escrito en C y la interfaz web está escrita en PHP. Zabbix ofrece varias opciones de monitoreo

dufte
fuente
3

Puedes usar varias soluciones. Uno de ellos es monit.

Desde la línea de comando, simplemente ejecute el siguiente comando:

sudo apt-get install monit

Monit ahora debería estar instalado y accesible a través de una de las siguientes URL:

http://localhost:2812
http://IPADDRESS:2812 (local network IP)
http://domain.com:2812 (if you have domain name pointing to your server)

Monit Configuration

Antes de que pueda comenzar a utilizar Monitla supervisión automática del servidor, debe realizar alguna configuración básica. Primero haga una copia de seguridad de la Monitconfiguración predeterminada existente con el siguiente comando:

sudo mv /etc/monit/monitrc /etc/monit/monitrc.bak

A continuación, cree un nuevo monitrcarchivo con el comando

sudo /etc/monit/monitrc 

y copie los siguientes contenidos.

# How often in seconds should monit check your services.
set daemon 120

set logfile /var/log/monit.log
set idfile /var/lib/monit/id
set statefile /var/lib/monit/state

# Configure your SMTP out server. 
set mailserver smtp-server.columbus.rr.com port 25,localhost

set eventqueue
    basedir /var/lib/monit/events # set the base directory where events will be stored
    # optionally limit the queue size
    slots 100 

# Use one of the following 2 lines. The second line alerts on every little change and can be annoying.
set alert [email protected] but not on { instance, pid, ppid } #does not send alert on pid changes
#set alert [email protected] 

set httpd port 2812 and
    #Change username and password
    allow Username:Password
    # To enable SSL for WebUI uncomment the next 2 lines
    #ssl enable
    #pemfile /path/to/unified/certificate.pem
    # To restrict access to localhost only uncomment the following line
    #allow localhost

include /etc/monit/conf.d/*

Las líneas que comienzan con un # son comentarios para ayudarlo a personalizar la configuración. Asegúrese de tener al menos el correo electrónico de administración, el servidor SMTP y el puerto SMTP configurados correctamente. También debe considerar cambiar el nombre de usuario y la contraseña de Monit WebUI. Si tiene un certificado SSL, puede habilitarlo también para el acceso HTTPS

Por ahora, use los siguientes comandos para asegurarse de que Monit funciona bien.

Para probar la Monitconfiguración en busca de errores de sintaxis:

sudo monit -t

Para iniciar Monit:

sudo monit

Para verificar el estado de Monit:

sudo monit status

Sistema de Monitoreo de Carga con Monit

Es necesario que tenga una instancia de Monit que funcione con un /etc/monit/monitrcarchivo adecuado . Las configuraciones de Monit para varios servicios se cargan desde la /etc/monit/conf.dcarpeta. Para monitorear la carga del servidor Monit, cree un Monitarchivo de configuración con el siguiente comando:

sudo /etc/monit/conf.d/systemload

Copie los siguientes contenidos, guárdelos y salga

# domain.com could be IP, hostname, or localhost
check System domain.com
    if loadavg (1min) > 4 then alert
    if loadavg (5min) > 2 then alert
    if memory usage > 75% then alert
    if swap usage > 25% then alert
    if cpu usage (user) > 80% then alert
    if cpu usage (system) > 30% then alert
    if cpu usage (wait) > 20% then alert

Este código le Monitenviará una alerta por correo electrónico cuando se cumpla una de las condiciones anteriores (p. Ej., La carga promedio es >4de al menos 1 minuto o cuando hay más de lo que 75% RAMestá lleno). Puede personalizar las reglas anteriores como desee. A continuación se muestra un ejemplo de alerta por correo electrónico enviado Monitjunto con una descripción de qué condición causó la alerta.

Prueba y recarga Monit

Una vez que realice los cambios, debe probar la Monitconfiguración:

sudo monit -t

Debería ver el siguiente mensaje: Control File Syntax OK.

Luego, verifique si Monitya se está ejecutando con el siguiente comando:

sudo /etc/init.d/monit status

Si se Monitestá ejecutando, vuelva a cargar las Monitconfiguraciones con el siguiente comando:

sudo /etc/init.d/monit reload

Ahora, inicie su navegador web y visite una de las siguientes URL dependiendo de cómo esté configurado su Monit (asegúrese de usar el número de puerto correcto):

http://localhost:2812
http://IPADDRESS:2812 (local network IP)
http://domain.com:2812 (if you have domain name pointing to your server)

Debería ver el estado del sistema, la carga, la carga de la CPU, la carga de memoria y la carga de intercambio

Monitoreo de almacenamiento con Monit

A continuación, se requiere que tenga una Monitinstancia de trabajo con un /etc/monit/monitrcarchivo adecuado . MonitLas configuraciones para varios servicios se cargan desde la /etc/monit/conf.dcarpeta. Para la monitorización del espacio de la unidad con el Monit, create aarchivo de configuración Monit` utilizando el siguiente comando:

sudo /etc/monit/conf.d/storagespace

Copie los siguientes contenidos, guárdelos y salga

# add each drive you want to monitor below
check filesystem Ubuntu with path /dev/sda1
    if space usage > 90% then alert
check filesystem Home with path /dev/sda3
    if space usage > 90% then alert
check filesystem Media with path /dev/sdb1
    if space usage > 90% then alert

El código anterior supervisará el espacio del disco duro en 3 particiones en 2 unidades. Si alguno de ellos tiene más del 90% de su capacidad, estará alerta.

También puede monitorear servicios específicos.

Supervisar el servidor Apache con Monit

La configuración de la supervisión del servidor Apache con Monites con Monit’splantillas de configuración prefabricadas. Todo lo que tiene que hacer es copiar la plantilla existente a partir /etc/monit/monitrc.dde /etc/monit/conf.dla carpeta.

sudo cp /etc/monit/monitrc.d/apache2 /etc/monit/conf.d/

En lugar de copiar, también puede crear un enlace simbólico. El proceso del servidor web Apache crea apache2.pid. El apache2.pidarchivo de monitor de código anterior y si no existe, Monitintentará reiniciar Apache. Un reinicio activará una alerta por correo electrónico. Si el reinicio falla varias veces, Monit deja de monitorear el servidor Apache.

...

2707974
fuente
2

También puede echar un vistazo a SeaLion . Puede configurar alertas personalizadas para el uso de la CPU, la memoria, etc. Además, también puede agregar sus propias métricas y configurar notificaciones para ellas. Además, puede programar los comandos para que se ejecuten a intervalos específicos y ver sus resultados en una pantalla de línea de tiempo. Puedes encontrar más sobre esto aquí .

Araknid
fuente
1

Las herramientas anteriores son geniales para generar correos electrónicos. Prefiero recibir correos electrónicos para mi monitoreo diario ya que no quiero sentarme y mirar un tablero todo el día. El problema es que te inundan los correos electrónicos y solo te interesa cuando algo sale mal. Además, ¿cómo saber si un correo electrónico por alguna razón nunca se entregó y cree que todo funciona bien?

Busqué mucho tiempo y encontré 2 productos que pueden leer los correos electrónicos de sus informes y advertirle cuándo debe tomar medidas.

  1. PRTG puede configurar filtros de correo para buscar correo electrónico que contenga ciertas palabras. Fue un poco complicado de hacer.
  2. Una herramienta en línea llamada wwww.smtpviewer.com realmente hace el trabajo, además tiene una configuración de tiempo de espera que le avisará cuando el correo electrónico de sus dispositivos monitoreados no haya llegado por un tiempo establecido.
John Grobbelaar
fuente
Muchos clientes de correo ya vienen con la capacidad de filtrar, ordenar, etiquetar, ... correos. Así que realmente no veo la necesidad de una solución externa para esto. He estado usando el filtro de Thunderbird para hacer esto durante años, por ejemplo. Si el servidor de correo lo admite, también puede usar secuencias de comandos Sieve para filtrar, ordenar, etiquetar, ... los correos directamente en el servidor.
Henning Kockerbeck
0

¡En mi escuela, nuestro maestro nos dio una capacitación de Pandora FMS, una solución de monitoreo que cubre el monitoreo del servidor, las aplicaciones e incluso las redes!

Para cuando conocía a Zabbix y Nagios, nunca antes había oído hablar de esta solución, pero ahora estoy basando mi proyecto en ella debido a las características adicionales que proporciona. La parte de supervisión del servidor es realmente madura y, en mi opinión, es la más simple de configurar y obtener estadísticas de rendimiento lo antes posible: http://pandorafms.com/monitoring-solutions/server-monitoring/

rawmal
fuente
-1 paquete comercial ...
Fabby
0

Aunque no hace exactamente lo que quieres fuera de la caja, considero logwatchque es una herramienta extremadamente útil pero simple.

Le proporciona un resumen diario de todos los eventos que han sucedido en su /var/logdirectorio, así como otra información importante del sistema, como el espacio en disco actual. Todo lo que falta puede agregarse de manera bastante simple (por ejemplo, he agregado un script que verifica que ciertos demonios aún se estén ejecutando).

Darren
fuente
0

Por lo que entiendo, su necesidad es muy básica. Le gustaría enviar un mensaje de texto al contenido del correo electrónico de búsqueda para palabras clave específicas y luego recibir una notificación cuando esto suceda. Por lo tanto, solo cuando, por ejemplo, el correo electrónico contiene la palabra falla, desea recibir una notificación y no cuando contiene el éxito. También uso www.smtpviewer.com como lo menciona John Grobbelaar para recibir notificaciones. La ventaja de utilizar una herramienta en línea es que siempre puede recibir notificaciones cuando no llegue el correo electrónico esperado. De todas las herramientas de monitor de correo que he jugado con esta, es la más simple y solo hace esto.

Dirk Hemmingway
fuente
Esto no parece responder a la pregunta. Reformule esto para responder la pregunta, o elimine esta respuesta / muévala a un comentario. ¡Gracias y bienvenido a Ask Ubuntu!
zwork