本篇文章為大家展示了EFK中如何進(jìn)行ES集群開(kāi)啟用戶(hù)認(rèn)證,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。
公司主營(yíng)業(yè)務(wù):成都網(wǎng)站建設(shè)、網(wǎng)站制作、移動(dòng)網(wǎng)站開(kāi)發(fā)等業(yè)務(wù)。幫助企業(yè)客戶(hù)真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。成都創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開(kāi)放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶(hù)帶來(lái)驚喜。成都創(chuàng)新互聯(lián)公司推出雁峰免費(fèi)做網(wǎng)站回饋大家。
基于ES內(nèi)置及自定義用戶(hù)實(shí)現(xiàn)kibana和filebeat的認(rèn)證
關(guān)閉服務(wù)
在進(jìn)行下面實(shí)驗(yàn)前,請(qǐng)先關(guān)閉所有ElasticSearch、kibana、filebeat進(jìn)程
按以上表格對(duì)應(yīng)的實(shí)例新增conf目錄下elasticsearch.yml配置參數(shù)
# 在所有實(shí)例上加上以下配置 # 開(kāi)啟本地用戶(hù) xpack.security.enabled: true # xpack的版本 xpack.license.self_generated.type: basic
開(kāi)啟所有ES服務(wù)
sudo -u elasticsearch ./bin/elasticsearch
本地內(nèi)置elastic、apm_system、kibana、logstash_system、beats_system、remote_monitoring_user用戶(hù)
# 在其中一臺(tái)master節(jié)點(diǎn)操作 # interactive 自定密碼 auto自動(dòng)生密碼 sudo -u elasticsearch ./bin/elasticsearch-setup-passwords interactive # 輸入elastic密碼 # 輸入apm_system密碼 # 輸入kibana密碼 # 輸入logstash_system密碼 # 輸入beats_system密碼 # 輸入remote_monitoring_user密碼
測(cè)試內(nèi)部用戶(hù)
通過(guò)base64將elastic用戶(hù)進(jìn)行加密,格式為“elastic:elastic的密碼“
# 例如以下格式 curl -H "Authorization: Basic ZWxhc3RpYzplbGFzdGkxMjM0NTY3OA==" "http://192.168.1.31:9200/_cat/nodes?v"
如果不通過(guò)Basic訪問(wèn)或base64加密錯(cuò)誤會(huì)報(bào)以下錯(cuò)誤
在192.168.1.21創(chuàng)建私鑰庫(kù)
cd /opt/kibana/ # 創(chuàng)建密鑰庫(kù) sudo -u kibana ./bin/kibana-keystore create # 連接ES用戶(hù)名,這里輸入kibana sudo -u kibana ./bin/kibana-keystore add elasticsearch.username # 連接ES密碼,這里輸入剛剛設(shè)置kibana的密碼 sudo -u kibana ./bin/kibana-keystore add elasticsearch.password
在192.168.1.21確認(rèn)私鑰庫(kù)
sudo -u kibana ./bin/kibana-keystore list
啟動(dòng)服務(wù)
sudo -u kibana /opt/kibana/bin/kibana -c /opt/kibana/config/kibana.yml
登入kibana
在瀏覽器輸入192.168.1.21:5601,用戶(hù)名:elastic 密碼:之前輸入elastic的密碼
創(chuàng)建自定義的filebeat角色
關(guān)于角色權(quán)限的說(shuō)明請(qǐng)自行查閱附錄鏈接
創(chuàng)建自定義的filebeat用戶(hù)
在192.168.1.11創(chuàng)建filebeat密鑰庫(kù)
cd /opt/filebeat/ #創(chuàng)建密鑰庫(kù) ./filebeat keystore create #創(chuàng)建test-filebeat用戶(hù)私鑰 ./filebeat keystore add test-filebeat
確認(rèn)filebeat密鑰庫(kù)
./filebeat keystore list
配置filebeat.yml
# 文件輸入 filebeat.inputs: # 文件輸入類(lèi)型 - type: log # 開(kāi)啟加載 enabled: true # 文件位置 paths: - /var/log/nginx/access.log # 自定義參數(shù) fields: type: nginx_access # 類(lèi)型是nginx_access,和上面fields.type是一致的 # 輸出至elasticsearch output.elasticsearch: # 連接ES集群的用戶(hù)名 username: test-filebeat # 連接ES集群的密碼 password: "${test-filebeat密碼}" # elasticsearch集群 hosts: ["http://192.168.1.31:9200", "http://192.168.1.32:9200", "http://192.168.1.33:9200"] # 索引配置 indices: # 索引名 - index: "nginx_access_%{+yyy.MM}" # 當(dāng)類(lèi)型是nginx_access時(shí)使用此索引 when.equals: fields.type: "nginx_access" # 關(guān)閉自帶模板 setup.template.enabled: false # 開(kāi)啟日志記錄 logging.to_files: true # 日志等級(jí) logging.level: info # 日志文件 logging.files: # 日志位置 path: /opt/logs/filebeat/ # 日志名字 name: filebeat # 日志輪轉(zhuǎn)期限,必須要2~1024 keepfiles: 7 # 日志輪轉(zhuǎn)權(quán)限 permissions: 0600
啟動(dòng)filebeat
/opt/filebeat/filebeat -e -c /opt/filebeat/filebeat.yml -d "publish"
寫(xiě)入一條數(shù)據(jù)
curl -I "http://192.168.1.11"
在kibana中查看
kibana角色權(quán)限相關(guān)文檔鏈接
https://www.elastic.co/guide/en/elasticsearch/reference/7.3/security-privileges.html#privileges-list-cluster
上述內(nèi)容就是EFK中如何進(jìn)行ES集群開(kāi)啟用戶(hù)認(rèn)證,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。