ログの取り込みを制御する


除外フィルタを使用すると、Cloud Logging によって取り込まれる Google Kubernetes Engine(GKE)ログの量を制御しながら、デバッグで詳細ログを使用できます。除外フィルタを使用すると、一致するログエントリの Cloud Logging による取り込みや、シンクの宛先への転送を防ぐことができます。

除外フィルタは、Logging のクエリ言語を使用して作成します。

ログエントリは、Logging API によって受信された後に除外されるため、これらのログエントリは entries.write API 割り当てを消費します。ログエントリを除外して entries.write API 呼び出しの数を減らすことはできません。

除外されたログエントリは、ログ エクスプローラや Error Reporting では使用できません。

取り込みデータを表示する方法については、Metrics Explorer で詳細な使用状況を表示するをご覧ください。

始める前に

作業を始める前に、次のことを確認してください。

  • Google Kubernetes Engine API を有効にする。
  • Google Kubernetes Engine API の有効化
  • このタスクに Google Cloud CLI を使用する場合は、gcloud CLI をインストールして初期化する。すでに gcloud CLI をインストールしている場合は、gcloud components update を実行して最新のバージョンを取得する。

権限

ログの転送元となる Google Cloud プロジェクトについて、次のいずれかの IAM ロールを付与されている。

  • オーナーroles/owner
  • Logging 管理者roles/logging.admin
  • ログ構成書き込みroles/logging.configWriter

これらのロールに含まれる権限を使用して、シンクの作成、削除、変更ができます。IAM ロールの設定については、Logging のアクセス制御ガイドをご覧ください。

除外フィルタを追加する

次の手順では、ログを Default Cloud Logging バケットへの取り込みから除外する Cloud Logging 除外フィルタを追加する方法について説明します。

  1. Google Cloud コンソールで、[ログルーター] ページに移動します。

    ログルーターに移動

  2. _Default シンクのある行を見つけて、 その他の操作オプションを開き、[シンクを編集] をクリックします。

  3. [シンクに含めないログの選択] で、[除外フィルタの作成] の [除外設定を追加] をクリックします。

  4. 除外フィルタの名前を入力します。

  5. [除外フィルタの作成] セクションで、フィルタ条件を入力します。たとえば、クラスタのログエントリや、コンテナの特定のログエントリを除外できます。

    特定のクラスタのすべてのログエントリを除外します。

    resource.labels.cluster_name="CLUSTER_NAME"
    

    特定のクラスタ内の特定のコンテナのログ重大度DEFAULTDEBUGINFO、または NOTICE のログエントリを除外します。

    resource.type="k8s_container"
    resource.labels.container_name="CONTAINER_NAME"
    resource.labels.cluster_name="CLUSTER_NAME"
    severity=(DEFAULT OR DEBUG OR INFO OR NOTICE)
    
  6. [シンクを更新] をクリックします。

追加したフィルタでログを除外するように、_Default シンクが構成されました。

次のステップ