温馨提示×

ubuntu filebeat如何进行日志查询

小樊
39
2026-01-03 14:12:51
栏目: 智能运维

Ubuntu 上 Filebeat 日志查询与排查

一 本地查询 Filebeat 自身日志

  • 使用 systemd 查看服务日志(推荐):实时跟踪用 sudo journalctl -u filebeat -f;查看最近 N 行用 sudo journalctl -u filebeat -n 100;按时间筛选用 sudo journalctl -u filebeat --since “2025-01-01”
  • 查看日志文件:Filebeat 默认写入 /var/log/filebeat/filebeat(或带扩展名 filebeat.log)。常用命令:sudo tail -f /var/log/filebeat/filebeatsudo tail -n 200 /var/log/filebeat/filebeatsudo grep -i “error” /var/log/filebeat/filebeat
  • 注意:若你在 filebeat.yml 中自定义了 path.logs,请到对应目录查看。

二 快速定位常见问题的命令清单

  • 检查运行状态:sudo systemctl status filebeat
  • 验证配置语法:sudo filebeat test config(或带显式配置:filebeat -c /etc/filebeat/filebeat.yml validate)。
  • 配置语法无误后再重启:sudo systemctl restart filebeat
  • 动态开启调试日志:在 /etc/filebeat/filebeat.yml 中设置 logging.level: debug,然后重启以输出更详细日志,便于排查。

三 查询 Filebeat 已采集并发送的业务日志

  • 确认输出目标健康:若输出到 Elasticsearch,可用 curl -X GET “localhost:9200/_cat/indices?v” 查看索引是否正常写入。
  • 在 Kibana 中检索:进入 Discover,选择 Filebeat 的索引模式,按时间范围与关键词(如 error、status:500)过滤,必要时在 Fields 中仅展示 message、host.name、log.file.path 等字段,提高可读性。
  • 若经由 Logstash 转发,也可在 Logstash 日志中确认是否收到事件:sudo tail -f /var/log/logstash/logstash-plain.log

四 日志轮转与权限小贴士

  • 建议为 /var/log/filebeat/ 配置 logrotate,示例:
    /var/log/filebeat/*.log {
    daily
    missingok
    rotate 7
    compress
    notifempty
    create 640 root adm
    }
  • 确保 Filebeat 对日志目录与采集文件具备读取权限,例如:sudo chown -R filebeat:filebeat /var/log/filebeat;采集系统日志时,必要时将 filebeat 用户加入 adm 组(或按需调整权限策略)。

0