転送とストレージの概要

このページでは、Cloud Logging がログエントリを処理する方法について説明し、Logging の転送とストレージの主なコンポーネントについて詳述します。

全体的には、Cloud Logging のログエントリの転送と保存は、次のようになります。

Cloud Logging がログエントリをルーティングする方法を示す図。

ログルーター

Cloud Logging は Cloud Logging API を介してログエントリを受信し、その過程でログエントリはログルーターを通過します。ログルーターのシンクでは、各ログエントリを既存の包含フィルタと除外フィルタと照合して、ログエントリを Cloud Logging バケットなど保存先に送信するか、Cloud Logging による取り込みを完全に除外するかを決定します。シンクは、複数の宛先にログを転送するために使用できます。

また、ログを確実に転送するため、ログルーターもログを一時的に保存し、シンクの一時的な中断から保護します。なお、ログルーターの一時ストレージは、Logging バケットによって提供される長期ストレージとは区別されます。

ログシンク

シンクは、ログエントリを保存先に転送します。また、ログエントリが Cloud Logging に書き込まれないようにするためにも使用されます。ログシンクでは、フィルタ式と宛先を組み合わせられます。

Cloud Logging には、Google Cloud プロジェクトごとに 2 つのログシンク(_Required_Default)が事前定義されています。Google Cloud プロジェクトで生成されたすべてのログは、これら 2 つのログシンクを通して自動的に処理され、対応する名前のログバケット_Required_Default)に保存されます。

これらのログシンクは、別々に動作します。事前定義されたログシンクがログエントリをどのように処理するかにかかわらず、独自のログシンクを作成して、ログの一部またはすべてを選択できる宛先に転送するか、Cloud Logging で保存されないようにすべてのログを除外できます。

ログシンクの構成に応じて、Cloud Logging が受信するすべてのログエントリは、次のカテゴリの 1 つまたは複数に分類されます。

  • Cloud Logging に保存され、他の場所には転送されない
  • Cloud Logging に保存され、さらに、サポートされている宛先へ転送される
  • Cloud Logging には保存されず、サポートされている宛先に転送される
  • Cloud Logging には保存されず、他の場所にも転送されない
    • こうしたログは完全に除外されます。

Google Cloud プロジェクト レベルでシンクを作成できます。シンクを組織レベルまたはフォルダレベルで設定するには、集約シンクを使用します。

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

除外フィルタ

各シンクでは、1 つ以上の除外フィルタを入力できます。これにより、一致するログエントリはシンクの宛先に転送されなくなります。

除外フィルタの使用に関する詳細は、ログの除外をご覧ください。

選択できる宛先

ログルーターを使用することによって、特定のログを任意の Cloud プロジェクトのサポートされている宛先に転送できます。Logging でサポートされているシンクのエクスポート先は、次のとおりです。

  • Cloud Storage: Cloud Storage バケットに JSON 形式のファイルで保存されます。
  • BigQuery: BigQuery データセットに作成されるテーブル。
  • Pub/Sub: Pub/Sub トピックに JSON 形式のメッセージで配信されます。サードパーティによる Logging との統合サービス(Splunk など)をサポートします。
  • Cloud Logging: ログバケットにログエントリで保持されます。

サポートされている宛先へのログ転送の詳細については、シンクの構成をご覧ください。

ログバケット

Cloud Logging では、ログバケットを Google Cloud プロジェクトのコンテナとして使用し、ログデータを保存、整理します。Cloud Logging に保存したログはインデックスに登録されて最適化され、ログをリアルタイムで分析できるように配信されます。これらは、似たような名前を持つ Cloud Storage バケットとは異なるストレージ エンティティです。

シンクを作成することで、ログのすべてまたは一部を任意のログバケットに転送できます。この柔軟性により、ログを保存する Cloud プロジェクトと、それらのログとともに保存する他の Cloud プロジェクトを選択できます。

Cloud Logging は、すべての Cloud プロジェクトに _Required_Default のログバケットを提供します。デフォルト構成では、Cloud プロジェクトで生成されるすべてのログは、ログが生成された Cloud プロジェクトの _Required_Default のログバケットに保存されます。また、カスタム ログ バケットを作成することもできます。

詳細については、ログバケットの管理をご覧ください。

ログビュー

ログビューを使用すると、ログバケット内のログにアクセスできるユーザーを制御できます。

Cloud Logging は、すべてのログを表示するすべてのバケットに _AllLogs ビューを自動的に作成します。また、Cloud Logging は、_Default という _Default バケットを作成します。このバケットでは、データアクセス監査ログ以外のすべてのログが表示されます。

ログバケットには複数の Cloud プロジェクトのログを格納できるため、それぞれのユーザーがログを表示できる Cloud プロジェクトを制御することをおすすめします。そうしたバケットへのアクセスは、カスタム ログビューを作成することでより細かく制御できます。

詳細については、ログビューの管理をご覧ください。

ログベースの指標

ログベースの指標は、ログエントリの内容に基づく Cloud Monitoring 指標です。Cloud Logging によって受信された Cloud プロジェクトに対するログエントリが、Cloud プロジェクトのいずれかの指標のフィルタに一致すると、そのログエントリは指標データに反映されます。

シンク除外フィルタは、ログベースの指標には適用されません。Cloud Logging API が取り込まないようにログを除外し、どのログバケットにも保存されないようにした場合でも、ログベースの指標にはそうしたログもカウントされます。

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

次のステップ