溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

EFK中如何進行ES集群開啟用戶認證

發(fā)布時間:2021-09-26 16:08:06 來源:億速云 閱讀:127 作者:柒染 欄目:系統(tǒng)運維

本篇文章為大家展示了EFK中如何進行ES集群開啟用戶認證,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

基于ES內(nèi)置及自定義用戶實現(xiàn)kibana和filebeat的認證

關(guān)閉服務

在進行下面實驗前,請先關(guān)閉所有ElasticSearch、kibana、filebeat進程


elasticsearch-修改elasticsearch.yml配置

EFK中如何進行ES集群開啟用戶認證

按以上表格對應的實例新增conf目錄下elasticsearch.yml配置參數(shù)

# 在所有實例上加上以下配置
# 開啟本地用戶
xpack.security.enabled: true
# xpack的版本
xpack.license.self_generated.type: basic

elasticsearch-開啟服務

開啟所有ES服務

sudo -u elasticsearch ./bin/elasticsearch

elasticsearch-建立本地內(nèi)置用戶

本地內(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密碼

EFK中如何進行ES集群開啟用戶認證

測試內(nèi)部用戶

通過base64將elastic用戶進行加密,格式為“elastic:elastic的密碼“

# 例如以下格式
curl -H "Authorization: Basic ZWxhc3RpYzplbGFzdGkxMjM0NTY3OA==" "http://192.168.1.31:9200/_cat/nodes?v"

EFK中如何進行ES集群開啟用戶認證

如果不通過Basic訪問或base64加密錯誤會報以下錯誤

EFK中如何進行ES集群開啟用戶認證


kibana-創(chuàng)建私鑰庫

在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密碼,這里輸入剛剛設置kibana的密碼
sudo -u kibana ./bin/kibana-keystore add elasticsearch.password

在192.168.1.21確認私鑰庫

sudo -u kibana ./bin/kibana-keystore list

EFK中如何進行ES集群開啟用戶認證

啟動服務

sudo -u kibana /opt/kibana/bin/kibana -c /opt/kibana/config/kibana.yml

kibana-WEB界面確認用戶

登入kibana

在瀏覽器輸入192.168.1.21:5601,用戶名:elastic 密碼:之前輸入elastic的密碼

EFK中如何進行ES集群開啟用戶認證

EFK中如何進行ES集群開啟用戶認證


filebeat-在WEB界面創(chuàng)建角色及用戶

創(chuàng)建自定義的filebeat角色

關(guān)于角色權(quán)限的說明請自行查閱附錄鏈接

EFK中如何進行ES集群開啟用戶認證

EFK中如何進行ES集群開啟用戶認證

創(chuàng)建自定義的filebeat用戶

EFK中如何進行ES集群開啟用戶認證

EFK中如何進行ES集群開啟用戶認證


filebeat-服務器上創(chuàng)建密鑰庫

在192.168.1.11創(chuàng)建filebeat密鑰庫

cd /opt/filebeat/
#創(chuàng)建密鑰庫
./filebeat keystore create
#創(chuàng)建test-filebeat用戶私鑰
./filebeat keystore add test-filebeat

EFK中如何進行ES集群開啟用戶認證

確認filebeat密鑰庫

./filebeat keystore list

EFK中如何進行ES集群開啟用戶認證


filebeat-配置filebeat.yml

配置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}"
      # 當類型是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中查看

EFK中如何進行ES集群開啟用戶認證


kibana角色權(quán)限相關(guān)文檔鏈接

https://www.elastic.co/guide/en/elasticsearch/reference/7.3/security-privileges.html#privileges-list-cluster

上述內(nèi)容就是EFK中如何進行ES集群開啟用戶認證,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI