it-swarm-es.com

Transporte de registro y agregación a escala.

¿Cómo estás analizando archivos de registro de máquinas UNIX/Linux? Corremos varios cientos de servidores que generan sus propios archivos de registro, ya sea directamente o a través de syslog. Estoy buscando una solución decente para agregarlos y elegir eventos importantes. Este problema se descompone en 3 componentes:

1) Transporte de mensajes

La forma clásica es usar Syslog para registrar mensajes a un host remoto. Esto funciona bien para aplicaciones que inician sesión en Syslog, pero menos útil para aplicaciones que escriben a un archivo local. Las soluciones para esto pueden incluir que la solicitud inicie sesión en A FIFO conectado a un programa para enviar el mensaje usando syslog, o escribiendo algo que grep los archivos locales y enviará la salida al centro de syslog central Anfitrión. Sin embargo, si vamos a la molestia de escribir herramientas para obtener mensajes en SYSLOG, ¿estaríamos mejor reemplazando todo el lote con algo como Facebook Scribe , que ofrece más flexibilidad y confiabilidad que Syslog?

2) agregación de mensajes

Las entradas de registro parecen caer en uno de los dos tipos: por host y por servicio. Los mensajes per-host son aquellos que ocurren en una máquina; Piense fallas en el disco o los inicios de sesión sospechosos. Los mensajes por servicio se producen en la mayoría o todos los hosts que ejecutan un servicio. Por ejemplo, queremos saber cuándo Apache encuentra un error de SSI, pero no queremos el mismo error de 100 máquinas. En todos los casos, solo queremos ver uno de cada tipo de mensaje: no queremos 10 mensajes que dicen que el mismo disco ha fallado, y no queremos un mensaje cada vez que se golpee un SSI roto.

Un enfoque para resolver esto es agregar múltiples mensajes del mismo tipo en uno en cada host, envíe los mensajes a un servidor central y luego agregue mensajes del mismo tipo en un evento general. SER puede hacer esto, pero es incómodo de usarlo. Incluso después de un par de días de juguete, solo tenía las agregaciones rudimentarias que trabajaban y tuvieron que buscar constantemente la lógica que utiliza la lógica para correlacionar los eventos. Es una cosa poderosa pero complicada: necesito algo que mis colegas puedan recoger y usar en el menor tiempo posible. Las reglas de Ser no cumplen con ese requisito.

3) Generando alertas

¿Cómo le digamos a nuestros administradores cuando sucede algo interesante? ¿Envía la bandeja de entrada del grupo? Inyectar en nagios?

Entonces, ¿cómo estás resolviendo este problema? No espero una respuesta en un plato; Puedo resolver los detalles, pero una discusión de alto nivel sobre lo que seguramente es un problema común sería genial. En este momento estamos usando un MishMash of Cron Jobs, Syslog y quién sabe qué más encontrar eventos. Esto no es extensible, se puede mantener o flexible y, como tal, extrañamos muchas cosas que no deberíamos.

Actualizado: Ya estamos usando Nagios para el monitoreo, lo que es ideal para detectar los hosts/servicios de prueba/etc. pero menos útil para raspar los archivos de registro. Sé que hay complementos de registro para Nagios, pero estoy interesado en algo más escalable y jerárquico que alertas per-host.

14
markdrayton

He usado tres sistemas diferentes para centralizar registros:

  1. Syslog/syslog-ng reenvío a un host
  2. Zenoss para agregar y alertar eventos.
  3. Splunk para agregación de registro y búsqueda

Para el # 3, normalmente utilizo SYSLOG-NG para reenviar los mensajes de cada host directamente a Splunk. También puede analizar los archivos de registro directamente, pero eso puede ser un poco de dolor.

Splunk es bastante impresionante para buscar y clasificar sus registros. No he usado Splunk para alerta de registro, pero creo que es posible.

5
Gary Richardson

Puede echar un vistazo a OSSEC, un hids de código abierto completo, hace que el análisis de registros puede activar acciones o enviar correo a las alertas. Las alertas se activan por un conjunto de reglas sencillas basadas en XML, se incluyen muchos de los formatos de registro predefinidos para varios formatos de registro y puede agregar sus propias reglas

http://www.ossec.net/

2
Guillaume