日志查询神器 Kibana简单使用

简介

Kibana是通向 Elastic 产品集的窗口。 它可以在 Elasticsearch 中对数据进行视觉探索和实时分析。

Kibana通常用于项目log日志收集分析、数据可视化分析等。

一、【Discover】搜索查询

Discover模块用于全文搜索文档(doucument),支持索引筛选、时间筛选、字段筛选、支持将查询结果分享、保存筛选结果等。如图所示。

1.时间过滤

时间过滤既按照时间范围查询document内容,如查询最近一个小时、最近一天、当天的数据等。也支持具体的时间范围查询(精确到毫秒)。
1).Time Range范围查询


如图所示Time Range范围查询提供
Quick快速查询:查询当天、当月、最近的某段时间范围内的查询,提供便捷操作;
Relative相对查询:查询某段时间查询,例:查询 10分钟之前-到5分支之前的数据;
Absolute绝对查询:查询指定的某个时间段的数据(精确到毫秒);
Recent:最近使用的查询条件。

2).Auto-Refresh定时刷新查询

2.条件搜索

条件查询Kibana支持两种方式查询。
1).通过Add Filter 按钮添加过滤条件查询如下所示。

也可手动编辑DSL实现查询。
详见https://www.elastic.co/guide/en/elasticsearch/reference/6.4/query-dsl.html这种方式使用相对复杂,通过Kibana查询不建议使用此方式查询。
2)通过Search输入框搜索

  • 直接输入文本字符串来进行简单文本搜索。例如,查询服务日志的时候输入 关键词word来搜索所有字段中包含词条 word的文档结果。
  • 可以用字段名作为前缀来根据指定字段进行搜索。例如,输入 message:"服务层" 来搜索字段 message中包含词条服务层的文档。
  • 可以通过中括号指定范围搜索, [START_VALUE TO END_VALUE] 。例如,搜索状态为 4xx 的条目,您可以输入 status:[400 TO 499]
  • 您可以通过布尔操作符 ANDORNOT 来指定更多的搜索条件(注意:这AND、OR、NOT必须大写)。例如,搜索message包含服务层关键词并且日志级别为INFO的条目,您可以输入 message:"服务层" AND level:"INFO"。
  • 通过字段名作为前缀搜索时,匹配值支持正则表达式匹配例如 查询标题包含昆山的所有文档。

    示例:查询调用三方服务返回Json Data 状态码 Code 非 0 非200的所有请求日志

NOT message:"code\":+(200)" NOT  message:"code\":+(0)" AND message:"code\":"


更多查询方式详见
https://www.elastic.co/guide/en/elasticsearch/reference/6.0/query-dsl-query-string-query.html#query-string-syntax
DSL查询详见
https://www.elastic.co/guide/en/elasticsearch/reference/6.0/query-dsl.html

3.结果字段过滤

当我们搜索到想要的文档(document)结果时,如果只想关注其中某几个字段的时候,就可以在左侧字段列表选择查看的字段,点击 Add按钮即可,例如如下 只查看日志几倍 leval和具体 message 字段值。

也可以为添加的字段进行添加Filter过滤器,进行二次筛选,如下(将鼠标移动到对应的字段上点击 + / - 进行筛选或排除)。

3.Button Tool Bar

ToolBar工具按钮包含

  • New: 新建查询页。
  • Save: 保存查询条件,保存后可用于后期生成制作图形统计面板。
  • Open: 打开一个已经保存过的查询条件。
  • Share: 可以将复杂的Url查询生成短链接分享给别人。

二、【Visualize】可视化

1、简介

可视化 (Visualize) 功能可以为您的 Elasticsearch 数据创建可视化控件。然后,您就可以创建仪表板将这些可视化控件整合到一起展示。

Kibana 可视化控件基于 Elasticsearch 的查询。利用一系列的 Elasticsearch 查询聚合功能来提取和处理数据,您可以通过创建图表的方式来呈现您关心的数据分布和趋势。
Visualize可视化组件包含Basic Charts(基本图表)、Data(数据图表)、Maps(区域图表)、Time Series(时间序列)、Other(其他)五大类组件,其中每个分类又包含N多个具体的Charts。
  1. Basic Charts
    1. Area 面积图
    2. Heat Map 渐变图
    3. Horizontal Bar 水平柱形图
    4. Line 折现图
    5. Pip 饼状图
    6. Vertical Bar 垂直柱形图有
  2. Data
    1. Data Table 表格
    2. Gauge 仪表图
    3. Goal 仪表图(百分比显示)
    4. Metric 显示单个数字
  3. Maps
    1. Coordinate Map
    2. Region Map
  4. Time Series
    1. Timelion 计算和合并来自多个时间序列数据集
    2. Visual Bulder 使用管道聚合显示时间序列数据
  5. Other
    1. Controls
    2. Markdown 显示自由格式信息或说明
    3. Tag Cloud 显示标签云,每个标签的字体大小表示其重要性。
    4. Vega

2、线性图、区域图、图形图

线形图,区域图和条形图允许您在 X/Y 轴上绘制数据。绘制数据之前首先需要明确X轴Y轴的数据指标是什么,只有确定了XY轴指标之后才能进行绘制。下边我以Vertical Bar(垂直柱形图)为例。

Y-Axis:Y轴数据指标定义;
Aggregation(聚合指标):

  1. Count:计数聚合返回所选索引模式中元素的原始计数;
  2. Average:平均值;
  3. Sum:求和;
  4. Min:最小值;
  5. Max:最大值;
  6. Percentiles(字段类型必须为number类型):百分数 聚合将数字字段中的值分成你指定的百分数区间。
  7. Percentile Rank : 百分位等级 聚合返回指定的数值字段中的值的百分位等级。
  8. 父级管道聚合
    1. Cumulative Sum:累计总和 聚合计算父直方图中指定指标的累计总和。
    2. Moving Average:移动平均值 聚合将动态移动数据窗口,生成该窗口数据的平均值。
    3. Serial Diff:串行差分 是一种时间序列中的值在不同时间滞后或周期内从自身减去的技术。
  9. 兄弟管道聚合:
    1. Min Bucket:桶最小值 计算同级聚合中指定指标的最小值
    2. Max Bucket:桶最大值 计算同级聚合中指定指标的最大值
      Custom Label:输入域中输入字符串以更改显示标签。
      X-Axis:X轴数据指标定义;
      Aggregation(聚合指标):
  10. Date Histogram:日期直方图是从数值字段构建并按日期渲染数据,您可以以秒、分钟、小时、天、周、月或年为单位指定时间间隔。您还可以通过选择 Custom 作为间隔并在文本域中输入数字和时间单位来指定自定义时间间隔。自定义间隔时间单位 s 为秒, m 为分钟, h 为小时, d 为天, w 为周, y为年。不同的单位支持不同级别的精度,低至一秒。
  11. Histogram:直方图是从数字字段构建的,可按照整数构建范围。
  12. Range:通过 范围聚合,您可以为数字字段指定值的范围。
  13. Date Range:日期范围聚合报告在您指定的日期范围内的值。
  14. Terms:词条 聚合使您可以指定要显示的给定字段的顶部或底部 n 个元素,按数量或自定义指标进行排序。
  15. IPv4 Range:IP地址范围;
  16. Filters:指定一组过滤器;
    Custom Label: 输入域中输入字符串以更改显示标签。
    一旦您指定了 X 轴聚合,您可以定义子聚合来优化可视化。单击 + Add Sub Aggregation 定义子聚合,然后选择 Split Area 或 Split Chart ,然后从类型列表中选择一个子聚合。
    点击 Advanced 可以查看更多筛选项。
    Exclude Pattern:在此输入域中指定一个模式以从结果中排除
    Include Pattern:在此输入域中指定一个模式以包含在结果中
    JSON Input:一个文本域,您可以在其中添加特定的 JSON 格式的属性以与聚合定义合并,例:{ "script" : "doc['grade'].value * 1.2" }
    Metrics & Axes
    选择 Metrics & Axes 选项卡可以更改图表上每个单独的指标的显示方式。数据系列在 指标 部分中进行样式设置,而轴在 X 和 Y 轴部分进行样式设置。
    Metrics :
  17. Chart type: 图表类型 在 Area 、 Line 和 Bar 类型之间进行选择。
  18. Mode:堆叠不同的指标,彼此间的展示方式、相邻活叠加方式。
  19. Line mode:线条或柱条的轮廓是否应该是 smooth(平滑) 、 smooth(笔直) 、或 stepped(阶梯) 的。
  20. Value Axis:选择要绘制此数据的轴(每个属性在 Y 轴下配置)。
    Y-Axes:Y轴配置
  21. Show:是否显示Y轴
  22. Title:展示的标题、标签
  23. Mode:展示的方式
  24. Scale Type:数值的缩放( linear 、 log 或 square root )
  25. Show Advanced Options更多配置
    1. Show Labels:隐藏活展示标签值
    2. Rotate:标签值的展示方式、水平、垂直、倾斜展示
    3. Labels - Filter Labels:如果启用了标签过滤,则在没有足够空间显示它们的情况下,会隐藏一些标签
      X-Axes:X轴配置
  26. Show:隐藏活显示X轴
  27. Position:X轴展示位置,上、下、左、右。
  28. Advanced Options更多选项
    1. Show Labels:隐藏活展示标签值
    2. Rotate:标签值的展示方式、水平、垂直、倾斜展示
    3. Labels - Filter Labels:如果启用了标签过滤,则在没有足够空间显示它们的情况下,会隐藏一些标签
      Panel Settings面板设置:
  29. Legend Position:说明展示位置,上、下、左、右。
  30. X-Axis Lines:显示或隐藏X轴网格线。
  31. Y-Axis Lines:显示或隐藏Y轴网格线。

    到此绘制图形的基本使用就没有了,剩下的创建图表、图形图折线图基本就大同小异。这里就不一一介绍了。

3、Markdown控件

Markdown 控件是一个文本输入字段,支持 Github 风格的 Markdown 文本。Kibana 会渲染输入到该字段的文本,并把结果展示在仪表板上。
语法教程参见:
https://www.runoob.com/markdown/md-tutorial.html

4、时间序列可视化生成器

时间序列可视化生成器是一个时间序列数据可视化工具,重点在于允许您使用 Elasticsearch 聚合框架的全部功能。时间序列可视化生成器允许您组合无限数量的聚合和管道聚合,以有意义的方式显示复杂的数据。

每个时间序列可视化生成器又包含5个子可视化页面

  • Time Series 时间折线图
  • Metric 数字视图
  • Top N 前N向
  • Gauge 仪表视图
  • Markdown 文档视图
  • Table 表格视图
    每个子可视化的用户界面由 Data 标签页和 Pannel Options 组成。唯一例外的是时间序列和 Markdown 可视化,时间序列具有用于 Annotations 的第三个标签页,Markdown 具有用于编辑器的第三个标签页。
    Data标签页

    1.序列标签和颜色
    每个序列都支持一个标签,该标签将用于图例和标题,具体取决于所选的可视化类型

    2.聚合指标Aggregation
    同可视化聚合指标类似,包含常用的sum、count、等。Feild 指标字段。
    3.Group By 分组控件
    在指标的底部有一组“分组依据”控件,允许您指定该序列应该如何分组或拆分。有四种选择:
  • Terms(字段)
  • Filter(单个过滤器)
  • Filters(多个过滤器、可指定颜色)
  • Everything(所有)
    4.Top 显示前N个数据。
    5.Order By 按照某字段排序
    Pannel Options 标签页

    Annotations标签页
    Annotations注解标签页用于将注解数据源添加到时间序列可视化中。您可以配置以下选项:
  • 索引模式和时间字段
  • 注解颜色
  • 注解图标
  • 包含在消息中的字段
  • 消息的格式
  • 面板和全局级别的过滤选项


三、【Dashboards】仪表盘

Kibana 仪表板(Dashboard) 展示保存的可视化结果集合。
示例如下:

1.创建仪表盘

创建仪表板相对比较容易,选择左侧的*Dashboard ,然后点击Create new dashboard即可创建一个新的仪表盘面板,之后点击Add,添加一个多多个已经创建好的可视化视图(Visualize)即可完成仪表盘的创建。

操作

Sava:保存仪表盘;
Cancel:取消编辑;

Options:选项

  1. Use dark theme 使用黑色主题;
  2. Use margins between pannels;
  3. Hide all panel titles 隐藏全部标题;

2.分享仪表盘

点击Share分享仪表盘,可以生成分享的短链接,也可以生成ifream嵌入其他网页中进行可视化展示;

四、【Timelion】

参考

https://www.elastic.co/guide/en/kibana/6.8/introduction.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,524评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,869评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,813评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,210评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,085评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,117评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,533评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,219评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,487评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,582评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,362评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,218评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,589评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,899评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,176评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,503评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,707评论 2 335

推荐阅读更多精彩内容