virginia ec2 east cloudwatchmonitoringscripts cloudwatch aws logging amazon-s3 amazon-ec2

logging - east - ¿Cuál es una buena forma de recopilar registros de las instancias de Amazon EC2?



cloudwatchmonitoringscripts (8)

* Descargo de responsabilidad: yo trabajo en Sumo:

Sumo Logic Free es una opción relativamente fácil también:

https://www.sumologic.com/pricing/

Mi aplicación está alojada en un clúster de Amazon EC2. Cada instancia escribe eventos para registrar archivos. Necesito recopilar (y datos) sobre estos registros al final de cada día. ¿Cuál es una forma recomendada de recopilar estos registros en una ubicación central? He pensado en varias opciones, no estoy seguro de qué camino tomar:

  1. scp a una instancia utilizando un trabajo cron
  2. Registrar todos los eventos sobre TCP / IP en una instancia

Eche un vistazo a la versión gratuita de Splunk : manejará la colección de archivos de registro remotos y también le dará algunas herramientas de búsqueda y análisis realmente agradables.


Esta pregunta ya es antigua (diciembre de 2014), pero aún ocupa un lugar destacado durante una búsqueda en Google sobre este tema.

Amazon ahora ofrece una forma de hacer algo de esto a través de CloudWatch. Tiene la capacidad de emparejar patrones con el mensaje de registro y activar alarmas en función de las cosas que suceden en la aplicación. Dependiendo de la naturaleza de la minería de datos que se necesita hacer, puede ser posible usar su API para buscar los eventos agregados deseados. Ver http://aws.amazon.com/blogs/aws/cloudwatch-log-service/


He estado usando Loggly y parece hacer el truco

http://loggly.com/

Me permite enviar todos mis registros a través de tcp a su servicio y tener un lugar central para monitorear todos mis archivos de registro,

También me permite archivar mis archivos de registro en S3, lo que también es agradable


No lo he implementado todavía, pero me encontré con Facebook Scribe, y parece una buena idea. https://github.com/facebookarchive/scribe

Hasta que lo haga, he estado haciendo exactamente lo que mencionas para el n. ° 1: tengo un trabajo de cron que usa sftp para extraer los archivos. Elegí esto porque incluso si lo hice n. ° 2, he tenido instancias en las que la máquina ec2 falla y finalmente tuve que sacar los archivos de registro.



Usamos Logstash en cada host (implementado a través de Puppet) para reunir y enviar eventos de registro a una cola de mensajes (RabbitMQ, pero podría ser Redis) en un host central. Otra instancia de Logstash recupera los eventos, los procesa y ElasticSearch el resultado en ElasticSearch . Una interfaz web de Kibana se utiliza para buscar a través de esta base de datos.

Es muy capaz, escala fácilmente y es muy flexible. Logstash tiene toneladas de filtros para procesar eventos de varias entradas, y puede producir muchos servicios, ElasticSearch es uno de ellos. Actualmente enviamos aproximadamente 1,2 millones de eventos de registro por día desde nuestras instancias EC2, en hardware liviano. La latencia para un evento de registro de evento a búsqueda es de aproximadamente 1 segundo en nuestra configuración.

Aquí hay un poco de documentación sobre este tipo de configuración: https://www.elastic.co/guide/en/logstash/current/getting-started-with-logstash.html , y una demostración de la interfaz de búsqueda de Kibana con algunos datos en vivo.