ELK(ElasticSearch+Logstash+Kibana)配置中的一些坑基於7.6版本
三個組件都是採用Docker鏡像安裝,過程簡單不做贅述,直接使用Docker官方鏡像運行容器即可,注意三個組件版本必須一致。
運行容器時最好將三個組件的核心配置文件與主機做映射,方便直接在主機修改不用每次進入容器修改。
ES配置文件elasticsearch.yml:(配置了ES用戶名和密碼,也可以不開啟認證)
cluster.name: "docker-cluster" network.host: 0.0.0.0 # 訪問ID限定,0.0.0.0為不限制,生產環境請設置為固定IP transport.host: 0.0.0.0 # elasticsearch節點名稱 node.name: node-1 # elasticsearch節點資訊 cluster.initial_master_nodes: ["node-1"] # 下面的配置是關閉跨域驗證(可以不開啟) http.cors.enabled: true http.cors.allow-origin: "*" # 開啟用戶名密碼認證 xpack.security.enabled: true xpack.license.self_generated.type: basic xpack.security.transport.ssl.enabled: true # 配置head插件認證 http.cors.allow-headers: Authorization
Kibana配置文件kibana.yml:(配置了Kibana用戶名和密碼,注意不是ES用戶)
server.port: 5601 server.host: "0.0.0.0" elasticsearch.hosts: ["//ip:9200"] # 操作介面語言設置為中文 i18n.locale: "zh-CN" # 這裡的用戶名kibana我們會在ES設置 elasticsearch.username: "kibana" elasticsearch.password: "kibana的密碼"
Logstash配置文件:(Logstash新增了pipeline流水線運行方式,所以需要配置三個文件)
logstash.conf(此處需要填寫ES用戶的用戶名密碼,監聽日誌的埠5044,輸出目標ES資訊和索引)
input { tcp { port => 5044 codec => json_lines } } filter { } output { stdout { codec => rubydebug } elasticsearch { hosts => ["ip:9200"] index => "logstash-%{[server_name]}-%{+YYYY.MM.dd}" user => elastic password => es密碼 } }
pipeline.yml(這裡我的logstash環境只有一個指向一個路徑就可以了)
# This file is where you define your pipelines. You can define multiple. # For more information on multiple pipelines, see the documentation: # https://www.elastic.co/guide/en/logstash/current/multiple-pipelines.html - pipeline.id: main path.config: "/usr/share/logstash/pipeline/logstash.conf"
logstash.yml(此處需要填logstash_system用戶的用戶名密碼)
http.host: "0.0.0.0" xpack.monitoring.enabled: true xpack.monitoring.elasticsearch.username: logstash_system xpack.monitoring.elasticsearch.password: logstash密碼 xpack.monitoring.elasticsearch.hosts: [ "//47.103.159.79:9200" ]
至此我們已經有三個用戶了,ES用戶,Kibana用戶,logstash_system用戶。
通俗來講,ES用戶超級管理員,Kibana和Logstash用戶只能各司其職。
成功啟用後你的Kibana會多出一些用戶選項,以後可以直接在Kibana中修改密碼了


其他的用戶用到的時候再設置就行。
在設置logstash的時候有個坑

大體意思是執行logstash.conf時錯誤,一般是格式問題導致編譯失敗,但是這裡是輸入ES密碼時出現了「=」等號,不在規定字符集中,所以設置ES密碼時建議不要有符號加入。

