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
Kibana5 数据探索使用(Discover功能)的更多相关文章
- Kaggle:Home Credit Default Risk 数据探索及可视化(1)
最近博主在做个 kaggle 竞赛,有个 Kernel 的数据探索分析非常值得借鉴,博主也学习了一波操作,搬运过来借鉴,原链接如下: https://www.kaggle.com/willkoehrs ...
- 苏宁基于Spark Streaming的实时日志分析系统实践 Spark Streaming 在数据平台日志解析功能的应用
https://mp.weixin.qq.com/s/KPTM02-ICt72_7ZdRZIHBA 苏宁基于Spark Streaming的实时日志分析系统实践 原创: AI+落地实践 AI前线 20 ...
- discover功能--自动发现主机
discover功能,让监控的管理更加管理和自动化,现在来演示下如何使用discover功能自动发现主机 1.配置discover 2.在被侦测机上安装zabbix agent 安装完成后,修改配置( ...
- postgresql-分页重复数据探索
# postgresql-分页重复数据探索 ## 问题背景 许多开发和测试人员都可能遇到过列表的数据翻下一页的时候显示了上一页的数据,也就是翻页会有重复的数据. ### 如何处理? 这个问题出现的原因 ...
- python数据探索
数据质量分析 脏数据包括:缺失值:异常值:不一致的值:重复数据及含有特殊符号的数据: 1.缺失值处理 统计缺失率,缺失数 2.异常值处理 (1)简单统计量分析 (2)3Q原则 正态分布情况下,小概率事 ...
- 数据挖掘(二)用python实现数据探索:汇总统计和可视化
今天我们来讲一讲有关数据探索的问题.其实这个概念还蛮容易理解的,就是我们刚拿到数据之后对数据进行的一个探索的过程,旨在了解数据的属性与分布,发现数据一些明显的规律,这样的话一方面有助于我们进行数据预处 ...
- oracle sqlldr使用(导入速度快,但对数据本身的处理功能弱)
oracle sqlldr使用(导入速度快,但对数据本身的处理功能弱) 博客分类: DB.Oracle OracleSQL sqlload.cmd pause sqlldr user/pass@tn ...
- 利用python进行泰坦尼克生存预测——数据探索分析
最近一直断断续续的做这个泰坦尼克生存预测模型的练习,这个kaggle的竞赛题,网上有很多人都分享过,而且都很成熟,也有些写的非常详细,我主要是在牛人们的基础上,按照数据挖掘流程梳理思路,然后通过练习每 ...
- 雷林鹏分享:jQuery EasyUI 数据网格 - 添加查询功能
jQuery EasyUI 数据网格 - 添加查询功能 本实例演示如何从数据库得到数据,并将它们显示在数据网格(datagrid)中.然后演示如何根据用户输入的搜索关键词搜寻显示结果. 创建数据网格( ...
随机推荐
- 数据结构与算法1-2 C语言运行时间检测算法
#include <stdio.h> #include <math.h> #include <time.h> clock_t start,stop; #define ...
- Java IO学习笔记六
打印流 在整个IO包中,打印流是输出信息最方便的类,主要包含字节打印流(PrintStream)和字符打印流(PrintWrite).打印流提供了非常方便的打印功能,可以打印任何的数据类型,例如:小数 ...
- python 标准库 -- shutil
shutil shutil.move(src,dst) shutil.move('/tmp/20170223/new','/tmp/20170223/test') # 移动文件, 重命名等 shuti ...
- java 二叉树实现
//二叉树,有左子数,右子树,小的值放到左边,大的值放到右边,左边有树的话继续这个过程,(以下为代部分,赋值的时候采用了递归的方式) package liaobiao;class BiTree{ pr ...
- 《HelloGitHub》第 15 期
公告 这段时间没怎么写文章,跑去写 https://hellogithub.com 这个网站了,现在已经顺利上线,功能后面会持续迭代. 最后,这个 https://hellogithub.com 网站 ...
- 微信js-sdk接口的使用及ios深坑
最近再做微信公众号开发,涉及到手机上传图片和拍照的功能. 思路一:使用<input type="file" name="pic" id="pic ...
- eclipse 和 jdk的位数不同
如果eclipse 和 jdk的位数不同,如一个64Bit一个32位,不需要修改环境变量,只需要在eclipse根目录的eclipse.ini文件中第一行加入:-vmD:\Program Files\ ...
- thinkphp之获取客户端IP地址
/** * 获取客户端IP地址 * @param integer $type 返回类型 0 返回IP地址 1 返回IPV4地址数字 * @return mixed */ function get_cl ...
- smarty获取变量的两种方式
从上一篇随笔中,我们知道smarty可以通过assign()的方法注册变量,从而在前段读取变量:我们也可以从配置文件中获取变量,来具体看一下: 1.在configs文件夹中建一个test.conf文件 ...
- 【Android Developers Training】 26. 在SQL数据库中保存数据
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...