kibana通常是作为ELK日志收集方案的一个组件,主要负责显示elasticsearch中的数据。 关于ELK的安装和配置,本文不做说明,因为这是一套很成熟的方案,网上能找到很多教程。 下面直接开始做日志收集。
kibana实时分析日志
显示数据
首先需要创建索引,我存在elasticsearch中的索引是以docker开通,所以我的配置的索引就是docker*,*是通配符

创建索引完成以后,可以在discover查询到索引中的数据

筛选数据
字段显示
日志默认显示time字段和source字段(包含全部字段信息),可以通过左侧的将 available fields中的字段添加到selected fields中,进行字段的筛选显示

时间搜索
默认显示最近十五分钟的日志,如需要查询其他时间段的日志,可以通过右上角选择时间。 系统提供了如15分钟,30分钟,1天,1星期等快速选择,还可以通过自己定义具体的时间段和时间点进行查询。

过滤查询
单项term查询
例: 搜 Dahlen, Malone 字段field查询 field:value 例:city:Keyport, age:26
通配符
? 匹配单个字符 例: H?bbs
* 匹配0到多个字符
例: H*
注意: ? * 不能用作第一个字符,例如: ?text *text
范围查询
age:[20 TO 30] age:{20 TO 30} 注:[ ] 表示端点数值包含在范围内,{ } 表示端点数值不包含在范围内
逻辑操作
AND OR 例子:firstname:H* AND age:20 firstname:H* OR age:20
+ :搜索结果中必须包含此项
- :不能含有此项
例: +firstname:H* -age:20 city:H*
firstname字段结果中必须存在H开头的,不能有年龄是20的,city字段H开头的可有可无
分组
(firstname:H* OR age:20) AND state:KS 先查询名字H开头年龄或者是20的结果,然后再与国家是KS的结合
字段分组
firstname:(+H* -He*) 搜索firstname字段里H开头的结果,并且排除firstname里He开头的结果
转义特殊字符
+ - && || ! () {} [] ^" ~ * ? :
注意:以上字符当作值搜索的时候需要用 \ 转义
kibana挖掘日志
制作图表
首先要匹配出用户登录的日志,可以使用tomcat的access日志,也可以使用其他字段。
过滤数据
- 在discover中右上角,新建过滤项。
- 搜索框填入 province:jx AND service:epg AND channel:gd AND login.jsp(按个人需求来配置)
- 将会匹配出江西广电健身团EPG服务日志中包含login.jsp的日志。
- 保存过滤项

绘制图表
- 点击vsualize,点击添加图标。
- 选择图表类型,包括折线图,饼图,柱形图等。(这里我选的柱形图)。
- 选择刚刚创建的过滤项。
- 设置y坐标
- 设置x坐标
- 点击运行查看效果
- 保存图表


制作仪表板
- 新建仪表板
- 添加图表或者搜索项
- 保存仪表盘





