logstash - 如何更改logstash创建ES索引时区?
问题描述
logstash.conf:
elasticsearch{
hosts => ["172.31.29.xxx:9200"]
index => "redis-%{+YYYYMMdd}"
}
我使用 YYYYMMdd 定义索引,我想更改索引时区,我该怎么做?谢谢
解决方案
您可以使用logstash “日期”过滤器插件来更改日志事件时区。
这是我整理的文件示例,logstash.conf
用于向您展示日期过滤器的方式和位置:
input {
file {
...
type => "typeName"
}
}
filter {
if [type] == "typeName" {
grok {
match => {"message" => "^%{TIMESTAMP_ISO8601:event_timestamp}..."}
}
}
date {
match => [ "event_timestamp", "YYYY-MM-dd HH:mm:ss,SSS" ]
timezone => "Etc/GMT"
locale => "en"
}
}
output {
if [type] == "typeName" {
elasticsearch {
hosts => ["http://localhost:9200"]
index => "indexName"
}
}
}
您可以在此处查看可用的时区值。
推荐阅读
- java - API 28 中 getChildFragmentManager() 的替代方法是什么?
- python - 基于自定义方法过滤 django 查询集的最快方法是什么?
- ios - 无法使用类型为“(() -> (), delayFactor: Double)”的参数列表调用“addAnimations”
- javascript - 根据另一个 div 的高度定位 div
- c - 如何从二进制文件中读取反转的数字?
- apache-pig - 如何在 Pig 中比较 BIGINT
- django - Django(PostgreSQL)查询过滤器以排除给定字母
- sql - 如何重置 Sequel Pro 的密码?
- android - 在 Kotlin 中使用片段
- javascript - 根据数组中的对象属性生成带有头部的列表