同福

使用kibana:6.8.18镜像安装Kibana工具管理Elasticsearch搜索引擎

介绍

介绍

Elasticsearch是一款主流的实现全文检索的软件,前面福哥已经带着大家学会了使用Docker搭建ES运行环境的方法了。ES是基于HTTP协议的,我们对ES的所有操作都要以HTTP方式来提交,而且ES的命令参数还是JSON格式的,在没有任何辅助工具的情况下,我们只能通过curl命令来操作ES,实在是太不方便了!

那么有没有一个方便管理Elasticsearch的工具让我们更加高效地操作ES呢?答案是有的,这就是elastic官方提供的用于管理ES的工具Kibana。

今天我们就来学习Kibana工具的安装。因为福哥的Elasticsearch的版本是6.8.18版本,所以Kibana的版本也应该是6.8.18版本。

Kibana是ELK组合里面的K,今天我们就来把这个“K”搞明白!

环境

镜像版本
kibana:6.8.18
操作系统CentOS 7 x86_64 2009
服务器TFCentOS7x64
IP192.168.168.68
端口5601

安装

镜像

Kibana工具的版本必须和Elasticsearch的版本一致,所以福哥用的是kibana:6.8.18这个版本。

拉取镜像kibana:6.8.18,添加到registry.tongfu.net:5000私有仓库里面。

docker pull kibana:6.8.18
docker tag kibana:6.8.18 registry.tongfu.net:5000/kibana:6.8.18
docker rmi kibana:6.8.18
docker images | grep kibana

cf4f2cea8c89637dd165fef72f058f8d.png

启动Elasticsearch

先把Elasticsearch启动起来,没有这个Kibana什么都干不了。

docker start tfelasticsearch

85af8a6e624f26aaa2b9b68f18777280.png

启动Kibana

使用下面的命令基于kibana:6.8.18镜像启动一个容器,将5601端口映射到宿主机上面。

Kibana默认会寻找主机名为elasticsearch、端口为9200的Elasticsearch进行绑定,但是福哥的ES的主机名是tfelasticsearch,这里需要用link改一下主机名。

docker run -tid \
--name tfkibana \
-h tfkibana \
--net tfnet \
-p 5601:5601 \
--link tfelasticsearch:elasticsearch \
registry.tongfu.net:5000/kibana:6.8.18

7f7d3c12a61d9fd2fa13b9f851baf45a.png

使用

打开浏览器,输入网址http://192.168.168.68:5601/进入Kibana。

上来就问我们“要不要使用他们的演示数据”,还是用我们自己的数据吧,点击“Explore on my own”按钮!

a0c1199b7acf63fd54e7b6f135fb348c.png

这是Kibana的默认首页!又问我们“愿不愿意帮助他们提升产品体验”,不就是想采集我们的数据吗?不行!

b942d24baf1108e7804e496c0d1f10e6.png

Kibana没有使用数据库,所有的设置都是存在浏览器的本地存储(Local storage)里的,所以换了浏览器就要重新设置一遍~

调试工具Dev Tools

点击左侧菜单里的Dev Tools,这是一个调试工具,可以用来执行ES命令。图形化的界面加上各种自动完成的支持,使得这个工具操作ES变得非常舒服!

默认会有一个查询全部数据的命令,我们可以直接运行看看!

88d88b955ca40730b546ccf84bfbdf91.png

我们在下面写一个插入数据的命令,往user索引里面插入几条数据,这次要加上那些日期字段的值。

福哥一共插入了6条数据,一个7天前的,三个3天前的,两个昨天的。

POST /user/user/_bulk
{"index":{"_id":1}}
{"userId": 1, "userName": "鬼谷子叔叔", "createDT": "2023-10-11T09:15:21"}
{"index":{"_id":2}}
{"userId": 2, "userName": "福哥", "createDT": "2023-10-15T10:25:12"}
{"index":{"_id":3}}
{"userId": 3, "userName": "鬼谷子叔叔学Kibana", "createDT": "2023-10-15T08:55:18"}
{"index":{"_id":4}}
{"userId": 4, "userName": "福哥玩Kibana", "createDT": "2023-10-15T11:15:21"}
{"index":{"_id":5}}
{"userId": 5, "userName": "TONGFU", "createDT": "2023-10-17T15:10:32"}
{"index":{"_id":6}}
{"userId": 6, "userName": "TONGFU.net", "createDT": "2023-10-17T16:19:06"}

429691c77682faf99b7a50b2a1c4b916.png然后查一下刚刚插入的数据。

982c7a03b441dd806233ae75c5f66418.png

现在有数据了,我们拿这几条数据学学Kibana的各种功能吧!

发现Discover

点击左侧菜单里的Discover,这个是发现功能,可以针对一个或者一组索引进行管理。默认是没有索引模式的,福哥写了一个“user”匹配我们的user索引。点击Next step继续。

59ff5fb3b335df769844c486b53794d1.png

这里要我们选择一个时间字段,福哥选择的是“createDT”。点击Create index pattern创建索引模式。

8421f082baf407073e956963be987b1e.png索引模式创建完成了,这里列出了索引的字段信息。

4d11d81e3bc57007e849cb2016a1d67b.png再次回到Discover页面,发现什么数据都没有,这是怎么回事?哦,想起来了,福哥添的数据的createDT时间是过去的时间,所以Kibana默认的“Last 15 minutes”肯定就查不出来了!

1becbe4326936221fd86b57dd0c2533c.png

点击右上角的“Last 15 minutes”改成“This month”看看!这下有数据了!

28e766470ebe9929168f38305779a1dc.png

视图Visualize

点击左侧菜单的Visualize,这是视图功能,可以将ES里的数据以各种图表形式展示出来,包括曲线图、柱状图、饼状图等等。

点击Create a visualization创建一个视图。

ea4abb078fa92667893d11f138796f52.png在图表类型里面选择实心曲线图Area。

8dd2bb1ad3547f995bd0e0ec1d562fb1.png

点击user索引模式,用这个来提供数据。

dc52771a476b93049c336a58679a02a5.png默认的图表是这样的,X轴只有一个all。

这叫什么玩意儿啊?!福哥给它改改!

d3f1902bc59f051fbde708011466f9e9.png点击左下的Buckets > X-Axis编辑X轴设置。

d3eb45f9dbdfb192a0398725d3c45ceb.png点击Aggregation选择“Date Histogram”。
323aa367c01de8efd0245fd567d40acb.png

点击“播放”按钮使设置生效,可以看到右边的图表显示正常的数据了。

这个尖尖的不太好看啊,我们调一调!

3cfa8cee2b659d672893509145bbb338.png

点击Metrics & Axes标签页,修改Metrics > Count > Chart Type设置为“bar”,点击“播放”看看效果,好看多了~

4dcafb6e84b0764e10d5e0348f41a7d9.png

点击最上面的Save按钮保存视图,福哥起的名字是“visual by tongfu”。

909c60fc2d4ac5cd2c40dc760143352c.png

看板Dashboard

点击左侧菜单Dashboard,这个是看板功能,看板就是把一堆的视图放到一起,方便查看各种数据的。我们刚刚已经创建了一个视图“visual by tongfu”,现在我们把这个视图放到一个看板里面。

点击Create new dashboard创建一个看板。

4689bfe5dd81ef72d5ba60ca772ca858.png点击中间的Add按钮添加元素到看板里。

aacdb7dc66803fd14271fd300094ad77.png在Visualization里点击刚刚创建的视图“visual by tongfu”将它添加到看板里。

5eb258d80cdb3f76b8f6a737a86bb030.png完成后的看板效果就是这样的了!

5cdbf08d8784a7a6f2b653024165bf1a.png点击最上面的Save按钮保存视图,福哥起的名字是“dashboard by tongfu”。fa6dfdf212a39f2e42fd96da71037030.png

时间序列Timelion

点击左侧菜单Timelion,这个是时间序列功能,福哥后面再找时间给大家讲啊!

6994f32ee3d231ab5bde29f1fd33b111.png

图表Canvas

点击左侧菜单Canvas,这个是图表功能,就是可以自己绘制图表显示各种数据,福哥后面再找时间给大家讲啊!

1eac7862483b0c034a6c30189317fd70.png

地图Maps

点击左侧菜单Maps,这个是地图功能,福哥后面再找时间给大家讲啊!

24735edb35c8fd67373d799d5bd9d4b2.png

机器学习Machine Learning

这是Kibana的研发的一套机器学习的模块,它提供了一些基本的功能,要体验完整的功能是收费的,但是我们可以试用30天。

这个模块的功能福哥打算单独讲解,敬请期待吧~

aec2909f35e41324b5d444418865fcd5.png

基础设施Infrastructure

点击左侧菜单Infrastructure,这个是基础设施管理,就是针对各种场合ELK提供了各种解决方案,福哥后面再找时间给大家讲啊!

9ae180df8dc2b80ae4d573e498e4c19b.png

日志Logs

点击左侧菜单Logs,这个是日志管理,就是把基础设置里的日志给抽出来了!

应用程序性能监控APM

点击左侧菜单APM,这个是应用程序性能监控,就是跟踪应用程序的运行过程中的性能变化,福哥后面再找时间给大家讲啊!

7d86424077401ff2c36145182fa9693f.png

启动时间Uptime

点击左侧菜单Uptime,这个是在线时间功能,就是监听ES服务器心跳产生在线状态信息,福哥后面再找时间给大家讲啊!

6247371d4f4a5fd689edba03bfca7cbd.png

监视器Monitoring

点击左侧菜单Monitoring,这个是监视器功能,就是监听ES服务器CPU、内存、磁盘状态信息,福哥后面再找时间给大家讲啊!

2aaaac1ee944eea31c47ce3ab589bf2c.png

管理Management

点击左侧菜单Management,这个是管理功能,包括Elasticsearch的管理和Kibana的管理。我们常用的就是Elasticsearch的索引管理Index Management,还有Kibana的索引模式管理Index Patterns。

10947d344b64d164721f1982231c863d.png

索引管理界面是这样的。

91e3a3cb8feadbab915e8073247b7ea4.png

索引模式管理界面是这样的。

3ff867940b2da576a005f36e2d14a8c4.png

总结

今天福哥带着大家学习了ELK的Kibana的安装和使用方法,通过Kibana可以更加方便的操作Elasticsearch搜索引擎的索引数据,Kibana还提供了大量的实用功能,可以利用ES解决更多的难题,可以更加系统地管理ES。

这个ELK的最后一个Logstash福哥会在后面给大家讲解,敬请期待吧~