У меня работает несколько микросервисов в 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 Принять: / Content-Type: application / json Авторизация: Bearer TOKEN Content-Length: 118
Дашборд также обновлен:
Вы можете посмотреть прямо на Графики отчетов API чтобы увидеть, что ваши звонки google.devtools.cloudtrace.v1.TraceService.PatchTraces
потерпеть неудачу с 403 Forbidden
ошибки.
403 Forbidden возникает, когда запрос к серверу не авторизован. Следовательно, ваши вызовы из кластера Container Engine (GKE) в «cloudtrace.PatchTraces» не авторизованы.
Это могло произойти из-за установленного вами ограниченного разрешения Stackdriver Trace «Только запись». Также убедитесь, что вы добавили область действия 'trace.append' при создании кластера.
По поводу недостающих логов в Stackdriver. После включения Stackdriver Logging для вашего кластера вы сможете просто писать в «STDOUT» и «STDERR». Fluentd должен позаботиться об отправке этого в Stackdriver, и результат должен быть доступен в Просмотр журнала в раскрывающемся списке "Контейнер GKE".
В качестве альтернативы вы всегда можете использовать Клиентская библиотека Stackdriver Logging для прямой записи в Stackdriver, как вы это делаете с API Stackdriver Trace. Вы также должны установить Важность журнала чтобы упростить фильтрацию в средстве просмотра журналов для поиска определенных журналов ошибок (например, 403-х, которые вы видите).