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密碼時建議不要有符號加入。