• 对于注定会优秀的人来说,他所需要的,只是时间----博主
  • 手懒得,必受贫穷,手勤的,必得富足----《圣经》
  • 帮助别人,成就自己。愿君在本站能真正有所收获!
  • 如果你在本站中发现任何问题,欢迎留言指正!
  • 宝剑锋从磨砺出,梅花香自苦寒来!
  • 本站开启了防爆破关小黑屋机制,如果您是正常登录但被关进小黑屋,请联系站长解除!

<三>ELK-6.5.3学习笔记–kibana绘图实战

ELK eryajf 10个月前 (01-05) 4185°C 已收录 7个评论
本文预计阅读时间 9 分钟

我们在网上见过无数的展示elk最终dashboard的文章,却从来没有见过哪篇文章详细讲解了那些漂亮的dashboard是如何绘制出来的,这,叫人恨的牙根生疼,无奈,只好去啃官方文档,官方文档非常好,它详细地介绍了每一个环节的每一个概念,但是唯一的缺憾就是,它给你了一百个点,却没有给一条线,如果你的心态不好,或者理解力差一点,恐怕早就淹没在那100个点里边了,事实上,我也曾不止一次淹没在那里边。

这一次,算是苍天眷顾,在公司之前小伙伴做好的一个模板参考中,加之不懈钻研之下,总算将之啃下,晓知了其中精髓的万千之一二,恐怕再忘记,赶紧记录下来。

进入正题之前,可以先看一眼最终的效果图:

1,简单介绍。

点击可视化,选中创建一个视图,可以看到支持了很多种类型:

以下简单列出,对应跳转链接是官方文档:

2,从标签云开始看。

可能你对这些丰富的功能还不熟悉,对上边定义了那么多的字段该如何应用也不清楚,简直有一些无从下手,那么,不要着急,就先从创建一个标签云开始吧,从标签云出发,慢慢熟悉,先了解一下我们所创建的那些字段的意义吧。

事实上我个人在晕晕乎乎去摸索这些视图的时候,也是像无头苍蝇一样,不知哪里是哪里的,但当我在玩味标签云的时候,隐隐约约了解到了一些精髓,于是当即觉得,要入门画图行业,非先从标签云开始不可。

现在,正式进入体验之旅。

创建一个标签云的视图,会进入到索引选择界面:

选择我们定义了的nginx-access-这个索引,然后进行配置。

针对各个参数详细说明一下,这个地方的说明整理自官方文档,可能有点详细,容易看蒙,建议先跳过,等熟悉了之后,可以再回过头来深入理解。

  • Metrics:里边包含了不同的类型内容。
    • Count
      计数 聚合返回所选索引模式中元素的原始计数。
    • Average
      该聚合返回数字字段的平均值 。从下拉菜单中选择一个字段。
    • Sum
      总和 聚合返回数字字段的总和。从下拉菜单中选择一个字段。
    • Min
      最小值 聚合返回数字字段的最小值。从下拉菜单中选择一个字段。
    • Max
      最大值 聚合返回数字字段的最大值。从下拉菜单中选择一个字段。
    • Unique Count
      基数 聚合返回字段中唯一值的数量。从下拉菜单中选择一个字段。
  • Parent Pipeline Aggregations(父级管道聚合):就像使用父级管道聚合一样,您需要提供一个用于计算同级聚合的指标。除此之外,还需要提供一个桶聚合,它将定义同级聚合将在其中运行的桶。
    • Average Bucket
      桶平均值 计算同级聚合中指定指标的(中数)平均值
    • Sum Bucket
      桶总和 计算同级聚合中指定指标值的总和
    • Min Bucket
      桶最小值 计算同级聚合中指定指标的最小值
    • Max Bucket
      桶最大值 计算同级聚合中指定指标的最大值
  • Sibling Pipeline Aggregations(兄弟管道聚合):对于每个父管道聚合,您必须定义用于计算聚合的指标。这可能是您现有的指标之一或新的指标。
    • Cumulative Sum
      累计总和 聚合计算父直方图中指定指标的累计总和。
    • Moving Average
      移动平均值 聚合将动态移动数据窗口,生成该窗口数据的平均值。
    • Serial Diff
      串行差分 是一种时间序列中的值在不同时间滞后或周期内从自身减去的技术。

这个地方,我们就使用Count,下边的聚合当中,我们可以选择不同的字段,然后来通过右侧的显示效果,来理解字段所代表的意义。

因为是第一张图,所以详细说明下:

  • 1,上边已经说明的够详细了,选择count。
  • 2,唯一的选项,tags。
  • 3,选择我们自己定义的terms。
  • 4,随便选择其中的某一个字段,这里选择了agent.keyword。
  • 5,点击播放,可以在右侧看到配置效果。
  • 6,通过所显示的字段,大概可以明白,刚刚的agent.keyword所代表的意义是客户端类型。
  • 7,最下边是一些说明信息,可以在左侧的Custom Label当中填写以帮助理解。

接下来就再更换一下terms类型,然后了解不同的字段意义。这就是我所说的,从标签云开始,来理解每个字段的意义。

geoip.city_name.keyword:

xff.keyword:

还可以点点其他的,来画一些图,现在就把刚刚的访问地域那个保存下来,保存方法是:

3,客户端ip请求top。

创建一个数据表的视图–>度量依旧选择count–>Custom Label写入访问次数–>添加Split Rows–>聚合依旧选择terms–>字段选择xff.keyword(你的可能要选择clientip)–>下边Size填入10–>Custom Label写入访问IP。

然后点击播放,如此,一个前十请求的IP以及次数就都列出来了。

然后保存一下。

4,客户端类型top。

创建一个饼状图的视图–>度量依旧选择count–>Custom Label写入访问次数–>添加Split Slices–>聚合依旧选择terms–>字段选择agent.keyword–>下边Size填入10–>Custom Label写入客户端。

然后保存一下。

5,客户端IP切片。

创建一个饼状图的视图–>度量依旧选择count–>Custom Label写入访问次数–>添加Split Slices–>聚合依旧选择terms–>字段选择xff.keyword(你的可能要选择clientip)–>下边Size填入10–>Custom Label写入客户端。

这里看到其中一个-占了很大一部分,其实这个是自身的一些请求,不过可以通过配置将这部分过滤掉,方法是点击绿色部分–>然后在左侧标签栏排除即可,这一点是刚刚在配置过程中发现的,那么上边的几个视图也可以对不需要查看的部分进行过滤的配置。

如下是排除之后的效果:

这个地方还可以在左侧标签栏中的选线处,进行更细致的配置,选中显示标签,然后保存这个视图。

6,日志条数统计。

创建一个度量的视图–>度量依旧选择count–>Custom Label写入日志条数–>添加Split Group–>聚合依旧选择Date Range–>字段选择@timestamp–>其余默认即可。

注意,这个日志的条数显示依据,是根据上边时间戳显示的,所以目前这个数字是最近15分钟的日志条数,可以调整其他时间戳,然后看日志的条数。

7,网络流量监控。

创建一个面积图的视图–>度量选择Sum–>字段选择Size–>添加X-Axis–>聚合选择Date Histogram–>字段选择@timestamp–>Interval选择second。

8,异常状态码统计。

创建一个饼状图的视图–>度量依旧选择count–>Custom Label写入访问次数–>添加Split Slices–>聚合依旧选择terms–>字段选择status.keyword(你的可能要选择clientip)–>下边Size填入10–>Custom Label写入异常状态码–>右边选项当中选中显示标签。

9,将所有视图聚合。

接下来就可以进入到仪表盘界面,进行自由自在的绘图阶段了,上边的视图只是举了一些例子,还可以根据很多实际情况,绘制出许多的图,这里就不一一列举了。

最后展示一下刚刚制作的几个视图聚合在一起的样子吧:


weinxin
扫码订阅本站,第一时间获得更新
微信扫描二维码,订阅我们网站的动态,另外不定时发送WordPress小技巧,你可以随时退订,欢迎订阅哦~

二丫讲梵 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明<三>ELK-6.5.3学习笔记–kibana绘图实战
喜欢 (9)
[如果想支持本站,可支付宝赞助]
分享 (0)
eryajf
关于作者:
学无止境,我愿意无止境学。书山有路,我愿意举身投火,淬炼成金!

您必须 登录 才能发表评论!

(7)个小伙伴在吐槽
  1. pengge
    :grin: 优秀的 龍哥 !!!!
    鹏哥2019-01-07 14:07 Windows 10 | Chrome 70.0.3538.110
    • eryajf
      一开始想着把这篇文章加密什么的,后来又一想,还是倾情分享罢
      eryajf2019-01-07 14:21 Windows 7 | Chrome 70.0.3538.9
  2. 你好! 经常看你的博客,从Jenkins,到ELK,收货颇多,在细节的处理上,写的非常仔细。非常感谢无私的分享!!!这次看你的ELK博客,遇到2个问题,和你博客上的内容不一样。请教一下。我发您邮件了,非常感谢!!
    万里独行2019-08-01 11:36 Windows 10 | Chrome 75.0.3770.142
    • eryajf
      感谢一直的支持与肯定,我看了你的问题,也一直打算写一篇针对于这个问题的文章来着,只不过一直没有腾出大段的时候进行钻研,关于这个问题,初步估计你应该是踩坑了,建议你的先把索引的命令改成 logstash-xxxx,也就是以logstash开头,这样在kibana里边才能匹配到这个geo的字段,后边画地图热点的时候,也是需要注意这个地方的,你可以调整一下这个地方先尝试一下
      eryajf2019-08-01 11:42 Mac OS X | Chrome 75.0.3770.142
  3. 大神,一直没看明白xxf.keyword是怎么实现的,前2篇文章没看到有配置,我的也是6.x版本,就没有这些自定义的keyword,麻烦大神解答下
    wzxing212019-10-17 16:14 Windows 7 | Chrome 75.0.3770.90