前言
之前的logback是基于库传送。需要入侵代码那种。实际更多的程序都是日志文件。
过程
使用filebeat来提交日志文件给lostash
# 日志输入配置
filebeat.inputs:
- type: log
enabled: true
paths:
# 需要收集的日志所在的位置,可使用通配符进行配置
#- /data/elk/*.log
- /logs/*.log
#日志输出配置(采用 logstash 收集日志,5044为logstash端口)
output.logstash:
hosts: ['172.17.0.1:5044']
使用容器启动filebeat
挂载日志文件夹
挂载配置文件
docker pull store/elastic/filebeat:7.4.1
docker run --restart=always --log-driver json-file --log-opt max-size=100m --log-opt max-file=2 --name filebeat --user=root -d -v /Users/ft521/Documents/work/insigmaunited/javaproject/lightai-module/logs/:/logs/ -v /Users/ft521/Documents/study/workspace/py-project/docker-elk/filebeat/config/filebeat.yml:/usr/share/filebeat/filebeat.yml docker.io/store/elastic/filebeat:7.4.1
新版本
docker pull docker.elastic.co/beats/filebeat:8.7.1
docker run --restart=always --log-driver json-file --log-opt max-size=100m --log-opt max-file=2 --name filebeat --user=root -d -v /Users/ft521/Documents/work/insigmaunited/javaproject/lightai-module/logs/:/logs/ -v /Users/ft521/Documents/study/workspace/py-project/docker-elk/filebeat/config/filebeat.yml:/usr/share/filebeat/filebeat.yml docker.elastic.co/beats/filebeat:8.7.1
加个自定义参数
# 日志输入配置
filebeat.inputs:
- type: log
enabled: true
fields:
app_name: "bj_api"
# local_type: 'tomcat' #这些都是附加的标签
# local_ip: 1.1.1.1
# local_host: 'prod_商品_1'
fields_under_root: true #将标签放到顶头,不然在message字段里
paths:
# 需要收集的日志所在的位置,可使用通配符进行配置
#- /data/elk/*.log
- /logs/*.log
#日志输出配置(采用 logstash 收集日志,5044为logstash端口)
output.logstash:
hosts: ['172.17.0.1:5044']
多个输入日志
例如增加nginx的日志
# 日志输入配置
filebeat.inputs:
- type: log
enabled: true
fields:
appname: "bj_api"
fields_under_root: true #将标签放到顶头,不然在message字段里
paths:
# 需要收集的日志所在的位置,可使用通配符进行配置
- /logs/*.log
- type: log
enabled: true
fields:
appname: "bj_nginx"
fields_under_root: true #将标签放到顶头,不然在message字段里
paths:
# 需要收集的日志所在的位置,可使用通配符进行配置
- /nginx/logs/*.log
#日志输出配置(采用 logstash 收集日志,5044为logstash端口)
output.logstash:
hosts: ['172.17.0.1:5044']
网友评论