调试了一整天,只要paths添加了*号,filebeat就收集不到日志,完整的paths却工作正常。运行
docker exec filebeat ls /var/lib/docker/containers
发现居然提示权限不足,因此想到是不是docker权限不足,导致无法遍历目录寻找文件。给docker添加root权限,filebeat正常执行。
给docker添加root权限的方法
# 启动filebeat
docker run -d \
--name=filebeat \
-v /gxlib/filebeat/filebeat.yml:/usr/share/filebeat/filebeat.yml \
-v /var/lib/docker/containers:/var/lib/docker/containers \
--user $(id -u ${USER}):$(id -g ${USER}) \
docker.elastic.co/beats/filebeat:8.1.2