温馨提示×

debian filebeat如何收集日志

小樊
52
2026-07-21 15:31:45
栏目: 智能运维

在 Debian 上用 Filebeat 收集日志,一般分为 安装 → 配置 → 启动 → 验证 四个步骤。下面给你一个最常见、可直接照做的实战流程,包括 systemd 日志 + 自定义日志 + 输出到 Elasticsearch / Logstash


一、安装 Filebeat(Debian / Ubuntu)

1️⃣ 添加 Elastic 官方仓库

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elastic-keyring.gpg

echo "deb [signed-by=/usr/share/keyrings/elastic-keyring.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main" \
| sudo tee /etc/apt/sources.list.d/elastic-8.x.list

2️⃣ 安装 Filebeat

sudo apt update
sudo apt install filebeat -y

二、Filebeat 基础配置

配置文件路径:

/etc/filebeat/filebeat.yml

示例:收集系统日志 + 自定义日志

filebeat.inputs:
  - type: filestream
    enabled: true
    paths:
      - /var/log/syslog
      - /var/log/auth.log

  - type: filestream
    enabled: true
    paths:
      - /var/log/myapp/*.log

processors:
  - add_host_metadata:
      when.not.contains:
        tags: forwarded

output.elasticsearch:
  hosts: ["localhost:9200"]
  username: "elastic"
  password: "你的密码"

✅ 如果你 不用 Elasticsearch,可以改成:

output.logstash:
  hosts: ["localhost:5044"]

三、启用 systemd 模块(常见做法)

Filebeat 自带 systemd 模块,比直接读文件更规范。

启用 systemd 模块

filebeat modules enable system

配置 system 模块

编辑:

/etc/filebeat/modules.d/system.yml

示例:

- module: system
  syslog:
    enabled: true
  auth:
    enabled: true

四、测试配置

filebeat test config
filebeat test output

五、启动并设置开机自启

sudo systemctl enable filebeat
sudo systemctl start filebeat

查看状态:

systemctl status filebeat

查看日志:

journalctl -u filebeat -f

六、常见日志收集场景

✅ 1. 收集自定义应用日志

- type: filestream
  enabled: true
  paths:
    - /opt/app/logs/*.log

✅ 2. 多行日志(如 Java 异常)

multiline.pattern: '^[0-9]{4}-[0-9]{2}-[0-9]{2}'
multiline.negate: true
multiline.match: after

✅ 3. JSON 日志

json.keys_under_root: true
json.add_error_key: true

七、权限问题(非常重要)

如果 Filebeat 无法读取日志:

sudo usermod -aG adm filebeat
sudo usermod -aG systemd-journal filebeat

或临时测试:

sudo chmod 644 /var/log/syslog

八、验证是否成功

Elasticsearch 查询

curl -X GET "localhost:9200/_cat/indices?v"

Kibana

  • 打开 Kibana
  • 访问 Discover
  • 选择 filebeat-*

九、常见错误排查

问题 解决
无数据 检查 enabled: true
权限拒绝 检查用户组
数据重复 删除 registry
时间不对 检查时区

十、简单总结(速查)

apt install filebeat
vim /etc/filebeat/filebeat.yml
filebeat modules enable system
systemctl enable --now filebeat

如果你愿意,我可以帮你:

  • ✅ 写 完整生产级 filebeat.yml
  • ✅ 对接 Logstash → Elasticsearch
  • ✅ 收集 Docker / Nginx / Java / Python 日志
  • ✅ 用 Kibana 做可视化

你现在是 学习环境 还是 生产服务器

0