ログの除外

このページでは、ログビューア(Cloud Console)と Logging API を使用して、取り込まれたログからログを除外する方法について説明します。

ログビューアの [リソースの使用量] ページでは、プロジェクトのログの使用量を追跡します。ログビューアにはログの取り込みをすべて無効にするツールも不要なログエントリを除外(破棄)するツールもあります。このため毎月の割り当ての中でログへの課金を最小限にできます。除外されたログエントリの処理方法の詳細については、このページの除外の仕組みをご覧ください。

Cloud Logging の費用の詳細については、Google Cloud のオペレーション スイートの料金についてをご覧ください。Cloud Logging から Virtual Private Cloud フローログを送信してから除外した場合は、VPC フローログの生成料金が適用されることにご注意ください。

ログ使用量の追跡

プロジェクトのログ量を追跡するには、Cloud Logging コンソールの [リソースの使用量] ページに移動します。

[リソースの使用量] に移動

ページの最上部に、プロジェクトで受信したログの統計情報の概要が表示されます。

リソースの使用量の統計情報の概要

4 つの統計情報が報告されます。

  • [先月の取り込まれたログ容量]: 先月のプロジェクトで受信したログの量。

  • [今月の取り込まれたログ容量]: 今月の最初の日付以降にプロジェクトで受信したログの量。

  • [除外されたログ容量]: 今月の最初の日付以降にプロジェクトから除外したログの量。この数値は、[今月の取り込まれたログ容量] には含まれません。ログの除外については、このページで後ほど説明します。

  • [予想される取り込みログ容量]: 現在の使用量に基づいて、プロジェクトで今月末までに受信すると推定されるログの量。

ログ容量には、特定の監査ログ(すべての管理アクティビティ監査ログとすべてのシステム イベント監査ログ)は含まれません。このログは無料であり、除外も無効化もできません。

リソースタイプ別にログ使用量の内訳を表示することもできます。詳しくは、このページのリソースタイプの除外の表示をご覧ください。

すべてのログの取り込みを停止する

プロジェクトで取り込まれたログに課金されないように、ログの取り込みを無効化できます。構成できない特定の監査ログは無効にできないことにご注意ください。プロジェクトには引き続き表示されますが、費用はかかりません。

構成できるすべてのログの取り込みをすぐに停止する手順は次のとおりです。

  1. ログを管理するプロジェクトの Cloud Logging コンソールの [リソースの使用量] ページに移動します。

    [リソースの使用量] に移動

  2. 統計情報の概要の上にある [ログ有効] をクリックします。

  3. [すべてのログ取り込みの無効化] で [ログの取り込みの縮小] をクリックします。

    Cloud Logging コンソールで次の変更が表示されます。

    • ステップ 2 でクリックしたボタンが [ログ無効] と表示されるようになりました。
    • Cloud Logging コンソールの各ページに次のバナーが表示されます。構成できるログ取り込みがオフです...
    • [リソースの使用量] ページの [除外] タブには、google-ui-logs-ingestion-off という名前のクエリがあります。[除外する割合] は 100% に設定され、[除外ステータス] は有効です。

ログの取り込みをすぐに再び有効にするには、[ログ無効] をクリックします。ボタンが [ログ有効] と表示されるようになりました。

除外の仕組み

次の図は、除外するログエントリが Cloud Logging でどのように処理されるかを示しています。

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

Logging で除外されたログエントリには、次の条件が適用されます。

  • 除外されたログエントリは、プロジェクトに指定された Logging の割り当てにカウントされません。詳細については、Logging の詳細をご覧ください。

  • 除外されたログエントリはログビューアに表示されません。ログベースの指標でカウントされません。Error Reporting や Cloud デバッガでは使用できません。

  • シンクのエクスポート先を含むログシンクを使用して、Cloud Logging の外部にログエントリを送信できます。同じログを取り込みから除外することもできます。詳細については、ログのエクスポートをご覧ください。

  • 無効にできない監査ログも除外できません。ただし、この種類の監査ログは無料です。

除外には次の 2 種類があります。

  • 除外クエリを使用すると、クエリ式に基づいて除外対象のログエントリを柔軟に選択できます。除外クエリを使用すると、除外するログエントリのサンプルをランダムに選択できます。

  • リソースタイプの除外を使用すると、特定のリソースタイプのすべてのログをブロックできます。

ロギングでは、ログエントリを除外するかどうかを決定する際に、両方の種類の除外を考慮します。リソースタイプの除外または除外クエリがログエントリと一致した場合、そのログエントリは除外されます。

除外クエリの使用

除外クエリを作成すると、除外(破棄)するログエントリを制御できます。たとえば、すべての VM インスタンスではなく、単一の VM インスタンスからのログエントリを除外できます。

除外クエリとリソースタイプの除外の両方を使用すると、重複することがあります。ログエントリは、無効なリソースタイプからの場合、またはこのセクションで説明する除外クエリのいずれかに一致する場合は除外されます。以前に説明したとおり、Logging は除外クエリでリソースタイプの除外を実装するため、これは技術的な特徴です。

[リソースの使用量] ページの [取り込み] タブにあるリソースタイプ別の表には、リソースタイプの除外と除外クエリの両方が反映されています。リソースタイプの除外を使用しなくても、その表で除外クエリの効果をトラックできます。

除外の上限

1 つのプロジェクトに最大 50 個の除外クエリを含めることができます。これは、Cloud Logging コンソールまたは API で作成した除外クエリとリソースタイプの除外も含みます。

除外クエリの表示

現在の除外クエリ(リソースタイプの除外を実装するために Logging によって作成されたクエリを含む)を表示する手順は次のとおりです。

  1. Cloud Logging コンソールの [リソースの使用量] ページに移動します。ログを管理するプロジェクトを選択します。

    [リソースの使用量] に移動

  2. 統計情報の概要の下にある [除外] タブをクリックします。除外クエリがあれば、除外クエリの表に、除外クエリのリストが表示されます。

    除外クエリ表

すべてのログの取り込みを停止した場合、リストにgoogle-ui-logs-ingestion-offという名前の除外クエリがあります。クエリの右側にあるメニューによって、クエリを編集、削除、無効化できます。

除外クエリの作成

Cloud Logging コンソールで除外クエリを作成する手順は次のとおりです。

  1. Cloud Logging コンソールの [リソースの使用量] ページに移動し、[除外] タブを選択します。

    [リソースの使用量] に移動

  2. [除外を作成] をクリックします。[除外エディタ] ペインが表示されます。

    除外を作成

  3. ログビューア パネルで、除外するログエントリに一致するクエリ式を入力します。パネルの詳細については、ユーザー インターフェースをご覧ください。

  4. [除外エディタ] で、テキスト ボックスに入力して除外クエリを完成させます。

    • [名前]: 除外を識別する名前。low-severity など。
    • [説明]: クエリの詳しい説明。Exclude logs whose severity is less than WARNING など。
    • [除外する割合]: 0~100 の整数または浮動小数点値を入力します。たとえば、一致するすべてのログエントリを除外するには、「100」または「100.0」を入力します。一致するエントリの 99.5% を除外するものの、0.5% を Stackdriver Logging に保持するには、「99.50」を入力します。
  5. [除外を作成] をクリックして、除外を作成して開始します。

除外の停止

一部またはすべてのログの除外を停止するには、いくつかの方法があります。

  • すべてのログの除外を停止するには: 詳細については、ログの取り込みの停止をご覧ください。

  • リソースタイプによる除外を停止するには: [リソースの使用量] ページの [取り込み] タブで、停止する除外のリソースタイプの右側のメニューにある [ログソースを有効化] をクリックします。

  • 除外クエリを編集、無効化、または削除するには: [リソースの使用量] ページの [除外] タブで、受信するログエントリを対象とする除外クエリの右側にあるメニューを使用します。詳しくは、除外の編集をご覧ください。

除外の編集

既存の除外クエリを編集して、除外するログエントリを増減できます。

  1. Cloud Logging コンソールの [リソースの使用量] ページに移動し、[除外] タブをクリックします。

    [リソースの使用量] に移動

  2. 除外クエリを選択し、クエリリストの右側にあるメニューから [除外を編集] を選択します。

  3. 高度なログクエリを変更するか、[除外する割合] の値を変更します。クエリを変更する場合、一致するログエントリのプレビューを確認します。既存の除外クエリの名前は変更できません。

  4. [除外を更新] をクリックします。

ベスト プラクティス: リソースタイプの除外の一部として Logging が作成した除外クエリを編集、削除しないでください。このようなクエリは、[取り込み] タブの [ログソースを無効化] と [ログソースを有効化] オプションで管理します。

リソースタイプの除外の使用

デフォルトでは、プロジェクトはすべてのリソースタイプからのすべてのログを受信します。特定のリソースタイプからのすべてのログを破棄するには、リソースタイプの除外を使用します。

リソースタイプの除外は、Cloud Logging コンソールの機能です。リソースタイプの除外を作成すると、Logging によって除外を実装する除外クエリが作成されます。詳しくは、除外クエリの使用をご覧ください。

リソースタイプの除外の表示

リソースタイプとリソースタイプの除外でログの使用量を表示する手順は次のとおりです。

  1. Cloud Logging コンソールの [リソースの使用量] ページに移動します。

    [リソースの使用量] に移動

  2. 統計情報の概要の下にある [取り込み] タブ(デフォルト)を選択します。[ログの取り込み] テーブルに、リソースタイプ別にログ使用量が表示されます。

    リソースの使用量表

この表は、今月、プロジェクトにログを送信した各リソースタイプのログの使用量の情報を示しています。先月はログを送信したものの、今月はログを送信しなかったリソースタイプがあります。こうしたリソースタイプもこの表に一覧表示されています。

[取り込みステータス] 列は、各リソースタイプに関連付けられた除外があるかどうかの目安です。ステータスは次のいずれかです。

  • [未取り込み]: このリソースタイプを 100% のサンプルレートで厳密に対象とする除外が 1 つ以上あります。つまり、除外のクエリは厳密に resource.type=[THIS_RESOURCE_TYPE] で構成されています。

  • [すべて取り込み]: 今月これまでに除外された、このリソースタイプからのログエントリはありません。このリソースタイプを厳密に対象とする除外はありません。

  • [一部取り込み]: このリソースタイプを 0% から 100% 未満のサンプルレートで対象とする除外が 1 つ以上あります。このリソースタイプに今月除外されたログエントリがある場合、すべての除外が現在は削除されていても、このステータスは月末まで残ります。詳しくは、このページの編集の除外をご覧ください。

または、[除外] タブでリソースタイプの除外を調べることができます。Logging では、除外クエリを作成することでリソースタイプの除外を実装します。詳しくは、除外クエリの表示をご覧ください。

リソースタイプの除外の作成

特定のリソースタイプからすべてのログを除外(破棄)するには、リソースタイプの除外を作成します。手順は次のとおりです。

  1. Cloud Logging コンソールの [リソースの使用量] ページに移動します。

    [リソースの使用量] に移動

  2. 統計情報の概要の下にある [取り込み] タブ(デフォルト)を選択します。[ログの取り込み] テーブルに、リソースタイプごとにログ使用量が表示されます。

  3. 除外するリソースタイプの表の行を見つけます。

  4. 表の行の右側にあるメニューで、[このリソースに基づいて除外フィルタを作成] を選択します。

  5. [除外エディタ] で、テキスト ボックスに入力して除外クエリを完成させます。

    • [名前]: 除外を識別する名前。low-severity など。
    • [説明]: クエリの詳しい説明。Exclude logs whose severity is less than WARNING など。
    • [除外する割合]: 0~100 の整数または浮動小数点値を入力します。たとえば、一致するすべてのログエントリを除外するには、「100」または「100.0」を入力します。一致するエントリの 99.5% を除外するものの、0.5% を Stackdriver Logging に保持するには、「99.50」を入力します。
  6. [除外を作成] をクリックして、除外を作成して開始します。

リソースタイプからのログの除外を停止するには、メニューで [ログソースを有効化] をクリックします。

API での除外

Logging API で除外クエリを作成するには、projects.exclusions.create メソッドを使用します。除外クエリを表示、削除、更新するメソッドもあります。

また、組織、請求先アカウント、フォルダによって受信されたログについても、API に除外メソッドがあります。これらの除外は、Logging API でのみ作成できます。Cloud Logging コンソールではサポートされていません。

除外に役立つログクエリの例については、サンプルクエリをご覧ください。

API でのリソースタイプの除外

API では、リソースタイプの除外は別の種類の除外ではありません。特定のリソースタイプのすべてのログエントリを破棄する除外を作成するには、リソースタイプを指定するログクエリで除外クエリを作成します。

resource.type = [THE_RESOURCE_TYPE]

API でのサンプリングされた除外

一致するログエントリの 100% 未満を除外するには、ログクエリで sample 関数を使用します。

除外するログのエクスポート

ログエントリを除外する前に Cloud Storage、BigQuery、Pub/Sub にエクスポートすれば、除外するログエントリは完全に失われことはありません。

除外とエクスポートを開始する手順は次のとおりです。

  1. 除外してエクスポートするログエントリに一致する高度なログクエリを作成します。

    ヒント: デフォルトで有効になっている監査ログと一致しないようにクエリを作成します。こうした監査ログエントリとの一致は除外には影響しませんが、エクスポートするログエントリが増えることになります。

  2. ログクエリを使用してエクスポート シンクを作成し、一致するログエントリのエクスポートを開始します。

  3. ログクエリを使用して除外クエリを作成し、一致するログエントリの除外を開始します。

除外とエクスポートを停止するには、除外クエリを無効にしてからエクスポート シンクを停止します。

ログをエクスポートする方法については、ログのエクスポートをご覧ください。

エクスポートの料金

エクスポートされたログには Cloud Logging の料金はかかりませんが、エクスポート先料金が適用されることがあります。詳しくは、該当するプロダクトの料金のページをご覧ください。

Cloud Logging から Virtual Private Cloud フローログを送信して除外した場合は、エクスポート先料金に加え VPC フローログの生成料金が適用されることにもご注意ください。