想用filebeat读取项目的日志,然后发送logstash。logstash官网有相关的教程,但是docker部署的教程都太简洁了。自己折腾了半天,踩了不少坑,总算是将logstash和filebeat用docker部署好了,这儿简单记录一下
1. 编写logstash配置文件logstasgh.conf
输入是从filebeat中获取的,输出配置的是一个http端
input {
beats {
port => ""
}
}
output {
http {
http_method => "post"
url => "http://127.0.0.1/log"
format => "json"
}
stdout { codec => rubydebug }
}
2. 获取logstash的docker镜像
docker pull docker.elastic.co/logstash/logstash:7.1.
3. 通过dokcer启动logstash
docker run -p : --name logstash -d \
-v /path/to/logstash.conf:/usr/share/logstash/pipeline/logstash.conf \
docker.elastic.co/logstash/logstash:7.1.
1. 编写filebeat的配置文件filebeat.yml
filebeat.inputs:
type: log
paths:
fields:
project-name: your_project_name
exclude_lines: ['INFO']
include_lines: ['ERROR']
multiline.pattern: '^\['
multiline.negate: true
multiline.match: after
ignore_older: 168h
tail_files: true
output.logstash:
hosts: ["127.0.0.1:5044"]
2. 获取filebeat的docker镜像
docker pull docker.elastic.co/beats/filebeat:7.1.
3. 通过dokcer启动filebeat
docker run --name filebeat -d \
-v /path/to/:/var/log/:ro \
-v /path/to/filebeat.yml:/usr/share/filebeat/filebeat.yml \
docker.elastic.co/beats/filebeat:7.1.
手机扫一扫
移动阅读更方便
你可能感兴趣的文章