温馨提示×

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

小樊
54
2025-09-24 06:48:26
栏目: 智能运维

如何在CentOS上使用Filebeat监控系统日志

1. 安装Filebeat

Filebeat是Elastic官方提供的轻量级日志收集器,支持CentOS系统。安装方式有两种:

  • 通过YUM仓库安装(推荐)
    先添加Elastic官方YUM仓库,再安装Filebeat:
    sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch sudo tee /etc/yum.repos.d/elasticsearch.repo <<EOF [elasticsearch-7.x] name=Elastic repository for 7.x packages baseurl=https://artifacts.elastic.co/packages/7.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md EOF sudo yum install -y filebeat 
  • 手动下载RPM包安装
    从Elastic官网下载对应版本的RPM包(如filebeat-7.14.0-x86_64.rpm),再用rpm命令安装:
    sudo rpm -ivh filebeat-7.14.0-x86_64.rpm 

2. 配置Filebeat监控系统日志

Filebeat的核心配置文件位于/etc/filebeat/filebeat.yml,需修改以下关键部分:

  • 定义输入源(filebeat.inputs)
    启用log类型输入,指定要监控的系统日志路径。例如,监控/var/log目录下所有.log文件(包括messagessecure等系统日志):
    filebeat.inputs: - type: log enabled: true paths: - /var/log/*.log ignore_older: 72h # 忽略72小时前的旧日志(可选,减少资源占用) 
    若只需监控特定日志(如/var/log/messages/var/log/secure),可调整为:
    paths: - /var/log/messages - /var/log/secure 
  • 配置输出目标(output)
    将日志发送到Elasticsearch(需提前安装并运行Elasticsearch):
    output.elasticsearch: hosts: ["localhost:9200"] # Elasticsearch地址(若不在本地,替换为IP) index: "system-logs-%{+yyyy.MM.dd}" # 自定义索引名称(按日期分割) 
    若需先发送到Logstash(需提前安装并运行Logstash),可配置:
    output.logstash: hosts: ["localhost:5044"] # Logstash地址 

3. 启动并启用Filebeat服务

配置完成后,启动Filebeat服务并设置为开机自启:

sudo systemctl daemon-reload # 重新加载systemd配置(若有修改) sudo systemctl start filebeat # 启动Filebeat sudo systemctl enable filebeat # 设置开机自启 

4. 验证Filebeat运行状态

  • 检查服务状态
    sudo systemctl status filebeat 
    若显示“Active: active (running)”,说明服务已正常启动。
  • 查看实时日志
    通过以下命令查看Filebeat的实时日志,确认是否成功收集并发送日志:
    sudo tail -f /var/log/filebeat/filebeat 
    若日志中出现“Successfully sent batch of events to Elasticsearch”或“Logstash output is configured”,说明配置生效。

5. 可选:使用Filebeat模块简化配置

Filebeat提供了针对常见系统日志(如systemnginxmysql)的预定义模块,可直接使用:

  • 启用系统模块
    sudo filebeat modules enable system 
    系统模块会自动监控/var/log/messages/var/log/secure等系统日志,并应用预定义的解析规则。
  • 配置模块输出
    模块配置文件位于/etc/filebeat/modules.d/system.yml,可根据需求调整(如过滤字段、添加标签)。
  • 重新加载配置
    sudo systemctl restart filebeat 

6. 可选:性能优化(针对大规模日志)

  • 调整并发设置
    filebeat.yml中增加max_procs(CPU核心数)和queue.mem.events(内存队列大小),提升处理能力:
    max_procs: 4 # 使用4个CPU核心 queue.mem.events: 4096 # 内存队列大小(默认1024) 
  • 启用批量发送
    增加bulk_max_size(每次发送的日志条数),减少网络请求次数:
    output.elasticsearch: bulk_max_size: 512 # 默认为20 
  • 使用filestream输入(推荐)
    Filebeat 7.0及以上版本推荐使用filestream输入类型(替代老旧的log类型),性能更优:
    filebeat.inputs: - type: filestream enabled: true paths: - /var/log/*.log 

通过以上步骤,即可完成Filebeat在CentOS上的部署,实现对系统日志的实时监控与传输。后续可通过Kibana连接Elasticsearch,进行日志的可视化分析与告警配置。

0