发现Accesslog中的秘密By Elasticsearch7.5 + Kibana7.5之Discover
写在前面
得益于ELK,我们可以分析很多数据,特别做为网站和应用API的访问日志,中间隐藏着很多的数据和事实,接下来的一系列文章,我将带大家去数据中一探究竟。
Discover
当我们拿到ELK之后,最先看的就是Discover,这也是很多人止步的地方,从这个工具处选择时间,做一些基本过滤,其实Discover还有很多其他可以说可以用的地方。
界面
Kibana7.5的扁平风格比之前感觉清爽了很多,但元素边界的消失,导致看上去不太习惯,不能一下找到要找的控件,习惯一下就好了。
左边一列图标是Kibana的主功能菜单,展开后可看到标题,如下图
简单介绍一下:
Discover:发现,探索浏览数据,如果想看某些数据的全部内容,在这里看最适合不过了。当在后续的文章生成其他图表时,如果对数据有疑问,可以在这里查看。
Visualize:可视化,生成各种图表,使数据之前的关系和数据本质得以直观的展示。
Dashboard:数据面板,由很多可视化视图组成,从多个维度展示相关数据之间的关系,从更宏观的角度观察数据,发现关联。
Canvas:数据画布,可以创作动态、多页、艺术性的数据展示。
Maps:地图,将数据展示到地图上,跟地域有关的数据非常适合在地图上展示。
Machine Learning:机器学习,智能分析数据之间的关系,预测数据走向等。
Metrics:数据指标,可以实时监控基础设施的指标。
Logs:浏览常见服务器、容器和服务的日志。
APM:自动从程序内部收集性能与错误指标。
Uptime:可以监控网络端点的状态。
SIEM:为安全团队提供的交互式工作区。
Dev Tools:字面意思,开发工具,可以在这里使用API操作ES集群。
Stack Monitoring:ES应用栈监控,可以在这里监控Elastic各组件的运行状态。
Management:管理ES集群的相关索引、用户、作业等。
index pattern
索引模式,上面图一左上方的cdnlog*
就是一个索引模式,一般我们上手现有Kibana,都会存在相关的索引模式,如果没有,我们可以到Management->index pattern
中去创建。索引模式允许我们可以把很多索引放在一起进行查询,这些索引都匹配这个索引模式。
点击Create index pattern
按钮进入创建步骤:
如上图,输入索引模式,按照提示,可以使用*
号做为通配符。但不能使用空格或字符 , /, ?, ", <, >, |,如果有匹配到索引,上图匹配到8个索引,以后新建的索引可以正确匹配的也算,此时可以进入下一步:
这一步选择一个时间字段,当然也可以选择不用时间字段,点击右下角Create index pattern
按钮完成创建,回到Discover
界面,点击change
按钮选择刚刚创建的索引模式,就可以浏览索引中的数据了。
选择时间
Kibana7.5的时间选择控件更易用一些,但也要习惯一下:
最左边是时间选择控件,点击展开可以选择默认的条件和最近使用的时间,右边是两段式时间控件,可以分别选择开始时间与结束时间。
我们查看的日志型索引都是基于时间的,如果一上来没有数据,那可以看一下时间段是不是符合数据内容。
左边日期控件中的常用条件是可以配置的,比如最近版本都没昨天的选择项,可以到management->Advanced Settings
中,找到Time filter quick ranges
项,在适当位置增加
{
"from": "now/d-1d",
"to": "now/d-1d",
"display": "yesterday"
},
过滤数据
一般日志型的索引,比较少的使用全文检索,但也不是没,没有使用经验的人可能只会输入一段文字来进行检索,其实可以利用一些简单的查询语法,比如:
- api : 检索文档中包含
api
这个字符串的内容; - api and application :检索文档中同时包含
api
和application
两个词的内容 ; - api or application :检索文档中包含
api
或application
单词的内容; - not api :不包含
api
这个词的内容;
以上都是基于分词算法的。
点击搜索框下面的Add filter
按钮,可以按字段进行设置过滤,依据字段是文本还是数据可以进行以下的过滤计算:
文本:is、is not、is one of、is not one of 、exists、 does not exists
数字:基于文本类型之上增加了 is between、is not between。
见字知义,我就不多解释了,相信都可以自由运用。
配置视图中显示的字段
一般情况下视图上数据区显示两个字段:Time
和_source
,左边是选中字段和可用字段列表,把鼠标移到可用字段上,右边会出一个add
按钮,点击后,该字段移到选中字段中,数据区不再显示_source
字段,而是显示刚才选择的字段,可以选多个字段,在选中字段列表中,把鼠标移到字段上,右边会出现remove
按钮,点击后,字段会移到可用字段区,也从数据区字段列中消失。