1、Kibana介绍
Kibana是一个开源的分析与可视化平台,设计出来用于和Elasticsearch一起使用的。你可以用kibana搜索、查看存放在Elasticsearch中的数据。Kibana与Elasticsearch的交互方式是各种不同的图表、表格、地图等,直观的展示数据,从而达到高级的数据分析与可视化的目的。
Elasticsearch、Logstash和Kibana这三个技术就是我们常说的ELK技术栈,可以说这三个技术的组合是大数据领域中一个很巧妙的设计。一种很典型的MVC思想,模型持久层,视图层和控制层。Logstash担任控制层的角色,负责搜集和过滤数据。Elasticsearch担任数据持久层的角色,负责储存数据。而我们这章的主题Kibana担任视图层角色,拥有各种维度的查询和分析,并使用图形化的界面展示存放在Elasticsearch中的数据。
2、Kibana安装
Kibana下载地址如下:
https://www.elastic.co/downloads/kibana
以上地址为Kibana官网下载的地址,目前最新版为6.3.2,Kibana版本和Elasticsearch版本同步更新,所以我们最好使用一致的版本,而我们Elasticsearch使用的版本是6.2.4,所以我们Kibana也需要下载6.2.4。
把Kibana的安装包上传到Linux并解压,进入bin目录可以看到有个名字为Kibana的脚本,该脚本就是启动Kibana的脚本程序,直接执行即可运行Kibana实例:
$ ./kibana
kibana默认的端口是5601,给Linux防火墙打开5601的端口后,在另一台windows系统的主机中的浏览器访问Kibana,发现无法访问,原因是因为Kibana默认情况下只能给本机访问,不能远程访问,如果想要远程访问Kibana服务,则需要修改配置文件,那接下来我们看看Kibana有哪些关键的配置。
3、Kibana配置
Kibana的配置文件在kibana/config目录中,文件名为kibana.yml。我们使用vi编辑器打开后可以看到,该文件所有的配置都是注释掉的,说明所有的配置都是使用默认的,那如果我们需要修改这些默认的配置,就需要找到对应的配置属性,注释解开,然后填写我们自己想要的值。
1、服务的端口配置:
属性名为:server.port
默认是5601
2、允许远程访问的地址配置:
属性名为:server.host
默认为本机,如果我们需要把Kibana服务给远程主机访问,只需要在这个配置中填写远程的那台主机的ip地址,那如果我们希望所有的远程主机都能访问,那就填写0.0.0.0
3、连接Elasticsearch服务配置
属性名为:elasticsearch.url
默认为连接到本机的elasticsearch,并且端口为9200,也就是为localhost:9200,如果我们Elasticsearch不是与Kibana安装在同一台主机上,或者Elasticsearch的端口号不是9200,就就需要修改这个配置了
4、Elasticsearch的用户名和密码
属性名为:elasticsearch.username
和elasticsearch.password
,默认是没有用户名和密码,如果elasticsearch是配置了用户名和密码的,那就需要配置这两行属性
5、访问Kibana服务
相关的配置修改好了后,就可以使用浏览器访问kibana了。
4、Kibana界面菜单
Kibana的界面如下图所示:
上述界面包括的菜单如下:
Discover:
从发现页可以交互地探索ES的数据。可以访问与所选索引模式相匹配的每一个索引中的每一个文档。您可以提交搜索查询、筛选搜索结果和查看文档数据。还可以看到匹配搜索查询和获取字段值统计的文档的数量。如果一个时间字段被配置为所选择的索引模式,则文档的分布随着时间的推移显示在页面顶部的直方图中。
Visualize:
可视化能使你创造你的Elasticsearch指标数据的可视化。然后你可以建立仪表板显示相关的可视化。Kibana的可视化是基于Elasticsearch查询。通过一系列的Elasticsearch聚合提取和处理您的数据,您可以创建图表显示你需要知道的关于趋势,峰值和骤降。您可以从搜索保存的搜索中创建可视化或从一个新的搜索查询开始。
Dashboard:
一个仪表板显示Kibana保存的一系列可视化。你可以根据需要安排和调整可视化,并保存仪表盘,可以被加载和共享。
Monitoring:
Monitoring是由X-Pack集成提供的。该X-pack监控组件使您可以通过Kibana轻松地监控ElasticSearch。您可以实时查看集群的健康和性能,以及分析过去的集群、索引和节点度量。此外,您可以监视Kibana本身性能。当你安装X-pack在群集上,监控代理运行在每个节点上收集和指数指标从Elasticsearch。安装在X-pack在Kibana上,您可以查看通过一套专门的仪表板监控数据。
Graph:
X-Pack图的能力使你发现一个Elasticsearch索引项是如何相关联的。你可以探索索引条款之间的连接,看看哪些连接是最有意义的。从欺诈检测到推荐引擎,对各种应用中这都是有用的,例如,图的探索可以帮助你发现网站上黑客的目标的漏洞,所以你可以硬化你的网站。或者,您可以为您的电子商务客户提供基于图表的个性化推荐。X-pack提供简单,但功能强大的图形开发API,和Kibana交互式图形可视化工具。使用X-pack图有工作与开销与现有Elasticsearch指标你不需要任何额外的数据存储的特征。
Timelion:
Timelion是一个时间序列数据的可视化,可以结合在一个单一的可视化完全独立的数据源。它是由一个简单的表达式语言驱动的,你用来检索时间序列数据,进行计算,找出复杂的问题的答案,并可视化的结果。
这个功能由一系列的功能函数组成,同样的查询的结果,也可以通过Dashboard显示查看。
Management:
管理中的应用是在你执行你的运行时配置kibana,包括初始设置和指标进行配置模式,高级设置,调整自己的行为和Kibana,各种“对象”,你可以查看保存在整个Kibana的内容如发现页,可视化和仪表板。
这部分是pluginable,除此之外,X-pack可以给Kibana增加额外的管理能力。
你可以使用X-pack安全控制哪些用户可以访问Elasticsearch数据通过Kibana。当你安装X-pack,Kibana用户登录。他们需要有kibana_user作用以及获得的指标,他们将在Kibana的工作。如果用户加载Kibana仪表板,访问数据的一个索引,他们未被授权查看,他们得到一个错误,表明指数不存在。X-pack安全目前并不提供一种方法来控制哪些用户可以负荷的仪表板。
Dev Tools:
原先的交互式控制台Sense,使用户方便的通过浏览器直接与Elasticsearch进行交互。从Kibana 5开始改名并直接内建在Kibana,就是Dev Tools选项。