概述
EFK,是ELK即ElasticSearch + Logstash + Kibana的升级版,把Logstash替换成Fluentd。
实战
查询语法
选择日志索引后
搜索ERROR级别的日志:level: error
搜索某个应用的日志:appName: "book-store"
搜索某个应用的指定标题的日志:appName: "book-store" AND "埋点入参"
搜索某个应用的ERROR级别的日志:appName: "book-store" AND level: error
排查某个应用的日志:-appName: "book-store"
排查某个应用后的ERROR级别的日志:-appName: "book-store" AND level: error
数据导出
默认情况下,EFK查询结果有2个字段:
即Time和_source,点击上图左侧的三角形,可以看到更多字段:
要导出数据时,我们显然不需要这么多无关字段。其中只有一个msg字段是我们需要的导出字段。在左侧面板Available fields找到msg字段,点击add:
点击刷新,会看到列表字段已更新:
点击页面顶部的Save,起个辨识度高的名字
然后点击Share,点击CSV Reports
最后点击Generate CSV。另外,如果查询的数据量较大,生成文件耗时可能会长达几分钟,甚至报错:导出失败。
文件生成成功后,在左侧面板找到Management,点击Reporting,可以发现之前命名的Reports,点击右侧的download图标即可下载文件。
导出超时失败
如果导出失败,则需要减少数据查询量,回到第一步,也就是图1,增加过滤条件(Add a filter),减少查询数据量,如订单时间等。支持如下6中操作符Operator:
Excel打开乱码
使用Windows系统自带的记事本或文本编辑器如Sublime Text打开,或使用Mac系统自带的文本编辑,又或者使用Mac Numbers表格应用程序打开,都是正常的,但使用Office Excel打开时则会发现文本乱码
解决方案:
参考BOM及CSV/Excel乱码及从代码上根源解决问题 借助于Sublimt Text编辑器,点击File->Save with Encoding,选择UTF-8 with BOM。
再次使用Excel打开会发现乱码消失。