Filebeat在Ubuntu上的插件使用指南
Filebeat的“插件”主要以**模块(Module)**形式提供,覆盖常见服务(如System、Redis、MySQL、Nginx等),包含预定义的配置模板(日志路径、解析规则、输出格式),无需额外安装即可使用。Ubuntu环境下,启用模块的步骤如下:
通过Ubuntu官方仓库安装最新稳定版Filebeat:
sudo apt update
sudo apt install filebeat
模块默认未启用,需通过modules enable
命令激活。例如启用System模块(收集Ubuntu系统日志,如auth、syslog):
sudo filebeat modules enable system
启用后,模块配置文件会自动生成于/etc/filebeat/modules.d/
目录(如system.yml
)。
查看已启用的模块列表:
sudo filebeat modules list
输出应包含system
模块(状态为“enabled”)。
编辑/etc/filebeat/filebeat.yml
,设置数据输出到Elasticsearch(默认本地):
output.elasticsearch:
hosts: ["localhost:9200"]
若需输出到Logstash,可将output.elasticsearch
注释,并启用output.logstash
:
output.logstash:
hosts: ["localhost:5044"]
启动Filebeat并设置为开机自启:
sudo systemctl start filebeat
sudo systemctl enable filebeat
通过sudo systemctl status filebeat
确认服务状态(应为“active (running)”)。
若需监控非模块覆盖的日志(如应用自定义日志),可通过**修改filebeat.inputs
**配置自定义输入。例如,监控/var/log/myapp/*.log
文件:
打开/etc/filebeat/filebeat.yml
,添加以下内容:
filebeat.inputs:
- type: log # 使用log类型的输入插件
enabled: true
paths:
- /var/log/myapp/*.log # 监控的日志路径(支持通配符)
ignore_older: 72h # 忽略超过72小时的旧日志
fields:
app_name: "myapp" # 添加自定义字段(可选)
fields_under_root: true # 将自定义字段提升至根层级(可选)
通过processors
对日志数据进行预处理,例如添加标签、删除无用字段:
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/myapp/*.log
processors:
- add_tags:
tags: ["production", "myapp"] # 添加标签
- drop_fields:
fields: ["offset", "source"] # 删除offset和source字段
保存文件后,重启Filebeat使配置生效:
sudo systemctl restart filebeat
若需监控第三方服务(如MongoDB、Kafka),可通过以下方式获取模块:
方法1:通过Elastic官方仓库
部分第三方模块(如Redis)可通过Elastic APT仓库安装。添加仓库并安装:
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
echo "deb https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-8.x.list
sudo apt update
sudo apt install filebeat-module-redis # 以Redis模块为例
方法2:手动下载模块
从GitHub下载第三方模块代码(如Redis模块),复制到/etc/filebeat/modules.d/
目录:
git clone https://github.com/elastic/beats.git
sudo cp -r beats/x-pack/filebeat/module/redis/* /etc/filebeat/modules.d/
编辑对应模块的YAML文件(如/etc/filebeat/modules.d/redis.yml
),启用模块并设置日志路径:
- module: redis
log:
enabled: true
var.paths: ["/var/log/redis/redis-server.log*"] # Redis日志路径
启用模块并重启Filebeat:
sudo filebeat modules enable redis
sudo systemctl restart filebeat
查看模块的默认配置(如system
模块):
sudo filebeat test config -e
首次使用模块时,需加载索引模板(包含映射规则):
sudo filebeat setup --index-management
此命令会将模块的索引模板加载到Elasticsearch,并创建Kibana仪表板(若已安装Kibana)。
若模块无法正常工作,查看Filebeat日志定位问题:
sudo tail -f /var/log/filebeat/filebeat
sudo filebeat modules list
),且配置文件语法正确(可通过filebeat test config
验证)。sudo chown -R filebeat:filebeat /var/log/myapp
)。通过以上步骤,可在Ubuntu上灵活使用Filebeat的内置模块、自定义输入及第三方模块,实现各类日志的收集与转发。具体配置可根据实际需求调整,建议参考Filebeat官方文档获取最新信息。