このページでは、Service Infrastructure を使用してマネージド サービスがサービス プロデューサー プロジェクトとサービス ユーザー プロジェクトの両方にログを送信できるようにする方法について説明します。
Service Control API は構造化ログデータと非構造化ログデータのどちらも受け入れ、それをバッチ処理して Cloud Logging に転送します。開発者とマネージド サービスのユーザーはいずれも、Google Cloud コンソールと Google API Console を使用してログデータを表示し、Cloud Logging API を使用してプログラムでデータにアクセスできます。
Logging のみを使用する場合、マネージド サービスはマネージド サービスの開発者を対象としたログを生成します。一方、Service Control API ではユーザーを対象としたログも生成できます。これにより、ユーザーがマネージド サービスの使用状況を理解し、診断できるようになります。
ログの構成
ログを Service Control API に送信する前に、サービス構成で 3 種類の情報を指定する必要があります。
ログ名: 1 つ以上の異なるログを保持できます。各ログは一意の名前で識別します。ログを別個にすることで異なるタイプのデータを分離すると、データの可視化や使用が容易になる場合があります。
モニタリング対象リソース: モニタリング対象リソースは、ロギングデータを生成するクラウド エンティティを表します。サービス構成でモニタリング対象リソースを定義するには、技術仕様用の monitored_resource.proto をご覧ください。モニタリングとロギングの両方に同じモニタリング対象リソースを使用することを強くおすすめします。
ログ構成: ログストリームに関連付けられているモニタリング対象リソースと各ログの送信先(サービス プロデューサー プロジェクトまたはサービス ユーザー プロジェクト)を指定できます。 ログの関連付けを構成するには、技術仕様用の logging.proto をご覧ください。
次のサービス構成の例では、ログ activity_log がサービス ユーザーに送信されるように構成されています。
# The definition of the monitored resource to be used.
monitored_resources:
- type: library.appspot.com/Branch
description: A library branch
display_name: Library Branch
launch_stage: ALPHA
labels:
- key: resource_container
description: The Google Cloud resource container (ie. project id) for
the branch.
- key: location
description: