最近准备开始学习Kibana数据分析相关的知识。工欲善其事必先利其器,第一步,我们先来配置好相关的环境。首先声明:本文章提到的所有内容仅适用于测试环境,不适用于生产环境(当然生产环境的安装也不会看这篇文章😂)。当然配置环境最推荐的还是先去官网阅读文档,这里只是提供一些快速上手的步骤。
平台环境
这里使用 Win11+WSL+Ubuntu+Docker Desktop 来完成环境的搭建。
安装 Elasticsearch
要使用Kibana,前提是需要有一个运行的Elasticsearch。这里使用单节点安装。
我们首先运行一个Elasticsearch容器,等容器初始化完成后,将 “/usr/share/elasticsearch/data” 以及 “/usr/share/elasticsearch/config” 目录拷贝出来,以方便后续持久化Elasticsearch的配置。
** 记得这个时候要把elastic的密码以及链接kibana的token保存下来,可以通过查看当前容器的日志获得:
|
|
复制配置文件以及数据文件到容器外面,以便持久化:
|
|
这个时候我们已经有了es的配置文件,就可以把上面这个容器暂停并删除了,重新创建一个容器,将刚刚复制出来的配置和数据文件映射到相应位置,记得更改下面这段命令中的宿主机映射文件路径:
|
|
不出意外的话,现在es应该能正常跑起来了。可以查看一下日志看看有没有报错。
安装 Kibana 并连接到 Elasticsearch
既然Elastic已经安装完成,现在就可以安装Kibana了。我们仍然使用docker,一样的需要先把配置和数据文件复制出来方便持久化。
先启动一个临时的容器来完成Kibana与Elasticsearch的连接:
|
|
容器跑起来之后,查看容器的日志,启动正常的话,日志的最后会输出一个链接,在宿主机上打开这个链接。需要注意的是,链接的IP是0.0.0.0
这样的形式,如果在宿主机上访问不了,可以用localhost
或者127.0.0.1
来访问。
这个时候需要用之前日志中的elastic
用户的密码登录,即:用户名为elastic
,密码为之前elasticsearch容器日志里面的密码。登陆完之后,输入日志中的token来连接elasticsearch。
上面步骤完成之后,正常的话,应该能正常使用elasticsearch以及Kibana了。但是还有最后一步,就是持久化Kibana的配置和数据文件:
|
|
一个小坑
前两天重启了一下电脑,然后Kibana就连接不上了,网页端显示Kibana server is not ready yet
,一开始以为Elasticsearch容器挂掉了,看了看容器日志,一切正常。然后再查看Kibana容器的日志,发现如下报错:
Unable to retrieve version information from Elasticsearch nodes. connect ECONNREFUSED 172.18.0.2:9200
既然Elasticsearch容器没有挂,这里又连接失败,联想到我是重启电脑之后才失败的,我怀疑应该是Elasticsearch容器重启后内部的IP变了,于是查看了一下容器IP,确实如此。
既然知道了问题所在,那么一切就好办了:IP虽然会变,但是hostname不会变,所以我们只需要将Kibana配置文件中的elasticsearch.hosts
这个字段里面的IP地址换成Elasticsearch容器的hostname就可以了,我这里是改成https://es01:9200
。然后重启Kibana容器。
原本以为这样改好就可以了,但是还是没办法访问Kibana。现在日志里面的报错信息变成了这个:
Unable to retrieve version information from Elasticsearch nodes. Hostname/IP does not match certificate’s altnames: Host: es01. is not in the cert’s altnames: ……….
看来是证书的问题,但是证书是Elasticsearch自己生成的,每次去改都太麻烦了。由于是内网配置的ES,所以也就不那么在乎安全性,所以参考这个链接里面的解决方案:
If you want to bypass it, you can try configure Kibana with elasticsearch.ssl.verificationMode: certificate. Please do note this is less safe than full which is the default.
在Kibana配置文件后面追加一个配置elasticsearch.ssl.verificationMode: certificate
,然后再重启Kibana,就好了✌️!
到这里,所有的步骤就已经完成了,我们的Elasticsearch和Kibana也配置完成了。接下来的教程会介绍Elasticsearch的一些基本概念和Kibana的一些用法,欢迎继续关注哦💖!
最后的最后,欢迎关注我的小红书和公众号哦!
微信公众号 | 小红书 |
---|---|