У меня есть приложение, развернутое в kubernetes на GKE,
Версия Kubernetes: v1.7.11-gke.1
Stackdriver Logging
включен в моем кластере
Изображение fluntd-gcp в моем кластере (по умолчанию):
gcr.io/google-containers/fluentd-gcp:2.0.9
все мои журналы были в порядке, их можно было увидеть в стеке, но несколько дней назад журналы из одного развертывания (давайте назовем его my-app
) перестали поступать в стековый драйвер.
даже если они зарегистрированы из моего приложения:
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.
журналы сбойного приложения очень большие - может быть, поэтому они не регистрируются?