首页主机资讯filebeat能否与ubuntu的日志管理系统配合使用

filebeat能否与ubuntu的日志管理系统配合使用

时间2026-01-22 06:47:04发布访客分类主机资讯浏览432
导读:可行性与总体架构 可以,而且这是 Ubuntu 上非常常见、稳定的日志采集组合。常见做法是用 rsyslog/syslog-ng 负责系统日志的采集与转发,再由 Filebeat 从本地日志文件或直接监听 TCP/UDP 514 的 sys...

可行性与总体架构 可以,而且这是 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+ 常见)

    1. 启用模块
      sudo filebeat modules enable system
    2. 配置输出到 Logstash(/etc/filebeat/filebeat.yml)
      output.elasticsearch.enabled: false
      output.logstash:
      hosts: [“logstash.example.com:5044”]
    3. 启动服务
      sudo systemctl restart filebeat
      说明:如需解析 system.auth、system.syslog 等,保持 modules.d/system.yml 启用即可。
  • 示例B rsyslog 汇聚 + Filebeat 采集到 Logstash

    1. 汇聚端 rsyslog 打开 UDP 514 并打上源 IP 标记
      $ModLoad imudp
      $UDPServerRun 514
      $template myFormat,“%timestamp% %fromhost-ip% %syslogtag% %msg%\n”
      $ActionFileDefaultTemplate myFormat
    2. 客户端将日志发往汇聚端
      *.info; mail.none; authpriv.none; cron.none @192.0.2.10
    3. 汇聚端 Filebeat 采集 /var/log/messages 并输出到 Logstash
      filebeat.inputs:
    • type: log
      enabled: true
      paths:
      • /var/log/messages
        output.logstash:
        hosts: [“logstash.example.com:5044”]
    1. Logstash 简单管道示例(/etc/logstash/conf.d/beats.conf)
      input { beats { port => 5044 } }
      output { elasticsearch { hosts => [“http://es.example.com:9200”] index => “syslog-%{ +YYYY.MM.dd} ” } }
      说明:该结构便于横向扩展与集中治理。

实践建议

  • 权限与端口:在 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
deluser命令如何操作才能安全删除用户 filebeat能否监控ubuntu系统资源

游客 回复需填写必要信息