filebeat能否与ubuntu的日志管理系统配合使用
可行性与总体架构 可以,而且这是 Ubuntu 上非常常见、稳定的日志采集组合。常见做法是用 rsyslog/syslog-ng 负责系统日志的采集与转发,再由 Filebeat 从本地日志文件或直接监听 TCP/UDP 514 的 syslog 端口读取并转发到 Logstash/Elasticsearch,最终在 Kibana 做可视化。该模式在运维与审计场景中广泛使用,既利用了系统自带的日志能力,又保留了 Filebeat 的轻量转发与可靠性优势。
典型部署模式
-
模式A 直采系统日志文件
适用:保持 Ubuntu 默认 rsyslog 配置不动,仅新增 Filebeat。
做法:Filebeat 直接采集 /var/log/syslog、/var/log/auth.log 等系统日志文件,输出到 Logstash 或直接到 Elasticsearch。如需开箱即用地解析常见系统日志,可启用 Filebeat 的 system 模块(modules enable system)。该方式简单、侵入性最低。 -
模式B rsyslog 汇聚后由 Filebeat 采集
适用:需要集中汇聚多台主机的系统日志,或做统一落盘、策略分流。
做法:各主机将日志通过 rsyslog 发到日志汇聚服务器(UDP/TCP 514),在汇聚服务器上用 Filebeat 读取 /var/log/messages 或按主机分目录的日志文件,再统一送往 Logstash/ES。此模式便于在汇聚点做日志留存与访问控制。 -
模式C Filebeat 直接监听 syslog 端口
适用:无法在客户端安装 Filebeat,或设备仅支持 syslog 发送(如部分负载均衡、网络设备)。
做法:在中间日志服务器上启用 Filebeat 的 syslog 输入(UDP/TCP 514)直接接收网络 syslog,再转发到 ES/Kafka 等。注意在 Ubuntu 上需确保内核与用户态对 514 端口的权限配置正确(如使用能力 CAP_NET_BIND_SERVICE 或将服务以合适权限运行)。
快速配置示例
-
示例A 启用 system 模块直连 Logstash(Ubuntu 20.04+ 常见)
- 启用模块
sudo filebeat modules enable system - 配置输出到 Logstash(/etc/filebeat/filebeat.yml)
output.elasticsearch.enabled: false
output.logstash:
hosts: [“logstash.example.com:5044”] - 启动服务
sudo systemctl restart filebeat
说明:如需解析 system.auth、system.syslog 等,保持 modules.d/system.yml 启用即可。
- 启用模块
-
示例B rsyslog 汇聚 + Filebeat 采集到 Logstash
- 汇聚端 rsyslog 打开 UDP 514 并打上源 IP 标记
$ModLoad imudp
$UDPServerRun 514
$template myFormat,“%timestamp% %fromhost-ip% %syslogtag% %msg%\n”
$ActionFileDefaultTemplate myFormat - 客户端将日志发往汇聚端
*.info; mail.none; authpriv.none; cron.none @192.0.2.10 - 汇聚端 Filebeat 采集 /var/log/messages 并输出到 Logstash
filebeat.inputs:
- type: log
enabled: true
paths:- /var/log/messages
output.logstash:
hosts: [“logstash.example.com:5044”]
- /var/log/messages
- Logstash 简单管道示例(/etc/logstash/conf.d/beats.conf)
input { beats { port => 5044 } }
output { elasticsearch { hosts => [“http://es.example.com:9200”] index => “syslog-%{ +YYYY.MM.dd} ” } }
说明:该结构便于横向扩展与集中治理。
- 汇聚端 rsyslog 打开 UDP 514 并打上源 IP 标记
实践建议
- 权限与端口:在 Ubuntu 上使用 514 端口时,避免以 root 运行,可通过 CAP_NET_BIND_SERVICE 授权或采用更高端口(如 1514)并在 rsyslog 中对应调整。
- 可靠性:Filebeat 默认会记录读取偏移,具备“断点续传”能力;建议开启 持久化队列 与合理的 输出重试,提升网络抖动时的可靠性。
- 解析与成本:使用 system 模块 可获得开箱即用的字段解析;若日志量很大,建议在 Logstash 侧做批量处理与限流,或使用 Elasticsearch Ingest Pipeline 分担解析压力。
- 安全:跨机房/公网传输建议启用 TLS 加密(Filebeat 与 Logstash/ES 之间),并对 /var/log 的读取权限进行最小化配置。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: filebeat能否与ubuntu的日志管理系统配合使用
本文地址: https://pptw.com/jishu/789676.html
