Recomendacion en integracion al Stack ELK


(Dario Rodriguez) #1

Hola a tod@s !!

Actualmente me encuentro trabajando sobre ELK, integrando Elasticsearch, Logstash y KIbana con sistemas generadores de logs. Para algunos escenarios puntuales también incorporo Filebeat y Kafka.

Me gustaría hacer algunas recomendaciones generales a mi equipo técnico interno sobre esta integración.

Por ejemplo: "Todos los sistemas de log deben ser integrados a través de Logstash ó Filebeat ó Kafka". Es decir, no se debería integrar el sistema/aplicación generadora de Logs directamente con Elasticsearch.

Que opinión les merece este lineamiento? tiene sentido? O por el contrario es una 'buena practica' integrarse directamente a Elasticsearch sin Logstash|Filebeat|Kafka ?

Muchas gracias por sus comentarios.

Dario Rodriguez.


(Ismael Hasan Romero) #2

Hola Darío,

Tu recomendación es la correcta, ya que esos productos están integrados en el stack; eso facilita además la actualización de versiones, con las mejoras que incluyan.
Para darte una idea del nivel de integración, y de como evoluciona el stack, para usar Kafka con Filebeat la arquitectura propuesta es Filebeat->Logstash->Kafka->Logstash->ElasticSearch. En posteriores versiones se espera que Filebeat pueda escribir directamente a Kafka (https://www.elastic.co/guide/en/beats/filebeat/master/kafka-output.html), por lo que se eliminaría una de las instancias de Logstash.

Existen situaciones en las que tiene sentido escribir directamente a Elastic Search, pero en el caso de logs prácticamente siempre es recomendable hacerlo a través de uno o varios de los sistemas que propones. Por ejemplo, un caso de uso habitual es monitorizar logs en máquinas diferentes: en ese caso, se puede instalar Filebeats en las máquinas a monitorizar, enviar los logs a una máquina con Logstash para que realice todas las transformaciones o análisis que sean necesarias y finalmente escribir a Elastic Search.

Un saludo,
Ismael.


(system) #3