我在GKE上的kubernetes上部署了一个应用程序,
Kubernetes版:v1.7.11-gke.1
我的群集已启用 Stackdriver Logging
fluntd-gcp 图像(默认情况下):
gcr.io/google-containers/fluentd-gcp:2.0.9
我的日志都很好,在stackdriver中看到,
但是几天前从一个部署(让我们称之为my-app
)的日志停止到达stackdriver
即使他们是从我的应用中记录的:
kubectl logs -f my-app-3270987706-cx0r2 --namespace=production
{"time":"2018-01-30 16:11:13.155","msg":"ignoring xml"}
{"time":"2018-01-30 16:11:14.155","msg":"success blabla"}
我从fluentd
看到以下日志:
2018-01-30 16:11:46 +0000 [warn]: emit transaction failed:
error_class=Errno::ENOENT error="No such file or directory @ sys_fail2 -
(/var/log/fluentd-buffers/kubernetes.system.buffer..b563203c1da7cb5e1.log, /var/log/fluentd-
buffers/kubernetes.system.buffer..q563203c1da7cb5e1.log)" tag="docker"
2018-01-30 16:11:46 +0000 [warn]: suppressed same stacktrace
2018-01-30 16:11:46 +0000 [error]: Exception emitting record:
No such file or directory @ sys_fail2 -
(/var/log/fluentd-buffers/kubernetes.system.buffer..b563203c1da7cb5e1.log,
/var/log/fluentd-buffers/kubernetes.system.buffer..q563203c1da7cb5e1.log)
为什么日志不会发送到stackdriver?我该怎么解决?
修改
我注意到其他应用程序的日志确实出现在stackdriver
中失败的应用程序的日志非常大 - 也许这就是为什么他们无法登录?