关于 logstash 配置问题

2017-12-26 10:27:49 +08:00
 monway

我想从本地的文件中使用 logstash 导入 ElasticSearch 中,文件格式如下

pou63111@163.com	aaaaaaa
273820542@qq.com	aaaaaaa
1519286862@qq.com	bbbbbbbb
793417667@qq.COM	bbbbbbb

我想根据每行两个字段,一行一条数据。请问该如何写 logstash 的 filter 呢?

972 次点击
所在节点    数据库
5 条回复
wayne1007
2017-12-26 13:41:42 +08:00
logstash 的 filter 支持正则表达式
mason961125
2017-12-26 13:50:04 +08:00
下面三个 QQ 都试了下,都是存在的。
badttt
2017-12-26 18:45:33 +08:00
这种类型数据建议使用 dissect,不要用 gork
Terenc3
2017-12-27 00:11:43 +08:00
1. 用 filebeat 读取文件,然后丢给 logstash 处理:

```

- input_type: log
paths:
- [your file path here]
tags: email_analysis

output.logstash:
hosts: ["your logstash host here"]

```


2. logstash 用 grok 处理完成后存到 elasticsearch 或其他地方:

```

filter {
if "email_analysis" in [tags] {
grok {
match => { "message" => "%{NOTSPACE:username}\@%{NOTSPACE:mail_host}%{SPACE}%{NOTSPACE:your_patterns}" }
}
}
}

```


3. 这是 elasticsearch 的配置:

```

output {
if "email_analysis" in [tags] {
elasticsearch {
hosts => ["es6-node1.t.com:9200"]
manage_template => false
index => "your-index"
}
}
}

```
monway
2017-12-27 10:52:12 +08:00
@Terenc3 非常感谢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/417636

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX