メインコンテンツへスキップ
  1. Posts/

Anthos Service Mesh の Outbound Access Log を出力する

Istio GCP Anthos
yteraoka
著者
yteraoka

Anthos Service Mesh のアクセスログはデフォルトでは Service への Inbound しか出力されません。 エラーが発生した場合は Outbound のログも出力されます。 出力先は Cloud Logging で HTTP の情報は Load Balancer などと同様に httpRequest という Object にセットされています。

Outbound のアクセスログを常に出力する方法 #

asmcli の --custom_overlay で指定する YAML で次の様に outboundAccessLoggingFULL にすることで Outbound のログも出力されるようになります。

spec:
  values:
    telemetry:
      v2:
        stackdriver:
          outboundAccessLogging: FULL

Inbound と Outbound でログの resource.type が異なる #

Inbound は k8s_container (コンテナログ) だが、Outbound は k8s_pod (Pod のログ) となっているので注意。

STDOUT 経由で出力する方法 #

GKE 以外の環境で実行する時のように次のようにして標準出力に JSON で書き出すことも可能だが、Cloud Logging に送る場合は上記の方法の方が他のログとの統一感があって便利。

spec:
  meshConfig:
    accessLogEncoding: JSON
    accessLogFile: /dev/stdout