Kibana5 数据探索使用(Discover功能)
认识Kibana
Kibana 是一个为 Logstash 和 ElasticSearch 提供的日志分析的 Web 接口。可使用它对日志进行高效的搜索、可视化、分析等各种操作。Kibana的使用场景主要集中在两方面:
- 实时监控。通过histogram面板,配合不同条件的多个queries可以对一个事件走很多个维度组合出不同的时间序列走势。时间序列数据是最常见的监控报警了。
- 问题分析。通过Kibana的交互式界面可以很快地将异常时间或者事件范围缩小到秒级或者个位数。期望一个完美的系统可以给你自动找到问题并且解决是不现实的,能够让你两三下就从TB级的数据里看到关键数据以便做出判断就很棒了。这时候,一些非histogram的其他面板还可能会体现出你意想不到的价值。全局状态下看似很普通的结果,可能在你锁定某个范围的时候发生剧烈的反方向的变化,这时候你就能从这个维度去重点排查。而表格面板则直观的显示出你最关心的字段,加上排序等功能。入库前字段切分好,对于排错分析真的至关重要。
使用Kibana
这里默认Kibana5已经安装部署完毕。预览图如下:
Kibana连接Elasticsearch
在开始使用Kibana之前,你需要告诉它打算探索哪个ElasticSearch索引。第一次访问的时候,你会被要求定义一个index pattern用来匹配一个或多个索引。
1、点击工具栏中的Management --> 选择index patterns --> 点击add new 按钮。默认情况下,Kibana认为你要访问的是通过Logstash导入ElasticSearch的数据。这时候你可以用默认的logstash-*作为你的index pattern。通配符(*)匹配索引名中零到多个字符。这里我写的index pattern为logs-bd-keyword*。
2、然后选择一个包含了时间戳的索引字段,可以用来做基于时间的处理。Kibana会读取索引的映射,然后列出所有包含了时间戳的字段(实际是字段类型为date的字段,而不是"看起来像时间戳的字段")。如果你的索引没有基于时间的数据,关闭Index contains time-based envents参数。
3、点击create之后,第一个被添加的pattern会自动被设置成默认值。如果有多个index pattern的时候,可以在Discover索引模式里选择一个进行探索数据。
探索数据(Discover功能)
- 设置时间过滤器
时间过滤器的作用是把搜索结果限制在一个特定的周期内。可以选择quick时间、relative相对时间、absolute绝对时间来进行过滤。也可以在直方图上设置时间过滤器:想要放大那个时间间隔,点击相应的柱体;单机并拖曳一个时间区域。注意需要等到光标变成加号,才意味着这是一个有效的起始点。可以用浏览器的后退键来回退你的操作。
- 搜索数据
在Discover页提交一个搜索,你就可以搜索匹配当前索引模式的索引数据了。支持Lucene query syntax,也可以用完整的基于JSON的Query DSL。显示结果的文档表格显示前500个匹配文档。最新的文档最先显示。你也可以保存(save)常用的搜索条件或使用(open)之前保存的搜索条件。new则是新建一个查询。下面是几个示例:
a) 简单的文本搜索,直接输入文本字符串。比如,如果你在搜索网站服务器日志,可以输入Safari来搜索各字段中的Safari单词。
b) 要搜索特定字段中的值,则在值前加上字段名。比如,你可以输入status:200来限制搜索结果都是在status字段里有200的内容。
c) 要搜索一个值的范围,你可以用范围查询语法。比如,要查找4xx的状态码,你可以输入status:[400 TO 499]。
d) 要指定更负责的搜索标准,可以用布尔操作符AND,OR,和NOT。比如要查找4xx的状态码,还是php和html结尾的数据,你可以输入status:[400 TO 499] AND (extension:php OR extension:html)。
- 按字段过滤
你可以过滤搜索结果,只显示在某字段中包含了特定值的文档。也可以创建反向过滤器,排除包含特定字段值的文档。比如存在字段字段为responsetime,现在对该字段进行过滤,可以选择字段并点击add:
如果想要移除,remove该字段即可:
下面再举一个添加过滤器的例子,每个字段下面默认会显示次数前5的值,比如添加字段localip的值为10.205.51.20的过滤器,只要点击+号的按钮即可,结果只显示包含该localip为10.205.51.20的文档;同样地反向过滤可以点击-号:
如果想要移除,点击删除符号即可
参考资料
《ELK stack权威指南》
https://www.elastic.co/guide/en/kibana/5.1/index.html
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(三):用.NET IoT库
· 【非技术】说说2024年我都干了些啥