项目地址: RuoYi-Cloud-Plus
环境搭建 目录结构注意: elasticsearch 内的所有文件夹都需要有写权限
chmod 777 /docker/elk/elasticsearch/data
chmod 777 /docker/elk/elasticsearch/logs
为了便于测试 这里使用 host 网络模式 可根据需求自行调整
version: '3'
services:
elasticsearch:
image: elasticsearch:7.17.2
container_name: elasticsearch
ports:
- "9200:9200"
- "9300:9300"
environment:
# 设置集群名称
cluster.name: elasticsearch
# 以单一节点模式启动
discovery.type: single-node
ES_JAVA_OPTS: "-Xms512m -Xmx512m"
volumes:
- /docker/elk/elasticsearch/plugins:/usr/share/elasticsearch/plugins
- /docker/elk/elasticsearch/data:/usr/share/elasticsearch/data
- /docker/elk/elasticsearch/logs:/usr/share/elasticsearch/logs
network_mode: "host"
kibana:
image: kibana:7.17.2
container_name: kibana
ports:
- "5601:5601"
depends_on:
# kibana在elasticsearch启动之后再启动
- elasticsearch
environment:
#设置系统语言文中文
I18N_LOCALE: zh-CN
# 访问域名
# SERVER_PUBLICBASEURL: https://kibana.cloud.com
volumes:
- /docker/elk/kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml
network_mode: "host"
logstash:
image: logstash:7.17.2
container_name: logstash
ports:
- "4560:4560"
volumes:
- /docker/elk/logstash/pipeline/logstash.conf:/usr/share/logstash/pipeline/logstash.conf
- /docker/elk/logstash/config/logstash.yml:/usr/share/logstash/config/logstash.yml
depends_on:
- elasticsearch
network_mode: "host"
kibana配置 kibana.yml
server.host: "0.0.0.0" server.shutdownTimeout: "5s" elasticsearch.hosts: [ "http://127.0.0.1:9200" ] monitoring.ui.container.elasticsearch.enabled: truelogstash配置
服务主体配置 logstash.yml
http.host: "0.0.0.0" xpack.monitoring.elasticsearch.hosts: [ "http://127.0.0.1:9200" ]
传输管道配置 logstash.conf
input {
tcp {
mode => "server"
host => "0.0.0.0"
port => 4560
codec => json_lines
}
}
output {
elasticsearch {
hosts => "127.0.0.1:9200"
index => "%{[spring.application.name]}-%{+YYYY.MM.dd}"
}
}
启动所有服务
docker-compose up -d elasticsearch kibana logstash
访问 9200 端口查看 elasticsearch 是否启动成功
访问 5601 端口查看 kibana 是否启动成功
net.logstash.logback
logstash-logback-encoder
7.1.1
修改项目内的 logback.xml 文件 增加 logstash 配置
启动项目查看是否成功推送日志 配置索引模式127.0.0.1:4560 {"spring.application.name":"${appName}"}
这里使用通配符 整合查看所有 ruoyi- 开头的索引



