filebeat:负责将日志数据传输到redis
Redis:暂时进行缓存
logstash:收集缓存中的日志数据
elasticsearch:负责存储日志数据
kibana:负责显示日志的数据
流程图
拉取filebeat镜像
docker pull elastic/filebeat
启动filebeat
docker run -d --name filebeat -v /docker/filebeat/filebeat.yml:/usr/share/filebeat/filebeat.yml -v /docker/www:/docker/www --privileged=true elastic/filebeat:7.5.1
vim filebeat.yml
配置文件
filebeat.inputs:
- type: log
paths:- /docker/www/lmrs-2008/storage/logs/laravel.log
multiline.pattern: '^\[[0-9]{4}-[0-9]{2}-[0-9]{2}'
multiline.negate: true
multiline.match: after
multiline.timeout: 5s
scan_frequency: 5s
fields:
index: 'laravel-log'
output.redis:
hosts: ["192.168.126.105:6379"]
db: "0"
timeout: 5
password: "lmrs"
key: "%{[fields.index]:otherIndex}"
vim kibana.yml
配置文件
server.name: "kibana"
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://192.168.126.105:9200"]
xpack.monitoring.ui.container.elasticsearch.enabled: true
logging.dest: /var/log//kibana/kibana.log
i18n.locale: "zh-CN"