這篇文章為大家分享用ES集群開啟用戶認(rèn)證的方法。文章還介紹了kibana-WEB界面確認(rèn)用戶的方法7以及filebeat服務(wù)器上創(chuàng)建密鑰庫,希望大家通過這篇文章能有所收獲。
成都創(chuàng)新互聯(lián)公司專注于企業(yè)成都營銷網(wǎng)站建設(shè)、網(wǎng)站重做改版、永靖網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、成都h5網(wǎng)站建設(shè)、電子商務(wù)商城網(wǎng)站建設(shè)、集團公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為永靖等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
在進行下面實驗前,請先關(guān)閉所有ElasticSearch、kibana、filebeat進程
elasticsearch-修改elasticsearch.yml配置
按以上表格對應(yīng)的實例新增conf目錄下elasticsearch.yml配置參數(shù)
# 在所有實例上加上以下配置
# 開啟本地用戶
xpack.security.enabled: true
# xpack的版本
xpack.license.self_generated.type: basic
開啟所有ES服務(wù)
sudo -u elasticsearch ./bin/elasticsearch
本地內(nèi)置elastic、apm_system、kibana、logstash_system、beats_system、remote_monitoring_user用戶
# 在其中一臺master節(jié)點操作
# interactive 自定密碼 auto自動生密碼
sudo -u elasticsearch ./bin/elasticsearch-setup-passwords interactive
# 輸入elastic密碼
# 輸入apm_system密碼
# 輸入kibana密碼
# 輸入logstash_system密碼
# 輸入beats_system密碼
# 輸入remote_monitoring_user密碼
測試內(nèi)部用戶
通過base64將elastic用戶進行加密,格式為“elastic:elastic的密碼“
# 例如以下格式
curl -H "Authorization: Basic ZWxhc3RpYzplbGFzdGkxMjM0NTY3OA==" "http://192.168.1.31:9200/_cat/nodes?v"
如果不通過Basic訪問或base64加密錯誤會報以下錯誤
在192.168.1.21創(chuàng)建私鑰庫
cd /opt/kibana/
# 創(chuàng)建密鑰庫
sudo -u kibana ./bin/kibana-keystore create
# 連接ES用戶名,這里輸入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)私鑰庫
sudo -u kibana ./bin/kibana-keystore list
啟動服務(wù)
sudo -u kibana /opt/kibana/bin/kibana -c /opt/kibana/config/kibana.yml
登入kibana
在瀏覽器輸入192.168.1.21:5601,用戶名:elastic 密碼:之前輸入elastic的密碼
創(chuàng)建自定義的filebeat角色
關(guān)于角色權(quán)限的說明請自行查閱附錄鏈接
創(chuàng)建自定義的filebeat用戶
在192.168.1.11創(chuàng)建filebeat密鑰庫
cd /opt/filebeat/
#創(chuàng)建密鑰庫
./filebeat keystore create
#創(chuàng)建test-filebeat用戶私鑰
./filebeat keystore add test-filebeat
確認(rèn)filebeat密鑰庫
./filebeat keystore list
配置filebeat.yml
# 文件輸入
filebeat.inputs:
# 文件輸入類型
- type: log
# 開啟加載
enabled: true
# 文件位置
paths:
- /var/log/nginx/access.log
# 自定義參數(shù)
fields:
type: nginx_access # 類型是nginx_access,和上面fields.type是一致的
# 輸出至elasticsearch
output.elasticsearch:
# 連接ES集群的用戶名
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)類型是nginx_access時使用此索引
when.equals:
fields.type: "nginx_access"
# 關(guān)閉自帶模板
setup.template.enabled: false
# 開啟日志記錄
logging.to_files: true
# 日志等級
logging.level: info
# 日志文件
logging.files:
# 日志位置
path: /opt/logs/filebeat/
# 日志名字
name: filebeat
# 日志輪轉(zhuǎn)期限,必須要2~1024
keepfiles: 7
# 日志輪轉(zhuǎn)權(quán)限
permissions: 0600
啟動filebeat
/opt/filebeat/filebeat -e -c /opt/filebeat/filebeat.yml -d "publish"
寫入一條數(shù)據(jù)
curl -I "http://192.168.1.11"
在kibana中查看
看完這篇文章,你們學(xué)會用ES集群開啟用戶認(rèn)證的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀。