你们都是如何使用 ELK 来对业务日志进行 收集 和 查询 的?

2019-01-30 15:32:37 +08:00
 CivAx

期初是试图模仿阿里云的日志服务,自建一套日志收集与查询系统。

在给公司搭建了一套 ElasticSearch + LogStash + Kibaba + FileBeat 后才发现搜索功能根本不能用………使用关键字在 Kibana 中进行查询的时候,只有零星几个结果,明明用 grep 在服务器上直接查 Tomcat 日志可以匹配成千行数据,。

查来查去似乎是由于 Index 的 Analyzer 配置问题导致的,兜兜转转了三四天还是没有任何头绪如何解决 ELK 系统中 LogStash 与 ElasticSearch 的索引配合问题

想问问有没有大佬在生产环境上把 ELK 调配得十分完美、能正常使用搜索功能的?想请教是如何做到的,如果愿意深入解答可以有偿,谢谢。

4235 次点击
所在节点    程序员
15 条回复
mritd
2019-01-30 15:35:45 +08:00
建议上分布式日志追踪,容器环境 https://opentracing.io/ 非容器环境 opentrace 里面的那种组建能单独抽出来集成,实质上都是 https://bigbully.github.io/Dapper-translation/
mogging
2019-01-30 15:37:43 +08:00
我司用的是容器环境 ELK
1,进 ES 容器:docker exec -it `docker ps | grep elastics | awk '{print $1}'` /bin/sh
2,先查看索引数据状态:curl -s -XGET http://localhost:9200/_cat/indices?pretty
ES 里面的索引状态正常,基本上 Kibana 上就可以手动创建索引了
然后再开始细化 logstash 的过滤语句,gork 语法可以在线调试
imaple
2019-01-30 15:42:02 +08:00
中文日志?
CivAx
2019-01-30 15:44:52 +08:00
@mogging #2

你们的索引是 “先手动建立 ElasticSearch 索引,再由 LogStash 推数据到指定索引”,还是 “直接由 LogStash 推数据,让 ElasticSearch 自动创建索引”

现在我的索引是在 LogStash 的 config 中指定了

```
output {
elasticsearch {
hosts => ["127.0.0.1:9200"]
index => "api-%{YYYY+MM+dd}"
}
}
```

想请教你们是怎么配置的呢?
JKeita
2019-01-30 15:51:45 +08:00
这肯定是先建模板让 es 自己生成 index 啊
dapang1221
2019-01-30 15:55:45 +08:00
首先说阿里云的 sls 真的跟屎一样,搜东西一回车直接出来历史记录了。。
建好 elk 之后先用 logstash 往 es 里写日志,写完之后打开 kibana,设置 index,这时候这个 index 的关键词就自动出来了,直接保存就能查了,甚至不用在 es 里建索引
dapang1221
2019-01-30 15:56:38 +08:00
dapang1221
2019-01-30 15:57:08 +08:00
↑另外分享一个自己做的带日志的 docker,求 star
linxiaoziruo
2019-01-30 15:58:10 +08:00
我们就是这套,大部分时间能用,小部分时间会出现日志丢失。我对这套系统是不信任的。系统的稳定性和运维人员的技术水平有很大的关系。
Wincer
2019-01-30 16:01:32 +08:00
搜索只有零星几条数据但是确保数据确实已经进入了 es 的话,应该是分词的原因了。
我之前是让 logstash 自动发送数据到 es 中,这个过程中的 template 会自动生成,再根据需要手动修改几项,比如把 string 改成 keyword 之类的。再在 logstash 中指定使用修改后的 template。
index 则一直都是 logstash 创建。
aaa5838769
2019-01-30 16:02:18 +08:00
创建索引,日志文件建议用 json 格式,
CivAx
2019-01-30 16:04:00 +08:00
@Wincer #10 请问这个 手动修改 Template 和 指定使用某 Template 有相关的操作方法或文档吗?
seanseek
2019-01-30 16:07:22 +08:00
日志文件转成 json 就很容易处理,还有注意看 logstash 的日志,不能解析的 log 会有报错,根据报错去优化 grok
defunct9
2019-01-30 16:32:38 +08:00
开 ssh,让我上去搭。收费
Wincer
2019-01-31 13:55:49 +08:00
@CivAx 关键词:logstash set template,elasticsearch set index template

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

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

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

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

© 2021 V2EX