linux下安装Kibana
摘要
-
本文介绍如何在linux下安装Kibana
-
Kibana版本8.17.3
-
Elasticsearch版本8.17.3,linux下安装Elasticsearch
下载
-
下载地址:https://www.elastic.co/cn/downloads/past-releases#kibana
-
选择对应的版本:这里选择当前的最新版
Kibana 8.17.3
,之后选择对应的操作系统LINUX X86_64
1 | wget https://artifacts.elastic.co/downloads/kibana/kibana-8.17.3-linux-x86_64.tar.gz |
-
下载完成后解压到
/usr/local/kibana
目录下,解压命令如下:
1 | mkdir /usr/local/kibana |
创建启动用户
-
elasticsearch和kibana都不能用root用户启动
-
创建用户
elastic
,并设置密码,这一步我们在安装elasticsearch的时候已经配置过了,这里就不再赘述了
1 | useradd elastic |
-
修改kibana安装目录的用户权限
1 | chown -R elastic:elastic /usr/local/kibana |
-
切换到elastic用户下执行命令
1 | su - elastic |
关联Kibana和Elasticsearch
方法1:注册令牌Token关联[官方推荐]
-
注意此方法要求
elasticsearch
必须开启安全认证,而且xpack.security.http.ssl.enabled
必须设置为 true -
配置启动文件,进入
/usr/local/kibana/kibana-8.17.3/config
目录,修改kibana.yml
文件
1 | # 端口 |
-
进入elasticsearch安装目录,创建kibana注册令牌
1 | bin/elasticsearch-create-enrollment-token -s kibana |
-
进入kibana安装目录,通过下面的命令注册 Kibana
1 | # bin/kibana-setup --enrollment-token <enrollment-token> |
-
如果ES的
xpack.security.http.ssl.enabled
设置为 false,注册Kibana时会报错,报错信息如下:
1 | ✖ Unable to connect to Elasticsearch with the provided enrollment token: Unable to connect to any of the provided hosts. |
- 注册成功后会在
/usr/local/kibana/kibana-8.17.3/config/kibana.yml
文件中添加如下内容:
1 | # This section was automatically generated during setup. |
方法2:用户名密码关联
-
创建kibana连接elasticsearch的用户密码,不能用
elastic
这个用户,因为这个是超级用户,要使用 kibana_system 用户
1 | # 进入elasticsearch安装目录,执行下面的命令重置 kibana_system 用户的密码 |
-
配置启动文件,进入
/usr/local/kibana/kibana-8.17.3/config
目录,修改kibana.yml
文件
1 | # 端口 |
-
如果ES没有开启安全认证,则只需要进行如下配置即可:
1 | # 端口 |
启动Kibana服务
-
进入
/usr/local/kibana/kibana-8.17.3
目录,执行以下命令启动服务
1 | ./bin/kibana |
-
访问地址:http://localhost:5601,这里注意登录用户需要使用:
elastic
,而不是kibana_system
。
启动Kibana服务后的日志告警
-
Kibana服务启动后,会在
/usr/local/kibana/kibana-8.17.3/logs/kibana.log
文件中记录一些错误日志,如果出现错误,可以查看日志,解决错误。
1 | [WARN ][plugins.fleet] xpack.encryptedSavedObjects.encryptionKey is not configured, private key passphrase is being stored in plain text |
-
这个警告信息表明 Kibana 的某些插件(如 Fleet)在缺少 xpack.encryptedSavedObjects.encryptionKey 配置的情况下运行,导致私钥密码和代理卸载令牌以明文形式存储。为了提高安全性,建议配置一个加密密钥。
-
生成加密密钥
1 | $ bin/kibana-encryption-keys generate |
-
配置 Kibana 以使用加密密钥,添加到 kibana.yml 文件中:
1 | xpack.encryptedSavedObjects.encryptionKey: 47967e4b78bd26decb622b78f0ddd324 |
-
重启 Kibana 服务 以应用更改。
Kibana 自启动脚本
1 | # 创建服务文件 |