ログベースの指標

このガイドでは、特定のフィルタと一致するログエントリをカウントする指標を作成する方法を説明します。Stackdriver Monitoring では、これらの指標を使用してグラフや通知ポリシーを作成することができます。

概要

アプリケーションは通常、各種のイベントが発生した時点でログメッセージを出力します。たとえば、要求を受け取った場合や、なんらかの問題が発生した場合などです。このようなイベントを監視する簡単な方法として、ログベースの指標を使用して、関連するログメッセージの数を追跡することがあげられます。

  1. ログビューアを使用して、目的のイベントのログエントリを表示します。
  2. フィルタに一致するログエントリをカウントする Stackdriver Monitoring 指標を作成します。
  3. ログベースの指標を使用して、Stackdriver Monitoring グラフと通知ポリシーを作成します。

また、Stackdriver Logging には定義済みのログシステム指標があり、これを使用して次のような疑問を解決することができます。

  • App Engine リクエストログに書き込まれたログエントリのうち、重大度が ERROR のものは何件あるか
  • syslog に書き込まれたログエントリのバイトのうち、Compute Engine インスタンスから受け取ったものは何バイトあるか

ログベースの指標は、Stackdriver Logging API v2gcloud コマンドライン ツールに完全に対応しています。

設定前に

  1. Google アカウントへのログイン

    Google アカウントをまだお持ちでない場合は、新しいアカウントを登録します。

  2. Cloud Platform Console プロジェクトを選択または作成します。

    [プロジェクト] ページに移動

  3. プロジェクトの課金を有効にします。

    課金の有効化

  4. プロジェクト用の Stackdriver アカウントを作成します。既にある場合は、それを使用します。

指標の作成

ログビューアでログベースの指標を作成するには、次の手順に従います。

  1. Cloud Platform Console でログビューアを開きます。ログ選択メニューと検索バーを使用して、指標でカウントするログエントリのみを表示するフィルタを作成します。また、高度なログフィルタを変更することもできます。

  2. 棒グラフのアイコン([指標の作成])を選択します。このアイコンは基本フィルタの検索バーの横、または高度なフィルタの下にあります。 次のように新しいセクションが表示されます。

    ログベースの指標を作成する

  3. 指標の名前と説明を入力します。 指標名に使用できる文字は、A~Z、a~z、0~9、また _-.,+!*',()%/ の各特殊文字のみです。スラッシュ(/)は名前の部分の階層を表します。名前の先頭に使用することはできません。指標名は 100 文字以内でなければなりません。

  4. [保存] を選択します。

  5. 表示されるメッセージを読んでから [OK] を選択します。

  6. 必要があれば、[指標] パネルを選択して、新しい指標を確認します。 各指標の設定メニューにはいくつかのオプションがあります。ログベースの指標の管理をご覧ください。

グラフの作成

ダッシュボードとグラフの作成の概要については、Stackdriver Monitoring クイックスタートをご覧ください。グラフでログベースの指標を使用する場合は、次の手順に従います。

  1. [Add Chart] ダイアログの [Resource Type] メニューで [Log Metrics] を選択します。
  2. [Metric] メニューで目的のログベースの指標を選択します。たとえば、Stackdriver Logging で指標の名前を error_count に設定した場合、[Metric] メニューでは user/error_count と表示されます。

問題がある場合は、トラブルシューティングをご覧ください。

Stackdriver Monitoring グラフの設定メニューには [View Logs] オプションがあります。 これは具体的なログベースの指標に関連付けられたものではなく、表示されているすべての指標に関連するログエントリを表示するためのものです。 詳細については、Stackdriver Monitoring クイックスタートのログを表示をご覧ください。

通知ポリシーの作成

通知ポリシーの作成の概要については、Stackdriver Monitoring クイックスタートをご覧ください。ポリシーでログベースの指標を作成する場合は、次の手順に従います。

  1. [Add Condition] > [Target] ダイアログの [Resource Type] メニューで [Log Metrics] を選択します。
  2. [Add Condition] > [Configuration] ダイアログで、目的のログベースの指標を選択します。たとえば、Stackdriver Logging で指標の名前を error_count に設定した場合、[Metric] メニューでは user/error_count と表示されます。

また、ログベースの指標から通知ポリシーを簡単に作成することもできます。Cloud Platform Console のログビューアを開き、[指標] パネルを選択します。リストに目的のログベースの指標があることを確認し、指標の設定メニューで [指標に基づいて通知を作成する] を選択します。

新しい通知ポリシーをテストできるように、Stackdriver Logging が通知期間内の正しい種類のログエントリを十分な量受け取れるようにしてください。問題がある場合は、トラブルシューティングをご覧ください。

ログベースの指標の読み取り

Stackdriver Logging API ではログベースの指標の作成、一覧表示、修正、削除ができます。詳細については、API の project.metrics コレクションと Stackdriver Logging のコマンドライン ツールをご覧ください。

ログベースの指標から時系列データを読み取るには、Stackdriver Monitoring API V3 を使用します。 Stackdriver Monitoring API v2 はログベースの指標にアクセスできません。

ログベースの指標の管理

ログビューアの [指標] パネルでは、指標の編集または削除ができます。

Cloud Platform Console でログビューアを開きます。左側のナビゲーション パネルで [ログベースの指標] を選択します。作成したログベースの指標がすべて表示されます。

User-defined metrics

個別の指標を削除するには、その指標の設定メニューで [指標を削除] を選択します。複数の指標を削除するには、削除する指標の横のチェックボックスをマークしてから、指標のリストの上にある [削除] を選択します。

指標を編集するには、目的の指標の設定メニューで [指標を編集] を選択します。 指標の高度なログフィルタや説明を編集することはできますが、指標名を変更することはできません。フィルタを編集してから [フィルタを送信] を選択し、どのログエントリが選択されているか確認します。[保存] を選択して、指標のフィルタと説明の変更を保存します。

定義済みログ指標の使用

Stackdriver Logging では、このガイドで説明したユーザー定義のログベースの指標の他に、プロジェクトで使用できる定義済みのログベースのシステム指標を使用できます。これはデルタ指標と呼ばれ、特定の期間に発生した各種のイベントが記録されます。各指標には、データを分割するラベルがあります。たとえば、すべてのシステム指標がデータをログによってグループ化します。

Stackdriver Monitoring では、[Log Metrics] リソースタイプで次の指標が表示されます。また、独自に作成したログベースの指標も表示されます。メニュー内の指標名の中に logging.googleapis.com/ はありません。これについては次の表で紹介します。 これらの指標の使用については、グラフの作成通知ポリシーの作成をご覧ください。

指標の名前と説明 タイプ ラベル
logging.googleapis.com/log_entry_count

受け取ったログエントリの合計数です。

デルタ int64 log: ログの名前です。例: "appengine.googleapis.com/request_log"

severity: ログエントリの重大度です。例: "ERROR"

logging.googleapis.com/byte_count

ログエントリで受け取ったバイト数の合計です。

デルタ int64 log: ログの名前です。例: "appengine.googleapis.com/request_log"
logging.googleapis.com/dropped_log_entry_count

遅れて到着したログエントリの数です。

デルタ int64 log: ログの名前です。例: "appengine.googleapis.com/request_log"

トラブルシューティング

指標が Stackdriver Monitoring メニューに表示されない

ログベースの指標は、Stackdriver Monitoring の [Log Metrics] リソースタイプの欄に表示されます。ユーザー定義指標の名前の先頭には user/ が付いています。

指標のログデータがない

ログベースの指標のデータが欠落している理由として、いくつかの可能性が考えられます。

  • ログベースの指標でカウントされる一致ログエントリは、指標の作成後に受け取ったものです。現時点では、既存のデータで指標をバックフィルすることはできません。

  • Stackdriver Monitoring はログベースの指標の更新に数分間かかります。そのため、Stackdriver Logging のログエントリが、Stackdriver Monitoring ではまだカウントされていない場合があります。

  • ログエントリが Stackdriver Logging に遅れて到着した場合、ログビューアには表示されますが、ログベース指標ではカウントされません。ログエントリが「遅れた」とみなされるのは、到着時間がログエントリのタイムスタンプの 2 分後より遅くなった場合です。遅れて到着したエントリの数は、ログごとにシステム指標 logging.googleapis.com/dropped_log_entry_count に記録されます。

指標が Stackdriver Monitoring API に表示されない

ログベースの指標にアクセスできるのは、Stackdriver Monitoring API V3 のみです。

フィードバックを送信...