如何监控Ubuntu上的Filebeat
使用systemctl命令可快速查看Filebeat服务的运行状态、是否启用开机自启及近期日志:
# 查看Filebeat服务状态(显示是否运行、加载的配置文件等)
sudo systemctl status filebeat
# 查看Filebeat实时日志(tail -f 实时滚动输出)
sudo journalctl -u filebeat -f
若服务未运行,可通过sudo systemctl start filebeat启动,sudo systemctl enable filebeat设置开机自启。
Filebeat的日志默认存储在/var/log/filebeat/filebeat中,可通过以下命令实时查看最新日志,用于诊断配置错误或运行异常:
sudo tail -f /var/log/filebeat/filebeat
日志中会记录文件监控、数据发送、连接后端(如Elasticsearch)等关键操作的详细信息。
Filebeat提供HTTP API接口,可获取其实例的详细运行信息(如版本、事件统计、文件监控状态等):
# 获取Filebeat概要信息(需替换为实际主机IP或域名)
curl http://<filebeat_host>:8080/api/v1/summary
返回的JSON数据包含event_count(发送事件总数)、file_states(监控文件状态)等关键指标,可用于自动化监控。
若已将Filebeat数据发送至Elasticsearch,可通过Kibana创建自定义Dashboard,可视化监控以下指标:
events.in)、事件处理延迟(queue.size);filebeat.registry.files)、新增/删除文件数;output.elasticsearch.success)。通过Filebeat的metrics输出插件(需在filebeat.yml中启用),将性能指标发送至Prometheus,再用Grafana创建Dashboard:
# 在filebeat.yml中添加metrics配置
output.metrics:
prometheus:
enabled: true
host: "localhost"
port: 9090
监控指标包括:CPU使用率(process.cpu.percent)、内存占用(process.memory.rss)、文件扫描频率(filebeat.scan.frequency)等。
修改filebeat.yml配置文件后,需通过以下命令测试配置语法是否正确,并重启Filebeat使变更生效:
# 测试配置文件语法(无错误输出则表示配置正确)
sudo filebeat test config -c /etc/filebeat/filebeat.yml
# 重启Filebeat服务
sudo systemctl restart filebeat
重启后,通过上述方法(如Systemctl状态、日志、API)确认Filebeat是否正常监控目标日志文件。
/var/log/syslog),可通过sudo chown修改文件所有者或添加用户至adm组。scan_frequency(扫描频率,默认10秒)和max_procs(并发进程数,默认为CPU核心数)参数,避免占用过高系统资源。