首页主机资讯如何使用Filebeat监控Linux系统日志

如何使用Filebeat监控Linux系统日志

时间2026-01-17 05:35:03发布访客分类主机资讯浏览705
导读:使用 Filebeat 监控 Linux 系统日志 一 安装与准备 在 RHEL/CentOS 系列: 安装:执行 sudo yum install -y filebeat;或下载 RPM 包后用 sudo rpm -ivh fileb...

使用 Filebeat 监控 Linux 系统日志

一 安装与准备

  • RHEL/CentOS 系列:
    • 安装:执行 sudo yum install -y filebeat;或下载 RPM 包后用 sudo rpm -ivh filebeat-< 版本> -x86_64.rpm 安装。
    • 配置文件默认路径:/etc/filebeat/filebeat.yml
  • Debian/Ubuntu 系列:
    • 使用 apt 安装 Filebeat(官方仓库),配置文件同样位于 /etc/filebeat/filebeat.yml
  • 安装完成后,建议先备份原始配置:sudo cp /etc/filebeat/filebeat.yml /etc/filebeat/filebeat.yml.bak

二 配置 Filebeat 采集系统日志

  • 启用系统模块(推荐)
    • 执行:sudo filebeat modules enable system,如需自定义模块参数,编辑 /etc/filebeat/modules.d/system.yml
    • 说明:Filebeat 提供 system、auditd、nginx、apache、mysql 等模块,可一键完成常见日志的采集与解析。
  • 最小可用配置示例(直接读文件,适合快速验证)
    • 编辑 /etc/filebeat/filebeat.yml
      filebeat.inputs:
      - type: log
        enabled: true
        paths:
          - /var/log/*.log
          - /var/log/messages
        exclude_files: ["*.gz"]
        fields:
          type: systemlog
        fields_under_root: true
      
      output.elasticsearch:
        hosts: ["localhost:9200"]
        index: "system-logs-%{
      +yyyy.MM.dd}
      "
      
    • 要点:
      • paths 指定采集路径;exclude_files 排除压缩旧日志。
      • 通过 fields 添加自定义字段,便于后续在 ES/Kibana 中区分来源。
      • 索引名使用 %{ +yyyy.MM.dd} 做按日滚动。

三 启动与验证

  • 启动与开机自启
    • 启动:sudo systemctl start filebeat
    • 开机自启:sudo systemctl enable filebeat
    • 查看状态:sudo systemctl status filebeat
  • 查看运行日志(排查问题)
    • 使用 journalctlsudo journalctl -u filebeat -f
  • 快速自检
    • 确认进程与端口连通性(若输出到本机 ES):curl -X GET “localhost:9200”

四 输出到 Elasticsearch 与 Kibana 可视化

  • 若输出到 Elasticsearch
    • Kibana 访问 http://:5601,进入 Stack Management → Index Patterns,创建索引模式匹配 system-logs-*,时间字段选择 @timestamp,保存后即可在 Discover 查看。
  • 若经由 Logstash 处理再入 ES
    • 修改输出段为:
      output.logstash:
        hosts: ["logstash-host:5044"]
      
    • 在 Logstash 中配置 beats 输入与所需 filter 解析后输出到 ES。此方式便于做字段解析、脱敏与丰富。

五 常见问题与优化

  • 多行日志(如 /var/log/messages 的堆栈)
    • 在对应 input 下增加:
      multiline.pattern: '^\s'
      multiline.negate: true
      multiline.match: after
      
  • 大文件与性能
    • 调整 harvester.max_bytes(单次事件最大字节数),并确保与系统日志轮转后的单文件大小匹配,避免截断。
  • 忽略历史旧文件
    • 使用 ignore_older(如 24h7d)跳过过久未更新的文件,减少启动扫描压力。
  • 日志轮转适配
    • 配合 logrotate 正常轮转;Filebeat 会跟踪 inode 与偏移,一般无需额外处理。
  • 调试技巧
    • 前台运行查看事件:filebeat -e -c /etc/filebeat/filebeat.yml -d “publish”;如需强制从文件开头重读,可清理注册表目录(生产慎用):/var/lib/filebeat/registry(或解压包部署时的 data/registry)。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 如何使用Filebeat监控Linux系统日志
本文地址: https://pptw.com/jishu/782405.html
Ubuntu Oracle数据库恢复步骤是什么 Ubuntu Oracle如何处理并发连接

游客 回复需填写必要信息