Herramienta de monitoreo de archivos de registro

Estamos buscando una herramienta que

  • puede analizar archivos de registro y comprueba si un determinado patrón coincide, por ejemplo, "ERROR" o "FATAL" están contenidos en una línea de un archivo de registro.
  • puede verificar si un archivo de registro está presente o se ha modificado en un momento determinado; esto es para verificar si se ha ejecutado una rutina, ya que siempre generan archivos de registro
  • si se activaron estos controles, nos envía un correo electrónico
  • (opcional) reúne varios eventos dentro de un período de tiempo determinado para enviar un correo en lugar de muchos

Requerimientos no funcionales

  • debe estar en las instalaciones, instalado en nuestra máquina, ya que estamos ejecutando dentro de una intranet y detrás de firewalls. Intentar obtener reglas de excepción para consumir software basado en Internet como soluciones de servicio no es una opción
  • estamos ejecutando solo en servidores Red Hat Linux, por lo que las soluciones de Windows no son una opción
  • (opcional) estamos ejecutando varios servidores, por lo que sería bueno tener un maestro que recopile las entradas de todos estos servidores (agentes) y coordine las alertas. Pero también estamos dispuestos a instalar y configurar varias instalaciones desde una herramienta en varias máquinas
  • (opcional) código abierto para que podamos contribuir, pero el código cerrado también es bienvenido, también si cuesta dinero, estamos dispuestos a pagar
  • (opcional) la consulta de instalación es bienvenida

Lo que hemos visto hasta ahora

  • Nagios : desde nuestro punto de vista, ofrece demasiado para lo que queremos. A nosotros nos parece un mazo romper esa nuez
  • El ELK Stack más el complemento Watcher parece satisfacer todas nuestras necesidades. Aunque también proporciona demasiadas funciones que no necesitamos. No necesitamos un historial de los registros, por lo que la parte de Kibana no nos interesa y todo un servidor de búsqueda elástica también es demasiado.
Si puede resolver el "archivo existente" por separado (por ejemplo, usando un trabajo cron con un script de shell), ¿ Fail2ban sería una opción? En lugar de la parte "Prohibir", también puede usar notificaciones u otras acciones (incluso puede definir sus propias acciones, ya que puede definir sus filtros, por lo que podría configurarse para informar directamente a una base de datos, por ejemplo). Si eso satisface sus necesidades, hágamelo saber y escribo una respuesta correspondiente con algunos detalles adicionales.
Gracias por tu aporte, @Izzy, pero estamos buscando una solución integral.
Pensé que sí, por eso lo puse como un comentario, no como una respuesta. Todavía lo dejo ahí: es posible que cambie de opinión en caso de que no aparezca una solución única real / adecuada. No estoy al tanto de que Fail2Ban también puede notificar sobre registros faltantes, pero no tenía necesidad de eso, y simplemente podría haberlo perdido. Detecta la "rotación de registros", por lo que podría hacer aún más. Estoy lejos de usar todo su potencial, supongo;)
¿Tiene que ser un software de nivel empresarial? Conozco a alguien que ha creado una alternativa de Nagios totalmente personalizable para el monitoreo local y realiza casi todo lo que busca. Está en las primeras etapas de implementación, pero podríamos comunicarnos con usted una vez que haya terminado.

Respuestas (1)

Estoy buscando una herramienta como usted hace algún tiempo.

Este se ve bien:

https://hekad.readthedocs.org

Estas son las características principales (de la página de inicio):

Heka es un sistema de software de procesamiento de flujo de código abierto desarrollado por Mozilla. Heka es una herramienta de procesamiento de datos tipo “navaja suiza”, útil para una amplia variedad de tareas diferentes, tales como:

  • Cargar y analizar archivos de registro desde un sistema de archivos.
  • Aceptar datos de métricas de tipo statsd para agregación y reenvío a almacenes de datos de series temporales ascendentes, como Graphite o InfluxDB.
  • Lanzamiento de procesos externos para recopilar datos operativos del sistema local.
  • Realizar análisis en tiempo real, gráficos y detección de anomalías en cualquier dato que fluya a través de la tubería de Heka.
  • Enviar datos de una ubicación a otra mediante el uso de un transporte externo (como AMQP) o directamente (a través de TCP).
  • Entrega de datos procesados ​​a uno o más almacenes de datos persistentes.