elasticsearch - Grok解析日志文件中的随机收件人数

标签 elasticsearch logstash

我有一个类似的日志:

2019-05-23 16:33:54 +0300 08 mail SMTP-IN:0003ACBE: New mail <0000> received from mail.contoso.com (127.0.0.1) with envelope from <user@contoso.com>, recipients=3 (user1@contoso.com, user2@contoso.com, user3@contoso.com), size=1234, enqueued with id 12345

我看过kv过滤器,但不了解如何应用它,因为地址模式也落在发送者身上。

我不明白如何解析这样的行。收件人可以是随机数。我想通过grok获取结构化数据,例如:

“email1”:“user1@contoso.com”

“email2”:“user2@contoso.com”

“email3”:“user3@contoso.com”

最佳答案

您可以将所有电子邮件地址放在一个字段中,然后使用mutate过滤器将其拆分为一个数组。

如果确实需要在每个字段中添加新字段,则可能需要放入ruby并遍历整个数组。

关于elasticsearch - Grok解析日志文件中的随机收件人数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56277676/

相关文章:

elasticsearch - 需要帮助来编写Elasticsearch查询,该查询应基于具有(传递的值或null)的一个字段和另一个数组字段的文本进行搜索

elasticsearch - 使用NSSM将多个配置文件作为logstash服务运行

c# - Elasticsearch 应该安装在与站点相同的服务器上吗?

java - Jest 客户端支持集群名称吗?

java - 默认情况下,即使在启用 Fielddata 后,文本字段上的 Fielddata 也是禁用的

elasticsearch - 在将完整日志发送到logstash/elasticsearch之前,将一半日志发送到RabbitMQ的方法

elasticsearch - Kibana不创建,我的数据指标

bash - 如何从命令行获取 Elasticsearch 服务器版本

elasticsearch - Elasticsearch:匹配项和过滤器中的术语有什么区别?

api - Angular 2应用程序中的elasticsearch api