Filebeats 不转发 Docker 撰写日志,为什么?
Filebeats doesn't foward Docker compose logs, why?
我正在关注 this tutorial 来设置一个 ELK 堆栈 (VPS B),它将使用 Beatfile 作为接收一些 Docker/docker 合成图像日志 (VPS A)货代,我的图如下图
到目前为止,我已经设法让所有带有绿色勾号的界面正常工作。但是,仍然存在一些我无法理解的问题。因此,如果有人可以帮助我解决这个问题,我将不胜感激。
我的主要问题是我没有从 VPSA 获取任何 Docker/docker-compose 日志到 VPSB 的 Filebeat 服务器;尽管如此,我在VPSB的Filebeat Server上得到了VPSA的其他日志,如rsyslog、认证日志等。我已经将我的 docker-compose 文件配置为使用 rsyslog 作为日志记录驱动程序转发日志,然后 filebeat 将该系统日志转发到 VPSB。达到这一点,我确实看到了来自 docker 守护程序本身的日志,例如虚拟接口 up/down、启动进程等,但没有看到容器本身的 "debug" 日志。
VPSA中的Filebeat客户端配置如下
root@VPSA:/etc/filebeat# cat filebeat.yml
filebeat:
prospectors:
-
paths:
- /var/log/auth.log
- /var/log/syslog
# - /var/log/*.log
input_type: log
document_type: syslog
registry_file: /var/lib/filebeat/registry
output:
logstash:
hosts: ["ipVPSB:5044"]
bulk_max_size: 2048
tls:
certificate_authorities: ["/etc/pki/tls/certs/logstash-forwarder.crt"]
shipper:
logging:
files:
rotateeverybytes: 10485760 # = 10MB
level: debug
其中一个 docker-compose 日志记录驱动程序如下所示
redis:
logging:
driver: syslog
options:
syslog-facility: user
最后想问一下,是否可以将日志从docker-composer 本地转发到VPSA 中的Filebeat client,图中的红色箭头,这样它就可以将它们转发给我的 VPSB.
非常感谢,
问候!!
问题似乎出在 FileBeat VPSA 中,因为它必须从系统日志中收集数据,所以它必须在该系统日志之前 运行!
正在更新 rc.d 使其生效
sudo update-rc.d filebeat defaults 95 10
我的filebeats.yml如果有人需要
root@VPSA:/etc/filebeat# cat filebeat.yml
filebeat:
prospectors:
-
paths:
# - /var/log/auth.log
- /var/log/syslog
# - /var/log/*.log
input_type: log
ignore_older: 24h
scan_frequency: 10s
document_type: syslog
registry_file: /var/lib/filebeat/registry
output:
logstash:
hosts: ["ipVPSB:5044"]
bulk_max_size: 2048
tls:
certificate_authorities: ["/etc/pki/tls/certs/logstash-forwarder.crt"]
shipper:
logging:
level: debug
to_files: true
to_syslog: false
files:
path: /var/log/mybeat
name: mybeat.log
keepfiles: 7
rotateeverybytes: 10485760 # = 10MB
此致
我正在关注 this tutorial 来设置一个 ELK 堆栈 (VPS B),它将使用 Beatfile 作为接收一些 Docker/docker 合成图像日志 (VPS A)货代,我的图如下图
到目前为止,我已经设法让所有带有绿色勾号的界面正常工作。但是,仍然存在一些我无法理解的问题。因此,如果有人可以帮助我解决这个问题,我将不胜感激。
我的主要问题是我没有从 VPSA 获取任何 Docker/docker-compose 日志到 VPSB 的 Filebeat 服务器;尽管如此,我在VPSB的Filebeat Server上得到了VPSA的其他日志,如rsyslog、认证日志等。我已经将我的 docker-compose 文件配置为使用 rsyslog 作为日志记录驱动程序转发日志,然后 filebeat 将该系统日志转发到 VPSB。达到这一点,我确实看到了来自 docker 守护程序本身的日志,例如虚拟接口 up/down、启动进程等,但没有看到容器本身的 "debug" 日志。
VPSA中的Filebeat客户端配置如下
root@VPSA:/etc/filebeat# cat filebeat.yml
filebeat:
prospectors:
-
paths:
- /var/log/auth.log
- /var/log/syslog
# - /var/log/*.log
input_type: log
document_type: syslog
registry_file: /var/lib/filebeat/registry
output:
logstash:
hosts: ["ipVPSB:5044"]
bulk_max_size: 2048
tls:
certificate_authorities: ["/etc/pki/tls/certs/logstash-forwarder.crt"]
shipper:
logging:
files:
rotateeverybytes: 10485760 # = 10MB
level: debug
其中一个 docker-compose 日志记录驱动程序如下所示
redis:
logging:
driver: syslog
options:
syslog-facility: user
最后想问一下,是否可以将日志从docker-composer 本地转发到VPSA 中的Filebeat client,图中的红色箭头,这样它就可以将它们转发给我的 VPSB.
非常感谢,
问候!!
问题似乎出在 FileBeat VPSA 中,因为它必须从系统日志中收集数据,所以它必须在该系统日志之前 运行!
正在更新 rc.d 使其生效
sudo update-rc.d filebeat defaults 95 10
我的filebeats.yml如果有人需要
root@VPSA:/etc/filebeat# cat filebeat.yml
filebeat:
prospectors:
-
paths:
# - /var/log/auth.log
- /var/log/syslog
# - /var/log/*.log
input_type: log
ignore_older: 24h
scan_frequency: 10s
document_type: syslog
registry_file: /var/lib/filebeat/registry
output:
logstash:
hosts: ["ipVPSB:5044"]
bulk_max_size: 2048
tls:
certificate_authorities: ["/etc/pki/tls/certs/logstash-forwarder.crt"]
shipper:
logging:
level: debug
to_files: true
to_syslog: false
files:
path: /var/log/mybeat
name: mybeat.log
keepfiles: 7
rotateeverybytes: 10485760 # = 10MB
此致