首页 > 解决方案 > 如何更改logstash创建ES索引时区?

问题描述

logstash.conf:

    elasticsearch{
      hosts => ["172.31.29.xxx:9200"]
      index => "redis-%{+YYYYMMdd}"
    }

我使用 YYYYMMdd 定义索引,我想更改索引时区,我该怎么做?谢谢

标签: logstashlogstash-groklogstash-configuration

解决方案


您可以使用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"
        }
    }
}

您可以在此处查看可用的时区值


推荐阅读