ubuntu

ubuntu如何利用filebeat进行系统监控

小樊
48
2025-10-10 12:58:12
栏目: 智能运维

1. 安装Filebeat
在Ubuntu上安装Filebeat前,先更新系统软件包列表:

sudo apt-get update && sudo apt-get upgrade -y

添加Elastic官方GPG密钥和软件源(以7.x版本为例):

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list

更新软件源并安装Filebeat:

sudo apt-get update && sudo apt-get install filebeat -y

2. 配置Filebeat监控系统日志
Filebeat的主配置文件位于/etc/filebeat/filebeat.yml,需修改filebeat.inputs部分指定监控的日志路径。例如,监控系统默认日志(syslogauth.log)和所有.log文件:

filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /var/log/syslog
    - /var/log/auth.log
    - /var/log/*.log
  ignore_older: 72h  # 忽略超过72小时的旧日志,减少资源占用

若需解析JSON格式日志(如某些应用的自定义日志),可添加processors配置:

processors:
- decode_json_fields:
    fields: ["message"]  # 从message字段提取JSON内容
    target: ""           # 解析后的字段存入根对象

3. 启动Filebeat服务
保存配置文件后,启动Filebeat并设置为开机自启:

sudo systemctl start filebeat
sudo systemctl enable filebeat

检查服务状态,确认运行正常:

sudo systemctl status filebeat

若状态显示为active (running),则表示Filebeat已成功启动。

4. 验证日志收集与发送
查看Filebeat自身日志,排查配置错误:

sudo journalctl -u filebeat -f  # 实时查看日志

若输出目标为Elasticsearch(默认配置),可通过以下命令检查Elasticsearch中的索引:

curl -X GET "localhost:9200/_cat/indices?v"  # 查看所有索引

若索引前缀为filebeat-*,说明Filebeat已成功发送系统日志到Elasticsearch。

5. 可选:使用System模块简化配置
Filebeat提供system模块,预定义了系统日志(如syslogauth.logkernel.log)的收集、解析规则,无需手动配置filebeat.inputs。启用步骤如下:

sudo filebeat modules enable system  # 启用system模块

修改filebeat.yml,配置输出目标(如Elasticsearch):

output.elasticsearch:
  hosts: ["localhost:9200"]
  index: "system-logs-%{+yyyy.MM.dd}"  # 索引按日期分割

重新加载配置并启动Filebeat:

sudo systemctl restart filebeat

6. 高级配置(可选)

7. 监控Filebeat自身状态
通过systemctl命令监控Filebeat运行状态:

sudo systemctl status filebeat

查看Filebeat日志,确认是否有错误:

sudo tail -f /var/log/filebeat/filebeat.log

若需长期监控Filebeat的性能指标(如CPU、内存使用率),可使用tophtopprometheus+grafana组合,设置告警规则(如CPU使用率超过80%时触发邮件通知)。

0
看了该问题的人还看了