温馨提示×

debian上filebeat怎样收集日志

小樊
45
2026-10-03 11:56:45
栏目: 智能运维

在 Debian 上通过 Filebeat 收集日志,一般流程如下(以 Elastic Stack / ELK 场景为例,也适用于直接输出到 logstash、elasticsearch、kafka 等)。


一、安装 Filebeat(Debian)

方式 1:使用官方 APT 源(推荐)

sudo apt update
sudo apt install -y curl gpg

# 导入 Elastic GPG
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 -y filebeat

如需 7.x,把 8.x 改成 7.x

方式 2:直接下载 deb 包

wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-8.x.x-amd64.deb
sudo dpkg -i filebeat-8.x.x-amd64.deb

二、配置 Filebeat

配置文件路径:

/etc/filebeat/filebeat.yml

1️⃣ 收集系统日志(示例)

filebeat.inputs:
  - type: filestream
    id: system-logs
    paths:
      - /var/log/syslog
      - /var/log/auth.log

output.elasticsearch:
  hosts: ["http://localhost:9200"]

2️⃣ 收集自定义应用日志

filebeat.inputs:
  - type: log
    enabled: true
    paths:
      - /var/log/myapp/*.log
    fields:
      app: myapp

3️⃣ 输出到 Logstash(常见)

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

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

例如系统模块:

sudo filebeat modules enable system

编辑模块配置:

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

四、启动并设置开机自启

sudo systemctl enable filebeat
sudo systemctl start filebeat

查看状态:

systemctl status filebeat

五、测试配置是否正确

sudo filebeat test config
sudo filebeat test output

六、验证日志是否收集

Elasticsearch 中查看

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

Kibana 中

  • Stack Management → Data Views
  • 创建 filebeat-*

七、常见问题

1️⃣ 权限问题

Filebeat 需能读取日志:

sudo usermod -aG adm filebeat

2️⃣ systemd journal 日志

可使用:

filebeat.inputs:
  - type: journald

3️⃣ 多行日志(Java / Python)

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

如果你告诉我:

  • 日志类型(nginx / java / docker / k8s)
  • 输出目标(ES / Logstash / Kafka)

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

0 踩