温馨提示×

debian filebeat怎样收集日志

小樊
38
2026-09-09 11:25:52
栏目: 智能运维

在 Debian 上用 Filebeat 收集日志,通常分为 安装 → 配置 → 启动 → 验证 几个步骤。下面以 收集系统日志并发送到 Elasticsearch / Logstash 为例说明。


一、安装 Filebeat(Debian)

1. 使用官方 APT 源安装(推荐)

sudo apt update
sudo apt install curl gnupg -y

curl -fsSL 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

sudo apt update
sudo apt install filebeat -y

如果是 Elasticsearch 7.x,把 8.x 改成 7.x


二、配置 Filebeat

配置文件位置:

/etc/filebeat/filebeat.yml

1. 收集系统日志(最简单方式)

编辑配置文件:

sudo nano /etc/filebeat/filebeat.yml

示例(收集 /var/log/*.log):

filebeat.inputs:
  - type: filestream
    id: syslog
    paths:
      - /var/log/*.log
      - /var/log/syslog

2. 输出到 Elasticsearch

output.elasticsearch:
  hosts: ["http://localhost:9200"]
  username: "elastic"
  password: "your_password"

3. 或输出到 Logstash

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

三、启用 Filebeat 模块(可选但推荐)

例如收集系统日志、认证日志:

sudo filebeat modules enable system

查看已启用模块:

sudo filebeat modules list

四、初始化并启动

1. 测试配置

sudo filebeat test config
sudo filebeat test output

2. 设置开机启动

sudo systemctl enable filebeat
sudo systemctl start filebeat

3. 查看状态

systemctl status filebeat

五、验证日志是否收集成功

Elasticsearch 中查看

curl -u elastic:password http://localhost:9200/_cat/indices?v

或者用 Kibana

  • 打开 Kibana
  • Stack Management → Index Patterns
  • 创建 filebeat-*

六、常见示例

收集自定义应用日志

filebeat.inputs:
  - type: filestream
    paths:
      - /opt/myapp/logs/*.log

多行日志(如 Java 异常)

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

七、排错

查看日志:

journalctl -u filebeat -f

或:

cat /var/log/filebeat/filebeat

如果你愿意,可以告诉我:

  • 日志路径
  • 发送到 Elasticsearch 还是 Logstash
  • Debian 版本 & Filebeat 版本

我可以给你一份 可直接用的配置文件

0