关闭防火墙和selinux,配置好/etc/hosts,修改最大连接数,配置好本地源和阿里源,安装jdk1.8;
操作系统:centos7.5
机器信息:
主机名 |
ip |
服务 |
elk1 |
192.168.1.223 |
jdk1.8,es7.2 |
elk2 |
192.168.1.224 |
jdk1.8,es7.2,kibana |
elk3 |
192.168.1.225 |
jdk1.8,es7.2 |
1.版本号需要和Elasticsearch 相同,安装在elk2(192.168.1.224)上;
#yum -y install kibana
2.配置Kibana
#cp /etc/kibana/kibana.yml /etc/kibana/kibana.yml.bak
#Kibana主配置文件
#vim /etc/kibana/kibana.yml
server.port: 5601
#或者"0.0.0.0"
server.host: "192.168.1.224"
#elasticsearch主节点
elasticsearch.hosts: "http://192.168.1.224:9200"
kibana.index: ".kibana"
# 配置kibana日志输出到哪里
logging.dest: /home/kibana/log/kibana.log
#支持中文
i18n.locale: "zh-CN"
3.创建日志目录文件
#mkdir -pv /home/kibana/log/
#touch /home/kibana/log/kibana.log
#chmod o+rw /home/kibana/log/kibana.log
4.启动kibana服务,并检查进程和监听端口:
#systemctl enable kibana
#systemctl start kibana
#ps aux | grep kibana
#netstat -tlanp |grep 5601
5.然后在浏览器里进行访问,如:http://192.168.1.224:5601/ ,此时是没有用户名和密码的,可以直接访问的:
注意:kibana6.7及以后的版本自带中文支持;
官方宣布从6.8和7.1开始,免费提供多项安全功能。其中包括tls加密通信,基于角色访问控制等功能。
可以使用企业CA证书来完成这一步骤,但是一般情况下,我们可以通过elasticsearch自带的elasticsearch-certutil的命令生成证书,
然后各节点通过该证书可以进行安全通信。
1.生成证书
搭建好了elasticsearch集群,在主节点(192.168.1.224)上操作,进入elasticsearch目录,然后执行以下命令。
注意:此处elasticsearch为集群版,与单节点版添加登录权限不一致;
# 使用yum方式安装的可执行文件路径
#cd /usr/share/elasticsearch
# 生成证书到配置文件目录
#bin/elasticsearch-certutil cert -out /etc/elasticsearch/elastic-certificates.p12 -pass ""
# 成功提示
上面命令执行成功后,会在/etc/elasticsearch/文件夹下生成elastic-certificates.p12证书。
# chmod 644 elastic-certificates.p12
注意:默认证书权限是600,需要更改证书权限,否则运行elasticsearch程序的用户没有权限读取,会造成elasticsearch启动失败;
2.编辑配置文件,开启证书访问
在主节点上编辑配置文件/etc/elasticsearch/elasticsearch.yml,添加内容如下(注意证书路径)
#vi /etc/elasticsearch/elasticsearch.yml 下添加
xpack.security.enabled: true
xpack.security.transport.ssl.enabled:true
xpack.security.transport.ssl.verification_mode:certificate
xpack.security.transport.ssl.keystore.path:elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12
将上面步骤生成的elastic-certificates.p12证书复制到另外两个es节点上对应的/etc/elasticsearch/文件夹中,
同时将上面配置内容也都复制到对应节点的elasticsearch.yml文件里;
#三个节点上都操作重启
#systemctl restart elasticsearch
#systemctl status elasticsearch
3.设置密码
启动三个节点,待节点启动完毕之后,在主节点上elasticsearch目录,执行以下命令,进行密码设置:
# cd /usr/share/elasticsearch
# bin/elasticsearch-setup-passwords interactive
为了方便后续使用,这里密码都设置成一样;password: 123456
生成的用户:apm_system/kibana/logstash_system/beats_system/remote_monitoring_user/elastic
密码都是123456
4.验证集群设置的账号和密码
打开浏览器访问这个地址,出现需要输入账号密码的界面证明设置成功,集群的一个节点
http://192.168.1.224:9200/_security/_authenticate?pretty
账号密码:elastic/123456
5.Kibana组件访问带有安全认证的Elasticsearch集群
配置文件kibana.yml中修改以下配置
#vi /etc/kibana/kibana.yml
elasticsearch.username: "elkstack"
elasticsearch.password: "elkstack123456"
#重启kibana生效
#systemctl restart kibana
#systemctl status kibana
#重新登录http://192.168.1.224:5601,我们将会使用elastic超级用户进行登录
账号密码:elastic/123456
注意:可以在 Kibana 中配置基于角色的访问控制,即创建角色和用户后,使用不同的用户登录只能看到自己被授权的部分;
----------------------------------------------------------------------------------------------
参考链接:https://www.elastic.co/cn/blog/getting-started-with-elasticsearch-security
kibana添加认证及权限--elasticsearch集群版
原文:https://www.cnblogs.com/llwxhn/p/12461206.html