程序员技术栈

07_Kibana可视化与Dashboard制作

2020-03-18  本文已影响0人  地学小哥

内容简介:书接上文,前两节我们通过可视化地震活动介绍了Kibana这套工具,然后有接着讨论了ES文本型数据库和ELK三剑客的能力,但是没有更详细的交代,如何制作可视化面板/仪表盘和进行分享,今天我们专门设置一节课,来讲讲Kibana的仪表盘制作方法。

1、Kibana的功能介绍

当你把数据存入Elasticsearch之后,如何通过可视化方法还原和分析数据背后的故事,这就是Kibana需要帮您做的。Kibana的设计目标是让用户可以自由地选择如何呈现自己的数据。

图1 Kibana登陆后的功能界面

其实,在Kibana中不只是,数据的可视化,还具有管理ES后台索引库等能力(图1)。前文说了最常用的可视化仪表盘两个功能,下面说明再介绍一下其它的几个常用功能。

Discover/发现
通过 Discover,可以方便使用 Kibana 中的数据发现功能来探索自己的数据。

通过KQL功能,可以访问每个索引中与所选索引模式相匹配的每份文档。包括:提交搜索查询,筛选搜索结果,并查看文档数据。

当然,还可以查看符合搜索查询条件的文档数量,并获得有关字段值的统计数据。如果针对所选的索引模式配置了时间字段,则在页面顶部会以直方图显示一段时间内的文档分布情况。

图2 检索查询发现功能

如果查询设计好,符合要求,可以直接保存方便以后使用。别小看这个工具,当你不熟悉DSL语法的时候,它非常有用呦!

Uptime/运行时间

与开源 Heartbeat工具协作,可以完成诸如:看看服务器运行状态,API接口是否正常这些基础工作。可以将日志、指标和 APM 提供的丰富上下文信息结合在一起,实现连点成线,确定活动之间的联系,并快速解决问题。

Heartbeat 是一个轻量型守护进程,您可以将其安装在远程服务器上来定期检查服务状态并确定它们是否可用。

Heartbeat 会采集服务器数据,这些数据随后会在 Kibana 中的 Uptime 仪表板和应用中进行展示,配置好的效果如图3所示。

图3 配置好的Uptime效果

Kibana 中的 Uptime 应用设计用于帮助您快速识别和诊断网络/环境中的异常状况和其他连接问题。通过这个实用界面,轻松监测主机、服务、网站、API 等等。

更多协议的监控配置可参考:

# heartbeat.yml
heartbeat.monitors:
- type: icmp
  schedule: '*/5 * * * * * *'
  hosts: ["myhost"]
- type: tcp
  schedule: '@every 5s'
  hosts: ["myhost:7"]  # default TCP Echo Protocol
  check.send: "Check"
  check.receive: "Check"
- type: http
  schedule: '@every 5s'
  urls: ["http://localhost:80/service/status"]
  check.response.status: 200
heartbeat.scheduler:
  limit: 10

Console/开发工具

Console 是 Kibana 中的一项开发工具,您在其中能够以类似 cURL 的语法来编辑请求并发送到 Elasticsearch,并随后查看对您的请求的响应。

图4 Console调试界面

这个用于调试ES命令非常有用,直接可以看到返回结果。

2、仪表盘集成方法

仪表盘(dashboard)可以被看成是一系列可视化组对象、搜索和地图等要展示对象的容器。在仪表盘中,不但可以提供给用户以常规的方式监测各种系统的运行指标,还可以通过数据钻取等技术,进一步允许用户分析数据。

主要步骤:

1、准备工作:仪表盘一般有多个展示可视化的图表组合而成,先通过可视化工具设置好各个可视化对象;

2、创建一个可视化仪表盘,如图5,仪表盘就是用来摆放可视化对象的容器,当然首先要创建一个;

图5 创建仪表盘

3、添加面板:创建完仪表盘后,内容是空的,点击“添加”找到合适的Panel(包括在Discover中的查询、可视化中已创建的内容,都可以加进来),我们加了两个对象,效果如下:

图6 添加内容到仪表盘

3、发布与共享可视化仪表盘

当设计好一个可视化仪表盘,kibana允许将这个结果嵌入到已有的web应用中,方法是点击图7中的共享。

图7 共享可视化仪表盘

允许两种方式,嵌入到一个以后的web应用中:

1、iframe嵌入代码方式:

<iframe src="http://10.2.14.251:5601/app/kibana#/dashboard?embed=true&_g=()&_a=(description:'',filters:!(),fullScreenMode:!f,options:(hidePanelTitles:!f,useMargins:!t),panels:!((embeddableConfig:(),gridData:(h:15,i:'986f0f83-ef2f-41a4-bd92-a2b7c6125ff4',w:24,x:0,y:0),id:'4b82c1a0-68f8-11ea-96ce-856106b86fad',panelIndex:'986f0f83-ef2f-41a4-bd92-a2b7c6125ff4',type:search,version:'7.4.2'),(embeddableConfig:(),gridData:(h:15,i:'3d2eb716-20dd-4664-8ccd-a840f2d99cc6',w:24,x:24,y:0),id:Earthquake-Title,panelIndex:'3d2eb716-20dd-4664-8ccd-a840f2d99cc6',type:visualization,version:'7.4.2')),query:(language:kuery,query:''),timeRestore:!f,title:%E6%96%B0%E5%BB%BA%E4%BB%AA%E8%A1%A8%E6%9D%BF,viewMode:edit)" height="600" width="800"></iframe>

2、固定链接方式:

http://10.2.14.251:5601/app/kibana#/dashboard?_g=()&_a=(description:'',filters:!(),fullScreenMode:!f,options:(hidePanelTitles:!f,useMargins:!t),panels:!((embeddableConfig:(),gridData:(h:15,i:'986f0f83-ef2f-41a4-bd92-a2b7c6125ff4',w:24,x:0,y:0),id:'4b82c1a0-68f8-11ea-96ce-856106b86fad',panelIndex:'986f0f83-ef2f-41a4-bd92-a2b7c6125ff4',type:search,version:'7.4.2'),(embeddableConfig:(),gridData:(h:15,i:'3d2eb716-20dd-4664-8ccd-a840f2d99cc6',w:24,x:24,y:0),id:Earthquake-Title,panelIndex:'3d2eb716-20dd-4664-8ccd-a840f2d99cc6',type:visualization,version:'7.4.2')),query:(language:kuery,query:''),timeRestore:!f,title:%E6%96%B0%E5%BB%BA%E4%BB%AA%E8%A1%A8%E6%9D%BF,viewMode:edit)

以上就是Kibana中,创建仪表盘的简化步骤,具体都需要你亲自动手体会,如果是地震系统内的用户们,可以直接通过上面我们已经配置好的10.*内网地址来访问呦!

一句话总结:可能有人会发现,为什么我们介绍的功能有点少,而网上有些资料图片上功能更多,我的回答是,因为我们这里只介绍免费License下的功能啦,如果您要订阅了不同级别的授权,更多你可能都想不到的功能在等着你喽!

上一篇 下一篇

猜你喜欢

热点阅读