1 基礎環境
關閉防火牆和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 |
2.安裝kibana
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及以后的版本自帶中文支持;
3. kibana 添加登錄及權限
官方宣布從6.8和7.1開始,免費提供多項安全功能。其中包括tls加密通信,基於角色訪問控制等功能。
可以使用企業CA證書來完成這一步驟,但是一般情況下,我們可以通過elasticsearch自帶的elasticsearch-certutil的命令生成證書,
然后各節點通過該證書可以進行安全通信。
1.生成證書
搭建好了elasticsearch集群,在主節點(192.168.1.224)上操作,進入elasticsearch目錄,然后執行以下命令。 #使用yum方式安裝的可執行文件路徑 #cd /usr/share/elasticsearch #生成證書到配置文件目錄 #bin/elasticsearch-certutil cert -out /etc/elasticsearch/elastic-certificates.p12 -pass ""
注意:此處elasticsearch為集群版,與單節點版添加登錄權限不一致;
# 成功提示
上面命令執行成功后,會在/etc/elasticsearch/文件夾下生成elastic-certificates.p12證書。 # chmod 644 elastic-certificates.p12
注意:默認證書權限是600,需要更改證書權限,否則運行elasticsearch程序的用戶沒有權限讀取,會造成elasticsearch啟動失敗;
2.編輯配置文件,開啟證書訪問
在主節點上編輯配置文件/etc/elasticsearch/elasticsearch.yml,添加內容如下(注意證書路徑) #vim /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中修改以下配置 #vim /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