1. 环境配置
-
确保Linux服务器上已安装Java 8或更高版本。可以通过运行
java -version
来验证Java的版本。 -
下载Kibana 7.17.11的压缩文件,可以从Kibana 7.17.11下载
-
上传服务器,并解压Kibana压缩文件。
2. Kibana配置
编辑Kibana的配置文件 config/kibana.yml
,设置以下配置:
# 指定Kibana服务器监听的端口,默认5601
server.port: 5602
# 绑定的主机地址
server.host: "192.1.1.1"
# 连接到的Elasticsearch节点的地址列表
elasticsearch.hosts: ["http://192.1.1.1:9201","http://192.1.1.1:9202","http://192.1.1.1:9203"]
# 通信的请求超时时间
elasticsearch.requestTimeout: 60000
# 指定Kibana界面的语言为中文
i18n.locale: "zh-CN"
-
server.port
这个配置项指定Kibana服务器监听的端口 -
server.host
这个配置项指定Kibana服务器绑定的主机地址。 -
elasticsearch.hosts
这个配置项指定Kibana将连接到的Elasticsearch节点的地址列表。 -
elasticsearch.requestTimeout
这个配置项指定Kibana与Elasticsearch通信的请求超时时间,以毫秒为单位 如果Kibana与Elasticsearch的请求超时,则会中断。 -
i18n.locale
这个配置项指定Kibana界面的语言区域。“zh-CN”,表示简体中文
3. 启动Kibana
Kibana不能使用root用户启动,因此需要创建一个名为 “es” 的用户和一个名为 “es” 的群组,然后将用户添加到该群组中:
# 新建群组esgroupadd es
# 新建用户es并指定群组为esuseradd -g es es
# 设置用户密码 passwd es
# usermod 将用户添加到某个组groupusermod -aG root es
安装目录赋权
chown -R es:es /mnt/data/install/kibana-7.17.11-linux-x86_64
进入到安装目录后,使用以下命令启动Kibana:
su es
./bin/kibana
启动成功
4. 访问Kibana
在浏览器中访问Kibana的Web界面 http://your_server_ip:port
禁用Kibana安全提示(Elasticsearch built-in security features are not enabled)
#! Elasticsearch built-in security features are not enabled. Without authentication, your cluster could be accessible to anyone. See https://www.elastic.co/guide/en/elasticsearch/reference/7.15/security-minimal-setup.html to enable security.
因为没有显式禁用安全选项
导致,在es的安装路径下的config目录下elasticsearch.yml文件去 配置禁用安全选项xpack.security.enabled,之后重启Elasticsearch即可:
xpack.security.enabled: false
5. 添加安全性(可选)
以上设置可以保证基本使用,下面是开启安全的官方文档翻译:
设置Elasticsearch的最小安全性
您可以启用Elasticsearch的安全性功能,然后为内置用户创建密码。您可以随后添加更多用户,但使用内置用户可以简化启用集群安全性的过程。
最小安全性方案不足以用于生产模式集群。如果您的集群有多个节点,您必须先启用最小安全性,然后在节点之间配置传输层安全性(TLS)。
先决条件
- 安装和配置Elasticsearch和Kibana。请参阅"Elastic Stack入门"。
- 确保您使用的许可证包括您所需的特定安全功能。
基本许可证包括Elastic Stack的最小安全性设置,因此您可以只需下载分发版本并开始工作。您还可以启用免费试用许可证以访问Elastic Stack的所有功能。请参阅"订阅和许可证管理"。
启用Elasticsearch的安全性功能
当您使用基本许可证时,Elasticsearch的安全性功能默认处于禁用状态。启用Elasticsearch的安全性功能会启用基本身份验证,以便您可以运行具有用户名和密码身份验证的本地集群。
在您集群中的每个节点上,如果Kibana和Elasticsearch正在运行,请停止它们。
在您集群中的每个节点上,将xpack.security.enabled
设置添加到$ES_PATH_CONF/elasticsearch.yml
文件中,并将其值设置为true
:
xpack.security.enabled: true
$ES_PATH_CONF
变量是Elasticsearch配置文件的路径。如果您使用归档分发(zip或tar.gz)安装Elasticsearch,则该变量默认为$ES_HOME/config
。如果您使用软件包分发(Debian或RPM),则该变量默认为/etc/elasticsearch
。
如果您的集群只有一个节点,请将discovery.type
设置添加到$ES_PATH_CONF/elasticsearch.yml
文件中,并将其值设置为single-node
。此设置可确保您的节点不会意外连接到可能在您的网络上运行的其他集群。
discovery.type: single-node
为内置用户创建密码
为了与集群通信,您必须为内置用户配置用户名。除非启用匿名访问,否则所有不包括用户名和密码的请求都将被拒绝。
只有在启用最小或基本安全性时,您才需要为elastic
和kibana_system
用户设置密码。
在您集群中的每个节点上,启动Elasticsearch。例如,如果您使用.tar.gz
软件包安装Elasticsearch,请从ES_HOME
目录运行以下命令:
./bin/elasticsearch
在另一个终端窗口中,通过运行elasticsearch-setup-passwords
实用程序来设置内置用户的密码。
您可以对集群中的任何节点运行elasticsearch-setup-passwords
实用程序。但是,应该只为整个集群运行此实用程序一次。
使用auto
参数将随机生成的密码输出到控制台,以便以后在必要时进行更改:
./bin/elasticsearch-setup-passwords auto
如果要使用自己的密码,请改用interactive
参数而不是auto
参数运行命令。使用此模式将引导您通过内置用户的密码配置。
./bin/elasticsearch-setup-passwords interactive
保存生成的密码。您将需要这些密码以添加内置用户到Kibana。
设置elastic
用户的密码后,将无法再次运行elasticsearch-setup-passwords
命令。
下一步:配置Kibana以使用密码连接到Elasticsearch
当启用Elasticsearch的安全功能时,用户必须使用有效的用户名和密码登录Kibana。
您将配置Kibana以使用内置的kibana_system
用户和之前创建的密码。Kibana执行一些需要使用kibana_system
用户的后台任务。
此帐户不适用于个体用户,也没有权限从浏览器登录Kibana。相反,您将以elastic
超级用户身份登录Kibana。
将elasticsearch.username
设置添加到KIB_PATH_CONF/kibana.yml
文件中,并将其值设置为kibana_system
用户:
elasticsearch.username: "kibana_system"
`KIB_PATH
_CONF变量是Kibana配置文件的路径。如果您使用归档分发(zip或tar.gz)安装Kibana,则该变量默认为
KIB_HOME/config。如果您使用软件包分发(Debian或RPM),则该变量默认为
/etc/kibana`。
从安装Kibana的目录中运行以下命令来创建Kibana keystore并添加安全设置:
创建Kibana keystore:
./bin/kibana-keystore create
将kibana_system
用户的密码添加到Kibana keystore中:
./bin/kibana-keystore add elasticsearch.password
当提示时,输入kibana_system
用户的密码。
重新启动Kibana。例如,如果您使用.tar.gz
软件包安装Kibana,请从Kibana目录运行以下命令:
./bin/kibana
以elastic
用户身份登录Kibana。使用此超级用户帐户来管理空间、创建新用户和分配角色。如果在本地运行Kibana,请转到http://localhost:5601以查看登录页面。
下一步是什么?
恭喜!您已经启用了本地集群的密码保护,以防止未经授权的访问。您可以安全地以elastic
用户的身份登录Kibana并创建其他用户和角色。如果您运行的是单节点集群,那么您可以在此停止。
如果您的集群有多个节点,则必须在节点之间配置传输层安全性(TLS)。如果不启用TLS,生产模式集群将无法启动。
设置Elastic Stack的基本安全性,以保护集群内所有节点之间的内部通信。