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)中.然后演示如何根据用户输入的搜索关键词搜寻显示结果. 创建数据网格( ...
随机推荐
- 快来领取一场专门讲解UTF-8与UTF-16编码算法的GitChat活动的免费名额
微信扫一扫,可打开该GitChat活动页面 字符编码是计算机世界里最基础.最重要.最令人困惑的一个主题之一.不过,在计算机教材中却往往浮光掠影般地草草带过,甚至连一本专门进行深入介绍的专著都找不到(对 ...
- Android 图片加载框架Glide4.0源码完全解析(一)
写在之前 上一篇博文写的是Picasso基本使用和源码完全解析,Picasso的源码阅读起来还是很顺畅的,然后就想到Glide框架,网上大家也都推荐使用这个框架用来加载图片,正好我目前的写作目标也是分 ...
- WPF MVVM 架构 Step By Step(4)(添加bindings - 完全去掉后台代码)
之前的改进已经挺棒的,但是我们现在知道了后台代码的问题,那是否可能把后台代码全部去除呢?这时候就该WPF binding 和 commands 来做的事情了. WPF就是以超吊的binding,com ...
- [转] (CQRS)命令和查询责任分离架构模式(一) 之 什么是CQRS
什么是CQRS? 这个问题网上可以找到很多资料,未接触过的童鞋请先查看Udi Dahan, Grey Young, Rinat Abdullin,园子里dax.net,以及Jdon社区上的相关文章. ...
- 还原SQL SERVER系统库
还原SQL SERVER系统库 共需还原三个系统库,还原顺序:master>msdb>model 还原master (1).数据库配置管理器->数据库服务属性->启动参数-&g ...
- 各开放平台API接口通用 SDK 前言
最近两年一直在做API接口相关的工作,在平时工作中以及网上看到很多刚接触API接口调用的新人一开始会感到很不适应,包括自己刚开始做API接口调用的相关工作时,也是比较抓狂的,所有写一序列文章把之前的工 ...
- c#中foreach的一种用法
以下定义的MyClass类中的addnum方法使用了一个数组型参数b: public class MyClass { ; public void addnum(ref int sum, params ...
- Java注解--实现动态数据源切换
当一个项目中有多个数据源(也可以是主从库)的时候,我们可以利用注解在mapper接口上标注数据源,从而来实现多个数据源在运行时的动态切换. 实现原理 在Spring 2.0.1中引入了Abstract ...
- mysql查看数据表索引信息
查看索引 mysql> show index from tblname; mysql> show keys from tblname; · Table 表的名称. · Non_unique ...
- 遇到attemp to invoke virtual method
这个很大原因是没有预先初始化sdk,检查application的配置是否配置了application:name