我的filebeat之旅

本文围绕Filebeat展开,介绍其在分布式日志收集场景中的应用。作者因服务器数量少,放弃使用较重的Logstash,选择稳定高效的Filebeat直接发送日志到ES。详细阐述了在三台服务器上搭建Filebeat的步骤,包括下载、解压、配置文件等,还说明了Kibana使用Filebeat日志的操作方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.怎么接触到filebeat?它干嘛的?

​ 在做分布式日志收集elk的时候,使用logstash来采集日志。由于logstash可以对文件进行过滤。所以会比较重,而我的服务器只有两三台,感觉已经不必要使用logstash进行缓存或者过滤。甚至有人建议filebeat发送到logstash然后再给es,其实都可以,或者其中加kafka、redis等这些都是比较大型的项目才会用到。

​ filebeat的本质是使用tail -f 来监控路径下的文件变化,然后通过网络协议传输到目标(es、logstash等)上。设计比较简单,虽然功能单一,但是稳定高效。我这里使用之直接发送到我的es上。

二.讲一讲我的项目环境

​ 三台服务器:A、B、C,es单独搭建在服务器D上。现在在A、B、C上都搭建filebeat,然后将日志送给D。这里还需要提一下版本问题:最好是filebeat的版本和es对应,我这里选的都是7.6.2

三.开始搭建filebeat

1.下载需要的版本

2.安装解压

3.我这里新建了一个配置文件(myconf.yml)。

​ 发现网络上找到的好多配置都是不完整的,所以全部分享下我的配置。然后由于filebeat自动生成的es索引格式是"filebeat-版本-日期-序号",我想要改成自定义的索引所以加了改造。

filebeat.inputs:
- type: log
  enabled: true
  # 日志地址(本机)。*表示匹配任意
  paths:
    - /app/logs/pavin/*/*.log
  # 以json格式进行传输  
  json.keys_under_root: true
  json.overwrite_keys: true

output.elasticsearch:
		# es的地址
    hosts: ["10.204.???.???:9200"]
    # 自定义es的索引名称。后面的变量表示会根据日期来进行创建
    index: "pavin-log-%{+YYYY.MM.dd}"

#以下配置禁用filebeat-version-yyyy.mm.dd-xxxx来做索引,而用我们自己的
#取个名字
setup.template.name: "pavin-log"
#这是指定分析索引为-开头的所有
setup.template.pattern: "pavin-log-*"
#禁用自定义模板
setup.template.enabled: false
#覆盖原来的模板
setup.template.overwrite: true
#停用ilm 这一步很重要
setup.ilm.enabled: false

4.启动filebeat(在启动脚本的路径下)

nohup ./filebeat -e -c myconf.yml &

5.稍等一会观察是否启动成功。(还可以查看nohup.out的启动日志)

ps -ef|grep filebeat

四.kibana使用这个filebeat的日志

​ kibana新为这个索引创建模型,然后就可以在检索里面选中然后操作了。kibana时间排序的标志在记录的时间栏旁边有小图标,然后直接输入时模糊查询,输入带引号的时精确查询。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值