基本概念

Cloud Logging は、Google Cloud のオペレーション スイート サービスの一部です。ログのストレージ、ユーザー インターフェース(ログ エクスプローラ)、ログをプログラムで管理する API から構成されます。Logging では、ログエントリの読み取りと書き込み、ログのクエリができ、またログのルーティングと使用方法を制御できます。

Google Cloud プロジェクトとその他のリソース

ログは、主に Google Cloud プロジェクトに関連付けられていますが、組織、フォルダ、請求アカウントなどの他の Google Cloud リソースにログが存在する場合もあります。

ログエントリ

ログエントリは、コンピュータ システムで発生する特定のイベントまたはトランザクションのステータスを記録する、または記述します。ログエントリは、独自のコード、コードを実行中の Google Cloud サービス、サードパーティ アプリケーション、Google Cloud が依存するインフラストラクチャによって作成されます。

一部のログエントリは、システム内で発生する特定のイベントを記述します。これらのログエントリを使用して、すべてが正常な状態であることを確認するメッセージを出力する、または障害が発生した場合に情報を提供できます。

その他のログエントリには、システムまたはコンポーネントによって処理されたトランザクションの詳細が記述されていることがあります。たとえば、ロードバランサは、受信したすべてのリクエストをログに記録します。また、ロードバランサは、リクエストされた URL や HTTP レスポンス コードなどの情報も記録し、リクエストを処理したバックエンドを記録することもできます。

最近のシステムでは、ログはディスクに書き込まれたテキスト ファイルに由来するため、ログエントリはログファイル内の行に似ており、ロギングの基本単位とみなすことができます。

Compute Engine や BigQuery など、ログエントリを生成するサービスを使い始めると、Google Cloud プロジェクトはログエントリを受信します。また、Cloud Monitoring を AWS に接続するとき、VM インスタンスに Logging エージェントをインストールするとき、Logging API で entries.write メソッドを呼び出すときにもログエントリが生成されます。

ログエントリは最小で次の要素で構成されます。

  • イベントが発生した日時、または Cloud Logging がそれを受信した日時を示すタイムスタンプ。
  • ログエントリを生成したモニタリング対象リソース。
  • 構造化されていないテキストデータ、または JSON 形式の構造化されたテキストデータのいずれかとして提供されるペイロードで、メッセージとも呼ばれるもの。
  • ログが属するログの名前。

ログエントリには、関連付けられたメタデータを含めることもできます。このようなメタデータには、関連付けられた各ログエントリの重要度が含まれる場合があります。

ログエントリのデータ形式の詳細については、LogEntry タイプをご覧ください。

ログ

ログは、Google Cloud リソース(プロジェクトなど)内のログエントリの名前付きコレクションです。ログエントリが含まれていない場合、ログは存在しません。

ログの名前は、ログエントリが属するリソースのフルパスの後に、syslog のような単純なログ ID、または compute.googleapis.com/activity のようなログの書き込みを含む構造化 ID を続けることで特定されます。

各ログエントリにはログの名前が記録されています。

ログタイプ

Cloud Logging で使用可能なログタイプについては、使用可能なログをご覧ください。

保持期間

ログエントリは、一定の時間 Cloud Logging で保持されます。この期間を保持期間といいます。この期間が経過すると、エントリは削除されます。さまざまなタイプのログの保持期間は、Logging 割り当てと上限にリストされています。

一部のログの保持期間を構成できます。詳しくは、ログの保持: カスタム保持をご覧ください。

ログのバックアップもする場合は、このページのシンクを使用するログのエクスポートをご覧ください。

クエリとフィルタ

クエリは、Logging クエリ言語の式であり、式に一致するログエントリを返します。

フィルタは、Logging クエリ言語の式であり、式と一致するログをストレージのエクスポート先に転送するためにシンクで使用されます。ログベースの指標を作成して、その式に一致するログを Cloud Monitoring に転送する場合にもフィルタを使用します。

モニタリング対象リソース

各ログエントリには、モニタリング対象リソースの名前など、ログの作成元が記録されます。たとえば、個々の Compute Engine VM インスタンス、Google Kubernetes Engine コンテナ、データベース インスタンスなどです。

モニタリング対象リソースタイプの詳細については、モニタリング対象リソースとサービスをご覧ください。

クエリ

クエリは、Logging クエリ言語の式です。ログ エクスプローラと Logging API でログエントリを選択するときに使用されます。たとえば、特定の VM インスタンスで発生したログエントリや、特定の期間に受信した特定の重要度のログエントリを選択できます。

ログルーター

監査ログ、プラットフォーム ログ、ユーザーログを含むすべてのログは、Cloud Logging API に送信され、ここでログルーターを通過します。ログルーターは、各ログエントリを既存のルールと照合して、取り込む(保持する)ログエントリ、エクスポートに含めるログエントリ、破棄するログエントリを決定します。

詳しくは、ログルーターの概要をご覧ください。

シンクを使用してログをエクスポートする

Logging が受信したログエントリは、Cloud Storage バケット、BigQuery データセット、Pub/Sub トピックにルーティングできます。

ログをエクスポートするには、シンクを構成します。これにより、Logging でログを受信しながらログエントリをエクスポートできます。シンクに記述された宛先やフィルタで、エクスポートするログエントリを選択します。

詳細については、ログのエクスポートの概要をご覧ください。

ログベースの指標

指標は、Cloud Monitoring の機能です。 ログベースの指標は、指定したクエリに一致するログエントリの数を表す指標です。

詳細については、ログベースの指標の概要をご覧ください。

アクセス制御

Identity and Access Management のロールまたは権限をメンバーに付与することで、ログにアクセスする能力を制御します。

IAM 閲覧者のロールを持つメンバーは、大半のログを読み取ることができます。データアクセス監査ログまたはアクセスの透明性ログを読み取るには、メンバーに IAM オーナーのロールまたは特別な権限を持つカスタムロールを付与する必要があります。

必要な権限の詳細については、アクセス制御をご覧ください。