您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Logstash和ElasticSearch之间丢失的文档

Logstash和ElasticSearch之间丢失的文档

如果ES由于某种原因(忙于GC处理等)而关闭或挂断,则logstash将重试几次,然后放开它,这意味着您将丢失这些事件。

有很多方法可以缓解这种情况,但是一个好的实践是持久地存储事件(在DB或消息队列系统中),并仅在事件成功发送到ES后才弹出它们。这样的消息传递系统包括Redis(使用列表或通道作为队列),Apache Kafka(分布式日志),Rabbitmq(分布式消息队列)等

有很多方式与logstash一起配置这些技术,一个例子是这一个显示Logstash正在与卡夫卡使用。在您的情况下,这意味着Nxlog将其日志发送到kafka,而不是直接发送到Logstash。然后Logstash使用来自Kafka主题的日志

您的里程会有所不同,但是这里的主要思想是,如果您的日志无法发送到Elasticsearch,则不会丢失。这将回答您的第二个问题。

至于您的第一个,我建议您安装其他ES插件,例如bigdeskHQ和/或官方的Marvel插件,这些插件都可以深入洞悉Elasticsearch内部正在发生的事情。您将能够快速检测出问题所在并采取措施。

其他 2022/1/1 18:13:57 有614人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶