logstash - Logstash 管道输出未创建请求的索引
问题描述
我的输出插件配置如下:
output {
stdout { codec => rubydebug { metadata => true } }
elasticsearch {
hosts => ["elasticsearch:443"]
ssl => true
cacert => 'cacert.crt'
user => "logstash_internal"
password => "x-pack-test-password"
index => "logstash-ddo-%{+xxxx.ww}"
}
}
当我查询弹性时:
GET /_cat/indices/logstash-*?v&s=index
我得到以下信息:
health status index uuid pri rep docs.count docs.deleted store.size pri.store.size
green open logstash-ddo- oyMaZ1jeQPCOhI8YDXnbxw 1 1 78687 0 64.8mb 32.2mb
我希望它是例如:
logstash-ddo-2020-44
我已经检查并重新检查了管道配置文件,但我没有想法。你们有看到什么吗?
Logstash 不报告任何错误。我在 7.9.2 版(码头化)
解决方案
要根据事件的日期创建索引,logstash 使用@timestamp
字段中的日期。
由于您的索引名称没有获取年份和周数,因此您要么删除或重命名该@timestamp
字段。
您需要@timestamp
在文档中保留该字段,如果要更改其名称,可以从中创建一个新字段,但 logstash 需要该@timestamp
字段来创建基于时间的索引。
推荐阅读
- python - 在 Pycharm 的控制台中打印并打印出完整句子时如何删除...?
- docker - 如何在docker中添加GDAL
- python - 为什么 Python 的 Logger 在没有错误的情况下返回错误?
- ios - 构建错误 Xcode 10 - 产生多个命令
- python - 如何使用列对齐将 csv 转换为 txt?最好不要使用其他库
- ruby-on-rails - Rails redirect_to 重定向到 https://subdomain
- haskell - 从 Either 返回定义的类型
- ios - 如何为后退按钮做'prepareSegue'?
- python - 预定时间与实际工作时间的 matplotlib barh
- azure - 如何通过 Powershell 获取与 Azure 应用服务关联的虚拟 IP 地址