logstash - 有时logstash重播所有日志
问题描述
要将我的服务日志发送到 kafka,我使用 logstash(6.5.3)。但是服务器重启和logstash启动时有时会将所有过去的日志发送到kafka。我不知道为什么这样做。
(前任)
日志 1 -> 已完成
日志 2 -> 已完成
日志 3 -> 已完成
日志 4
日志 5
服务器重启,有时logstash重启
日志 1 -> 重播
日志 2 -> 重播
日志 3 -> 重播
日志 4 -> 发送
日志 5 -> 发送
但我期望:
日志 4 -> 发送
日志 5 -> 发送
这是我的logstash conf:
input {
file {
type => "log"
path => [...]
sincedb_write_interval => 1
start_position => "beginning"
}
.
.
}
解决方案
试试下面的配置
input {
file {
path => "*.log"
type => "log"
start_position => "beginning"
ignore_older => 0
sincedb_path => "/usr/share/log/sincedb/log.sincedb"
sincedb_write_interval => 1
}
}
其中 sincedb_path需要是logstash 对注册表具有写权限的文件。它将最后读取的详细信息写入此文件
sincedb_write_interval定义logstash 应该多久写入一次 sincedb 注册表。较大的值会使您面临 logstash 崩溃的风险。
推荐阅读
- ios - 'React/RCTAnimationType.h' 文件未找到
- r - 大型矩阵上每行的皮尔逊系数
- terraform - 将 Terraform 生命周期 ignore_changes 应用于工作区中的所有资源
- r - 如何用另一个相同维度的data.table的值替换一个data.table中的某个值
- python - 无法使用 python 解码这个字符串
- javascript - React 中的导入/导出
- solr - 使用 solr 的汇总报告
- google-analytics - 如何在 AMP 页面中获取用于谷歌分析的锚标记文本?
- postgresql - 如何通过坐标找到最近的父母或孩子?
- php - 联系表格提交无响应