0

我正在尝试使用logstash将数据从MySQL导入elasticsearch,一切正常,并且我已经很好地导入了所有数据。但是,MySQL 中称为“元数据”的字段之一遵循特定模式,例如“firstname_lastname_yyyy-MM-dd HH:mm:ss”,因此例如这是它可能采用的值之一“Mark_Karlos_2018-02-23 15 :19:55”,目前该字段按原样导入到 Elasticsearch 中,我想要做的是将该字段作为 Elasticsearch 中的三个字段“first_name”、“last_name”、“time”。这可以用 Logstash 配置文件来完成吗?如果没有,还有其他方法可以做到这一点吗?

4

1 回答 1

0

您可以使用 grok 过滤器:

grok {
    match => {"metadata"=> "%{GREEDYDATA:first_name}_%{GREEDYDATA:last_name}_%{TIMESTAMP_ISO8601:time}"}
}

为了帮助您使用 grok 过滤器:

官方文档

现有模式

测试你的模式

于 2018-03-01T13:52:01.470 回答