小ネタです。
前回の記事でGAEとロードバランサ(ServerlessNEGを利用)を連携させたので、ロードバランサのログを取らなきゃなと思いCloud Console上から設定しようとしたのですが、、、
画面にログ有効化の設定箇所が表示されません。
ServerlessNEGが現状beta版だからでしょうか?
Cloud SDKから設定する事にしました。
Cloud SDKのコマンド
gcloud compute backend-services update 【ロギング対象のロードバランサ・バックエンドサービス名】
--enable-logging
--logging-【サンプルレート数。0.0〜1.0の値で指定】
--region=【リージョン名】
region=globalだとコマンドエラー
当ブログのバックエンドサービスはリージョンをグローバル指定にしているので、ログのスコープもグローバルにするため、--region=global
を指定したところ、
ERROR: (gcloud.compute.backend-services.update) Could not fetch resource:
- Invalid value for field 'region': 'global'. Unknown region.
と何故か怒られました。
--region=globalを省き
コマンド実行すると、シェル上に
choose a region or global:
[1] global
[2] region: asia-east1
[3] region: asia-east2
[4] region: asia-northeast1
[5] region: asia-northeast2
[6] region: asia-northeast3
[7] region: asia-south1
(略)
と表示されるので、[1] globalを選択し対処しました。
これもbeta版Serverless NEGを使っているからでしょうか??
ログビューアで確認
[Cloud Console]->[ロギング]->[ログビューア]でロードバランサのログ収集されているか確認します。
ロードバランサ(エンドポイント:ServerlessENG)のログを拾ってきていますね。
zoneもglobalになっています。
このログもBig Queryに放り込み、分析やGCPの機能学習等に活用してみようと思います。