ELK-FileBeat日志采集器

ELK-FileBeat简介

Filebeat是本地文件的日志数据采集器,可监控日志目录或特定日志文件(tail file),
并将它们转发给Elasticsearch或Logstatsh进行索引、kafka等。
带有内部模块(auditd,Apache,Nginx,System和MySQL),
可通过一个指定命令来简化通用日志格式的收集,解析和可视化。

参考:https://www.jianshu.com/p/0a5acf831409
           https://blog.51cto.com/12182612/2384231
  1. 下载
https://www.newbe.pro/Mirrors/Mirrors-Filebeat/
感谢这个大佬,这里下载非常块

或者

链接:https://pan.baidu.com/s/1g6wdMH7d_wtkHEgjDhHqTg 
提取码:a489

2.解压

tar -zxvf filebeat-6.7.0-linux-x86_64.tar.gz

3.修改配置文件 filebeat.yml 仅贴出简单使用部分,具体参数大家可以参考官方文档

filebeat.prospectors:
- type: log                              # 指定文件的输入类型log(默认)或者stdin
  paths: ["/data/log/*.out"]     # 日志文件所在路径
  enable: true	             		#开启监视,不开不采集
  multiline.pattern: '^\-'         #多行合并,正则表达式匹配规则
  multiline.negate: true        #定义是否为否定模式,也就是和上面定义的模式相反。 默认为false。
  multiline.match: after        #指定Filebeat如何将匹配的行组合到事件中。 设置在之后 (after) 或之前 (before)。 这些设置的行为取决于你为否定指定的内容:
output.logstash.hosts: ["xxx.xxx.xxx.xx:5044"]      #logstash的路径

4.启动

./filebeat -e -c filebeat.yml

filebeat启动成功后,会读取指定文件夹的日志,然后发往logstash;

logstash如果也是运行正常的话,会在Logstash的控制台看到打印日志;

在这里插入图片描述
在这里插入图片描述
5.在kibana查看是否已经生成索引
在这里插入图片描述
在这里插入图片描述
6.具体解释多行合并

multiline.pattern:  '^\-' 
multiline.negate: true
multiline.match: after

当不配置以上代码,fileBeat会一行一行的将日志记录输送到logstash中,那么在kibana体现出来的效果,原本应该在一行的日志,会被拆分成多行;

在这里插入图片描述

所以需要增加多行合并配置;

参考配置含义:
multiline.pattern

指定要匹配的正则表达式模式。 请注意,Filebeat支持的正则表达式模式与Logstash支持的模式有些不同。

multiline.negate

定义是否为否定模式,默认为false,意思就是与正则表达式匹配;

multiline.match

指定Filebeat如何将匹配的行组合到事件中。 设置在之后 (after) 或之前 (before)。 这些设置的行为取决于你为否定指定的内容:

在这里插入图片描述

5.具体示例:
在这里插入图片描述

参考我的日志输出格式,代码中做了统一日志处理,形成日志统一按照下面这种格式分割
--------------------------------------------------------------------------------
xxxxxxx
--------------------------------------------------------------------------------
xxxxxxx
--------------------------------------------------------------------------------

multiline.pattern:  '^\-' 
multiline.negate: true
multiline.match: after

解释:将所有不以 - 开头的行,追加到以 - 开头的行后面,形成一行数据,传送给Logstash;

在这里插入图片描述

是不是格式就跟我输出的日志一模一样了,看上去效果非常好;
但是其实我的message很长的,它没有完全展示出来;
需要修改 truncate:maxHeight = 0

在这里插入图片描述
在这里插入图片描述

修改此配置后,日志完美展示出来

在这里插入图片描述

参考文章:https://www.cnblogs.com/sanduzxcvbnm/p/12941286.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值