Для версии Istio, управляемой Google (включенной установкой флажка в вашем кластере GKE), в версиях 1.13 и выше журналы доступа по умолчанию отключены с использованием configmap accessLogFile: ""
. В версиях 1.12 и более ранних журналы доступа включены по умолчанию, поэтому в configmap есть accessLogFile: "/dev/stdout"
.
Как вы отметили, вы не можете изменить его, так как согласование сотрет изменение.
Я зарегистрировал обращение в службу поддержки Google, чтобы найти лучший подход, и они предложили вместо этого использовать журналы Mixer. Чтобы получить к ним доступ, вам необходимо включить Stackdriver в вашем кластере GKE (либо устаревший, либо новый мониторинг Kubernetes Engine). Затем вы можете использовать фильтр logName="projects/[PROJECT-NAME]/logs/server-accesslog-stackdriver.logentry.istio-system"
.
Чтобы увидеть запросы между двумя сервисами, вы должны использовать этот запрос Stackdriver:
logName="projects/[PROJECT-NAME]/logs/server-accesslog-stackdriver.logentry.istio-system"
labels.destination_app="[YOUR-SERVICE]"
labels.source_app="[YOUR-OTHER-SERVICE]"
Чтобы увидеть запросы, исходящие извне GKE и проходящие через шлюз Istio Ingress:
logName="projects/[YOUR-PROJECT]/logs/server-accesslog-stackdriver.logentry.istio-system"
labels.destination_app="[YOUR-SERVICE]"
labels.source_app="istio-ingressgateway"
Однако эти журналы не на 100% эквивалентны журналам доступа к прокси-серверу и могут не помочь в устранении неполадок во всех сценариях. В Google открыт запрос функции для поддержки настройки карты конфигурации Istio, включая параметр accessLogFile: https://issuetracker.google.com/issues/126527530
Я предлагаю всем, кто интересуется этой функцией, проголосовать за нее, добавив звездочку.
Надеюсь, это поможет!
person
Davep
schedule
19.08.2019