У меня есть несколько микросервисов, работающих в Container Engine (GKE), и я пытаюсь получить информацию трассировки в консоли Google, но что-то идет не так.
Вот это мой контрольный список:
Я что-то пропустил? Заранее спасибо.
Обновление: мне удалось вручную запросить api трассировки через curl из модуля GKE:
kubectl exec -it POD -- /bin/bash
curl "http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/token" -H "Metadata-Flavor: Google"
curl --verbose -d '{"traces": [{"projectId":"xxxx","traceId":"12345678901234567890123456789053","spans":[{"spanId":3,"name":"test"}]}]}' -X PATCH https://cloudtrace.googleapis.com/v1/projects/xxxx/traces -H "Content-Type: application/json" -H "Authorization":"Bearer TOKEN"
вывод curl:
PATCH / v1 / projects / line-b / traces HTTP / 1.1 Пользовательский агент: curl / 7.38.0 Хост: cloudtrace.googleapis.com Принять: / Тип содержимого: приложение / json Авторизация: ТОКЕН на предъявителя Content-Length: 118
Информационная панель также обновлена:
Вы можете посмотреть непосредственно на графики отчетов API , чтобы увидеть, что ваши вызовы google.devtools.cloudtrace.v1.TraceService.PatchTraces
завершаются ошибкой 403 запрещенных
ошибок.
403 Запрещено, когда запрос к серверу не авторизован. Следовательно, ваши вызовы из кластера Container Engine (GKE) в 'cloudtrace.PatchTraces' не авторизованы.
Это может быть связано с ограниченным разрешением Stackdriver Trace «Только запись», которое вы установили. Также убедитесь, что вы добавили область 'trace.append' при создании кластера.
Относительно отсутствующих журналов в Stackdriver. Как только Stackdriver Logging будет включен для вашего кластера, вы сможете просто писать в «STDOUT» и «STDERR». Fluentd должен позаботиться об отправке этого в Stackdriver, а результат должен быть доступен в средстве просмотра журналов в раскрывающемся списке «Контейнер GKE».
В качестве альтернативы вы всегда можете использовать клиентскую библиотеку Stackdriver Logging для прямой записи в Stackdriver, как вы это делаете с API трассировки Stackdriver. Вы также должны установить Уровень важности журнала , чтобы упростить фильтрацию в средстве просмотра журнала для поиска определенных журналов ошибок (например, 403-х, которые вы видите).