您如何看待人们,将 Redis 放置在每个 Logstash 托运人节点中以确保有保证的日志交付?
问问题
514 次
2 回答
0
如果你使用 logstash 或 logstash-forwarder 作为你的托运人到一个集中的 logstash 中,你通常不需要像 redis 这样的代理。当 logstash 无法接受更多事件时,托运人将检测到。它将维护一个指向当前日志位置的指针,并在瓶颈消除后继续。
如果您有不缓冲的日志(syslog、snmptrap 等),那么代理是有意义的。
于 2015-05-30T00:32:18.277 回答
0
从摄取点(生成下游事件)到存储在 Elasticsearch 或 Hadoop 中的点,没有任何保证。这是一个有很多故障点的分布式系统。不幸的是,由您来处理可靠性和恢复问题。logstash 有一个 CR 待定,以改善当前情况。
https://github.com/elastic/logstash/issues/2609
尽管如此,logstash 仍充当下游系统事件的发起者或聚合者。您需要根据您的系统设计和 SLA 来解决可靠性问题。如果您使用的是像 Splunk 这样的全栈产品,该问题将由供应商处理。(至少我被告知但尚未为自己测试;))
于 2016-01-03T18:47:56.093 回答