支持概览 支持在容器化环境中运行,既可在 Ubuntu 主机上以容器方式部署 Filebeat,也可在 Kubernetes 中通过 DaemonSet 采集宿主机或容器日志。常见做法包括使用官方镜像、挂载 Docker 日志目录与配置文件,或将 Filebeat 与应用同容器运行(不推荐)。
部署方式
主机上运行容器化 Filebeat(推荐)
version: '3'
services:
filebeat:
image: elastic/filebeat:8.0.0
user: root
volumes:
- /var/lib/docker/containers:/var/lib/docker/containers:ro
- ./filebeat.yml:/etc/filebeat/filebeat.yml
command: filebeat -e -strict.perms=false -c /etc/filebeat/filebeat.yml
与业务容器同 Pod 运行(不推荐)
Kubernetes 环境
配置要点
采集 Docker 容器日志的两种常用配置
filebeat.inputs:
- type: docker
containers.ids:
- '*'
output.elasticsearch:
hosts: ["http://elasticsearch:9200"]
filebeat.inputs:
- type: log
paths:
- /var/lib/docker/containers/*.log
json.keys_under_root: true
json.add_error_key: true
json.overwrite_keys: true
output.elasticsearch:
hosts: ["http://elasticsearch:9200"]
权限与安全
验证与常见问题
验证采集是否成功
常见问题与处理