elasticsearch - logstash 将所有日志文件放在一个 Elasticsearch 索引中,并在每个日志文件日为 Logstash 配置中的 Elasticsearch 创建一个新索引
问题描述
这是我的日志文件的命名约定,如下所示:
adminPortal-2021-10-10.0.log
adminPortal-2021-10-27.0.log
我需要将它们发布到与日志文件日期匹配的不同索引,但 Elasticsearch 将所有日志文件中的日志发布到一个索引中。
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "admin-%{+YYYY-MM-dd}"
}
}
解决方案
对日期的 sprintf 引用,就像%{+YYYY-MM-dd}
总是使用@timestamp 字段的值一样。如果您希望它使用日志条目中的值,您将需要从 [message] 字段中解析时间戳,可能使用 grok,然后使用日期过滤器解析它以覆盖 @timestamp 字段的默认值(这是Time.now)。
推荐阅读
- algorithm - 稀疏矩阵表示
- javascript - 未捕获的类型错误:当我尝试在 chrome 中运行我的代码时,无法读取 null 的属性“addEventListener”
- javascript - getElementsByClassName 在 javascript 中返回 undefined 想要在用户单击删除图标时删除列表项
- cordova - 避免Phonegap应用程序中Vuex和IAP插件之间的冲突
- r - 将 dfSummary 导出到 Latex 中
- mongodb - 查询同类型嵌套文档的Mongo集合
- python - 如何为大文本添加池化层到 BERT QA
- java - Firebase/Android:如何从当前用户获取信息并将其设置到另一个节点?
- python - 一个有效的迭代器,用于获取列表的前 k 个最小值
- android - 在进行 AOSP 构建时在 SE 策略中出现一些构建错误