Filebeat的安装
选用filebeat的版本和es,kibana的版本号一致,我们之前采用的是7.2.0的版本,故需安装filebeat的版本是7.2.0 【filebeat-7.2.0-linux-x86_64.tar.gz】
解压,修改配置文件。
修改配置文件filebeat.yml
=============Filebeat inputs ==================
配置日志读取的路径 以及自定义的字段 注:要yml的格式
- type: log
enabled: true
#日志的路径
paths:
- /opt/data/cjwl56log/log/*/*.log
exclude_lines: ['^#']
#自定义的字段 fields
fields:
log_source: action
log_type: action (日志的分类标识 要唯一)
tail_files: true
scan_frequency: 60s
backoff: 10s
#如果是多个服务的话 加多个日志路径 日志分类
- type: log
enabled: true
paths:
- /opt/data/logs/api-gateway/*/*.log
exclude_lines: ['^#']
fields:
log_source: gateway
log_type: gateway
tail_files: true
scan_frequency: 60s
backoff: 10s
#================= Outputs =======================
注释掉
Elasticsearch output:下的设置
output.redis:
hosts: ["10.253.100.121:6379"] #输出到redis的机器
password: cjkj2020
db: 1 #redis数据库的一个整数索引标识,redis总共0-15默认16个库。
timeout: 5
key: "default_list" #以default_list的keys传输到redis
reconnect_interval: 1
如果日志有需要多行合并则需要正则表达式匹配
multiline.negate: true
multiline.pattern: '^[0-9]{2}:[0-9]{2}:[0-9]{2}'
multiline.match: after
multiline.max_lines: 300
如 时间格式开头是:16:06:34,则使用的配置是:multiline.pattern: '^[0-9]{2}:[0-9]{2}:[0-9]{2}'
如时间格式开头是:2018-08-30 18:53:03.751 则使用:'^\[[0-9]{4}-[0-9]{2}-[0-9]{2}'
multiline.pattern: '^at'的意思是以at 开头的,你的那个前面的空格,所以匹配不上;结合上面的示例,匹配自己的日志格式,灵活处理
其他的默认
filebeat启动:
nohup ./filebeat -e -c /application/filebeat-7.2.0-linux-x86_64/filebeat.yml > filebeat.log &