温馨提示×

如何通过Filebeat监控CentOS系统日志

小樊
43
2025-11-21 21:36:09
栏目: 智能运维

在 CentOS 上用 Filebeat 监控系统日志的完整步骤

一 准备与安装

  • root 或具备 sudo 权限的账号操作,更新系统并安装 Filebeat:
    • 更新系统:sudo yum update -y
    • 导入 Elastic GPG 并添加仓库(以 7.x 为例):
      • sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
      • echo -e “[elasticsearch-7.x]\nname=Elasticsearch repository for 7.x packages\nbaseurl=https://artifacts.elastic.co/packages/7.x/yum\ngpgcheck=1\ngpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch\nenabled=1\nautorefresh=1\ntype=rpm-md” | sudo tee /etc/yum.repos.d/elasticsearch.repo
    • 安装 Filebeat:sudo yum install filebeat -y
  • 说明:也可直接下载 RPM 包安装(示例版本 7.14.0):wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.14.0-x86_64.rpm && sudo rpm -vi filebeat-7.14.0-x86_64.rpm。

二 配置 Filebeat 收集系统日志

  • 编辑配置文件:sudo vi /etc/filebeat/filebeat.yml
  • 推荐最小配置(直接写入 Elasticsearch,按日创建索引):
    • filebeat.inputs:
      • type: log enabled: true paths:
        • /var/log/messages
        • /var/log/secure
        • /var/log/audit/audit.log ignore_older: 72h close_inactive: 1m
    • output.elasticsearch: hosts: [“localhost:9200”] index: “filebeat-%{+yyyy.MM.dd}”
  • 说明:
    • 仅收集系统关键日志时,将 paths 精确为 /var/log/messages/var/log/secure/var/log/audit/audit.log 等;需要更大范围时可用 /var/log/*.log
    • 生产环境建议使用 filestream 输入类型替代 log,以获得更好的文件处理与恢复能力(示例见“进阶优化”)。
    • 若 Elasticsearch 不在本机,将 hosts 改为实际地址(如 “es.example.com:9200”)。

三 启动与验证

  • 启动并设为开机自启:
    • sudo systemctl start filebeat
    • sudo systemctl enable filebeat
  • 查看服务状态:sudo systemctl status filebeat
  • 查看 Filebeat 自身日志(排错常用):sudo tail -f /var/log/filebeat/filebeat
  • 若输出到本机 Elasticsearch,验证索引是否生成:
    • curl -X GET “localhost:9200/_cat/indices?v” | grep filebeat
  • 使用 Kibana 可视化(可选):
    • 访问 http://<kibana_host>:5601
    • 在 Kibana 创建索引模式,匹配 filebeat-*
    • 打开 Discover 查看实时日志

四 进阶优化与常见问题

  • 输入类型与性能
    • 优先使用 filestream:type: filestream,配合 harvester 与 scan_frequency 调整采集与扫描频率,提升大文件与滚动日志场景的稳定性与效率。
  • 可靠性与状态
    • 避免误删 /var/lib/filebeat/registry(注册表记录读取偏移);若状态丢失可能导致重复发送。
  • 处理能力与批量
    • 适度提高批量发送与并发参数(如 output.elasticsearch.bulk_max_size),并减少不必要的处理器,降低 CPU 与内存开销。
  • 安全与合规
    • 跨机房/公网传输建议启用 TLS/HTTPS 与身份认证;Elasticsearch 与 Kibana 建议开启安全配置与访问控制。

0