1.安装ELK

此处采用别人整合好的ELK

1.1 拉取ELK镜像

docker pull sebp/elk

在这里插入图片描述

1.2 启动ELK镜像

docker run -d -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -p 5601:5601 -p 5044:5044 -p 9200:9200 -p 9300:9300 -it --restart=always --name elk f57441bf3a1a

1.3 修改ELK 中Logstash的配置信息

docker exec -it elk /bin/bash

vim /etc/logstash/conf.d/01-zhangsan-input.conf

编写以下内容

input {
    tcp {
        port => 5044
        codec => json_lines
    }
}
output{
    elasticsearch {
    hosts => ["localhost:9200"]
    index => "zhangsan-server-log-%{+YYYY.MM.dd}"
    }
}

1.4 重启ELK

docker restart elk

1.5 查看运行效果图

在这里插入图片描述
在这里插入图片描述

2.为ElasticSearch添加密码

2.1 修改ElasticSearch中elasticsearch.yml文件

docker exec -it elk /bin/bash

cd /etc/elasticsearch

vim elasticsearch.yml
##在文件的尾部加入下面的配置
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true

2.2 执行如下的命令来设置密码

 /opt/elasticsearch/bin/elasticsearch-setup-passwords interactive

##会输入很多次密码 最好都是一样的以便于管理

2.3 设置kibana的密码和中文

vim /opt/kibana/config/kibana.yml 

##在文件尾部加入
i18n.locale: "zh-CN"
kibana.index: ".kibana"
#这个不用动默认就是elastic
elasticsearch.username: "elastic"
elasticsearch.password: "刚刚设置的密码"

2.4 更改Logstash中的输入配置

ElasticSearch设置了密码 写入的时候也需要提供ES的账户和密码

vim /etc/logstash/conf.d/01-zhangsan-input.conf
input {
    tcp {
        port => 5044
        codec => json_lines
    }
}
output{
    elasticsearch {
    hosts => ["localhost:9200"]
    index => "zhangsan-server-log-%{+YYYY.MM.dd}"
    user => "elastic"
    password => "ElasticSearch的密码"
 }
}

2.5 运行效果图

在这里插入图片描述

Q.E.D.