Назад | Перейти на главную страницу

Не отображаются журналы модулей в пользовательском интерфейсе Stackdriver для кластера, развернутого на GKE

Я развернул кластер Elasticsearch на Google Kubernetes Engine. Я могу просматривать журналы определенных модулей с помощью команды kubectl logs со своего ПК.

>kubectl logs es-data-0
...
[2018-06-18T07:35:11,220][INFO ][o.e.m.j.JvmGcMonitorService] [es-data-0] [gc][4510405] overhead, spent [290ms] collecting in the last [1s]
[2018-06-18T09:48:19,194][INFO ][o.e.m.j.JvmGcMonitorService] [es-data-0] [gc][4518376] overhead, spent [366ms] collecting in the last [1.1s]
[2018-06-18T10:01:49,344][WARN ][o.e.m.j.JvmGcMonitorService] [es-data-0] [gc][4519183] overhead, spent [641ms] collecting in the last [1s]

Я следовал этому руководству, чтобы развернуть ConfigMap & DaemonSet для ведения журнала Stackdriver: https://kubernetes.io/docs/tasks/debug-application-cluster/logging-stackdriver/

модули fluentd работают:

>kubectl get pods NAME READY STATUS RESTARTS AGE cerebro-59648dc47c-vr964 1/1 Running 0 25d es-client-7bff44b8f5-2wqcs 1/1 Running 0 12d es-client-7bff44b8f5-vnrhg 1/1 Running 0 12d es-data-0 1/1 Running 0 52d es-data-1 1/1 Running 0 52d es-data-2 1/1 Running 0 52d es-master-6bf767f949-8fpjl 1/1 Running 0 52d es-master-6bf767f949-brjpq 1/1 Running 0 52d es-master-6bf767f949-gx2jp 1/1 Running 0 52d fluentd-gcp-v2.0-7mncl 1/1 Running 0 43m fluentd-gcp-v2.0-rsfmc 1/1 Running 0 43m fluentd-gcp-v2.0-tbh9t 1/1 Running 0 43m kibana-595858b4b7-5npcr 1/1 Running 0 52d nginx-ingress-controller-86c8447687-z4rjq 1/1 Running 2 52d nginx-ingress-default-backend-6664bc64c9-q2hnm 1/1 Running 338 52d >kubectl get ds --all-namespaces NAMESPACE NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE default fluentd-gcp-v2.0 3 3 3 3 3 beta.kubernetes.io/fluentd-ds-ready=true 44m kube-system fluentd-gcp-v2.0.10 3 3 3 3 3 beta.kubernetes.io/fluentd-ds-ready=true 52d kube-system metadata-proxy-v0.1 0 0 0 0 0 beta.kubernetes.io/metadata-proxy-ready=true 52d kube-system nvidia-gpu-device-plugin 0 0 0 0 0 <none> 52d

ConfigMap присутствует:

>kubectl get cm
NAME                              DATA      AGE
cerebro-configmap                 1         52d
curator-config                    2         6d
fluentd-gcp-config                4         47m
ingress-controller-leader-nginx   0         52d
nginx-ingress-controller          1         52d

Наконец, я перешел на страницу просмотра журналов, где выбрал «Контейнер GKE»: https://console.cloud.google.com/logs/viewer

К сожалению, я не вижу никаких логов ни от каких подов. Как упоминалось ранее, при использовании команды «kubcetl logs» я могу просматривать журналы со всех модулей со своего ПК.

  • Необходимо убедиться, что кластер настроен с включенным ведением журнала / мониторингом Stackdriver.
  • Следуя упомянутому документация, у вас должен быть модуль с именем counter. Если вы запустите:

$ kubectl logs counter # Можете ли вы увидеть результат для этого модуля?

  • Если вы собираетесь настроить журналы Stackdriver для Kubernetes Engine с помощью Fluentd, это руководство предлагает сначала создать учетную запись службы кластера и назначить необходимые роли. Затем создается кластер с «без включения облачного ведения журнала»; и развертывание демона Fluentd.

  • Попробуйте использовать расширенный фильтр, как показано ниже:

resource.type = "контейнер"

resource.labels.pod_id = "es-data-0"