カウンタ指標を構成する

このドキュメントでは、Google Cloud コンソール、Logging API、Google Cloud CLI を使用してカウンタタイプのログベースの指標を作成する方法について説明します。

カウンタ指標は特定のフィルタに一致するログエントリの数をカウントします。たとえば、特定のエラー メッセージを含むログエントリの数をカウントするログベースの指標を作成できます。ログベースの指標は、単一の Google Cloud プロジェクト内またはログバケット内で適用できます。

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

始める前に

  1. ログベースの指標を使用するには、課金を有効にした Google Cloud プロジェクトが必要です。

    1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
    2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

      Go to project selector

    3. Make sure that billing is enabled for your Google Cloud project.

    4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

      Go to project selector

    5. Make sure that billing is enabled for your Google Cloud project.

  2. Identity and Access Management のロールに、ログベースの指標の作成と表示とアラート ポリシーの作成に必要な権限が含まれていることを確認します。詳細については、ログベースの指標の権限をご覧ください。

カウンタタイプのログベースの指標を作成する

この指標は、指定したフィルタによって特定されるログエントリをカウントします。フィルタでは正規表現を使用できますが、リソースタイプを含めることをおすすめします。フィルタの長さは 20,000 文字以下にする必要があります。

機密情報をフィルタに入れないでください。フィルタはサービスデータとして扱われます。

Console

Google Cloud プロジェクトの Google Cloud コンソールでカウンタ指標を作成するには、次の手順に従います。

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

    [ログベースの指標] に移動

    検索バーを使用してこのページを検索する場合は、小見出しが [Logging] である結果を選択します。

  2. [指標を作成] をクリックします。[ログの指標の作成] パネルが表示されます。

  3. [指標タイプ] を [カウンター] に設定します。

  4. [詳細] セクションで次のフィールドを設定します。

    • ログ指標の名前: Google Cloud プロジェクトのログベースの指標で一意の名前を選択します。命名に関する制限事項が適用されます。詳細についてはトラブルシューティングをご覧ください。
    • 説明: 指標の説明を入力します。
    • ユニット: 空白のままにするか、数字「1」を挿入します。
  5. [フィルタの選択] で指標フィルタを定義します。

    1. フィルタで [ログのスコープを選択する] を使用して、フィルタの対象がすべての Google Cloud プロジェクトのログか、特定のバケットのログかを選択します。

    2. ロギングクエリ言語を使用して、指標でカウントするログエントリのみを収集するフィルタを作成します。正規表現を使用して指標のフィルタを作成することもできます。

    3. フィルタに一致するログエントリがどれかを確認するには、[ログをプレビューする] をクリックします。

  6. (省略可)[ラベル] にラベルを追加します。ラベルの作成手順については、ラベルの作成をご覧ください。

  7. [指標を作成] をクリックして、メトリックを作成します。

gcloud

カスタムラベルなしでログベースの指標を作成するには、次のコマンドを使用します。

gcloud logging metrics create metric_name \
  --description="METRIC_DESCRIPTION" \
  --log-filter="FILTER" \
  [--bucket-name="BUCKET_NAME"]

たとえば、次のコマンドは error_count というプロジェクト スコープのログベースの指標を作成します。

gcloud logging metrics create error_count \
     --description "Errors in syslog." \
     --log-filter "resource.type=gce_instance AND log_id(\"syslog\") AND severity>=ERROR"

代わりにバケット スコープのログベースの指標を作成するには、--bucket_name フラグを指定します。

gcloud logging metrics create error_count \
    --description "Errors in syslog." \
    --log-filter "resource.type=gce_instance AND log_id(\"syslog\") AND severity>=ERROR" \
    --bucket-name projects/my-project/locations/global/buckets/my-test-bucket

ラベルの作成手順については、ラベルの作成をご覧ください。

API

カウンタの指標を作成するには、Logging API の projects.metrics.create メソッドを使用します。このメソッドは、API Explorer で試用できます。次のように、メソッドの引数を準備します。

  1. parent フィールドを、指標を作成するプロジェクトまたはバケットに設定します。

    • プロジェクト スコープのログベースの指標の場合は、プロジェクトを指定します。
    projects/PROJECT_ID
    
    • バケット スコープのログベースの指標の場合は、バケットを指定します。
    projects/PROJECT_ID/locations/LOCATION/bucket/BUCKET_ID
    
  2. リクエスト本文を LogMetric オブジェクトに設定します。カウンタ指標のサンプル オブジェクトは次のとおりです。

    {
      name:        "my-metric"
      description: "This is my metric."
      filter:      "resource.type=gce_instance AND log_id(\"syslog\")",
      metricDescriptor: {
          labels: [
            {
              key: "my-label",
              valueType: STRING,
              description: "This is my label.",
            }
          ]
      },
      labelExtractors: {
        "my-label":
          "REGEXP_EXTRACT(jsonPayload.someField, \"before ([0-9]+) after\")",
        ...
      },
    }
    

注:

  • プロジェクトのログベースの指標で一意の指標名を選択します。命名に関する制限事項が適用されます。詳細についてはトラブルシューティングをご覧ください。

  • カウンタ指標の場合、LogMetric フィールドの valueExtractorbucketOptions は用途がないため、省略します。

  • 指標にラベルがない場合は、metricDescriptorlabelExtractors フィールドを省略できます。指標にラベルがある場合、ラベル付けの手順や API でラベルを作成する方法について、ログベースの指標ラベルをご覧ください。

詳しくは、LogMetric タイプをご覧ください。

新しい指標のレイテンシ

新しい指標は、ログ エクスプローラの指標リストと関連する Monitoring メニューにすぐに表示されます。データは通常、1 分以内で利用可能になります。

ログベースの指標を検査する

Google Cloud プロジェクトのユーザー定義のログベース指標をリスト表示したり、Google Cloud プロジェクトの特定の指標を検査したりするには、次のようにします。

Console

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

    [ログベースの指標] に移動

    検索バーを使用してこのページを検索する場合は、小見出しが [Logging] である結果を選択します。

  2. [ユーザー定義の指標] ペインに、現在の Google Cloud プロジェクト内にあるユーザー定義のログベース指標が表示されます。

  3. ログベースの指標でデータを表示するには、指標の行にある [メニュー] をクリックして、[Metrics Explorer に表示] を選択します。

gcloud

Google Cloud プロジェクトのユーザー定義のログベース指標を一覧表示するには、次のコマンドを使用します。

gcloud logging metrics list

Google Cloud のユーザー定義のログベース指標を表示するには、次のコマンドを使用します。

gcloud logging metrics describe metric_name

サポートが必要な場合は、次のコマンドを使用します。

gcloud logging metrics --help

Google Cloud CLI から指標の時系列データは読み取れません。

API

指標のリスト

Google Cloud プロジェクトのユーザー定義のログベース指標を一覧表示するには、projects.metrics.list API メソッドを使用します。メソッドのパラメータには、次のように入力します。

  • parent: Google Cloud プロジェクトのリソース名: projects/PROJECT_ID
  • pageSize: 結果の最大数。
  • pageToken: 結果の次のページを取得します。ページトークンの使用方法について詳しくは、projects.metrics.list をご覧ください。

指標定義を取得する

ユーザー定義のログベース指標を 1 つ取得するには、projects.metrics.get API メソッドを使用します。メソッドのパラメータには、次のように入力します。

  • metricName: 指標のリソース名。

    projects/PROJECT_ID/metrics/METRIC_ID
    

指標データを読み取る

ログベースの指標で時系列データを読み取るには、Cloud Monitoring API の projects.timeseries.list を使用します。時系列データの詳細については、時系列の読み取りをご覧ください。

ユーザー定義のログベース指標を 1 つ読み取るには、メソッドのパラメータに次のような指標タイプと ID を入力します。

logging.googleapis.com/user/METRIC_ID

ログベースの指標を更新する

ログベースの指標を更新して、指標で参照されるフィールドの説明、フィルタ、フィールド名を編集できます。新しいラベルを指標に追加し、指標とラベルの値を抽出する正規表現を変更できます。バケット スコープの指標を使用している場合は、指標のバケットを更新することもできます。

ユーザー定義のログベースの指標またはラベルの名前とタイプは変更できません。また、ログベース指標の既存のラベルは削除できません。

ログベースの指標を編集するには、次の手順を行います。

Console

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

    [ログベースの指標] に移動

    検索バーを使用してこのページを検索する場合は、小見出しが [Logging] である結果を選択します。

  2. 変更するログベースの指標のメニューで [指標を編集] をクリックします。

  3. 指標の変更可能な項目を変更します。

  4. [指標の更新] をクリックします。

gcloud

Google Cloud CLI を使用して、カウンタ指標の説明、フィルタクエリ、バケットを変更します。任意のまたはすべてのフィールドを一度に更新できます。

gcloud logging update metric_name \
  --description="METRIC_DESCRIPTION" \
  --log-filter="FILTER" \
  --bucket-name=BUCKET_NAME

バケット スコープの指標に関連付けられたバケットを変更すると、変更前に収集された指標データには現在の構成がもう反映されなくなります。前のバケットで収集された指標データは削除されません。

metric_name を除く分布指標または他のカウンタ指標のフィールドを更新するには、JSON 形式または YAML 形式の LogMetric の改訂仕様を含むファイルを作成します。次に、update コマンドに --config-from-file フィールドを指定して呼び出し、FILENAME を JSON または YAML ファイルの名前に置き換えて指標を更新します。

gcloud logging update metric_name --config-from-file FILENAME

詳細については、次のコマンドを使用してください。

gcloud logging metrics update --help

API

ログベースの指標を編集するには、API の projects.metrics.update メソッドを使用します。フィールドを次のように設定します。

  • metricName: 指標の完全リソース名。

    projects/PROJECT_ID/metrics/METRIC_ID
    

    例:

    projects/my-gcp-project/metrics/my-error-metric
    
  • リクエスト本文には、加える変更や追加を除いて既存の指標とまったく同じ LogMetric オブジェクトを含めます。

ログベースの指標を削除する

ユーザー定義のログベース指標を削除するには、次の手順に従います。

Console

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

    [ログベースの指標] に移動

    検索バーを使用してこのページを検索する場合は、小見出しが [Logging] である結果を選択します。

  2. 削除する接続を選択して、[削除] をクリックします。

    または、削除するログベースの指標のメニューで [指標を削除] をクリックします。

gcloud

次のコマンドを使用して、現在の Google Cloud プロジェクトのユーザー定義のログベース指標を削除します。

gcloud logging metrics delete metric_name

For more details, use the following command:

gcloud logging metrics delete --help

API

ユーザー定義のログベースの指標を削除するには、API の projects.metrics.delete メソッドを使用します。

さらに、Google Cloud コンソールの [ログベースの指標] ページにある、ログベースの指標のインターフェースの [ユーザー定義の指標] ペインには、さらに多くの機能があり、Google Cloud プロジェクトのユーザー定義の指標の管理に役立ちます。詳しくは、[ユーザー定義の指標] ペインをご覧ください。