ログベースの指標の概要

このページでは、ログベースの指標の概要を説明します。

ログベースの指標は、ログエントリの内容に基づく Cloud Monitoring 指標です。たとえば、指標は特定のメッセージを含むログエントリの数を記録したり、ログエントリに報告されたレイテンシ情報を抽出したりできます。Cloud Monitoring のグラフおよびアラート ポリシーで、ログベースの指標を使用できます。

システム(ログベース)指標は Logging によって事前に定義されています。このような指標には、特定の期間内に発生したロギング イベントの数が記録されます。

ユーザー定義(ログベース)指標は、プロジェクトのユーザーによって作成されます。特定のクエリに一致するログエントリの数をカウントするか、一致するログエントリ内の特定の値を追跡します。指標でカウントするログエントリをフィルタリングする場合は、正規表現を使用できます。

ログには、一致するログエントリを受信するたびに、ログベースの指標の情報が蓄積されます。ログには、新しいデータポイントを 1 分あたり 1 データポイントの速さで指標の時系列に書き込まれ、Cloud Monitoring がそのデータを利用できるようにします。

ログベースの指標のデータは、指標が作成された後に受信したログエントリから取得されます。指標には、Logging にすでにあるログエントリのデータが入力されていません。

スタートガイド

  1. Cloud Console で Google Cloud のオペレーション スイートの Logging > Logs-based Metrics ページに移動します。

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

  2. ページの上部にある既存の Google Cloud プロジェクトを選択します。Google Cloud プロジェクトのログベースの指標のリストが表示されます。

ログベースの指標リストを表示するユーザーインターフェース。

アクセス制御

Identity and Access Management のロールと権限は、Google Cloud データへのアクセスを制御します。次に、Google Cloud プロジェクト メンバーがログベースの指標にアクセスするために必要な一般的な役割と権限の概要を示します。

  • ロギング / ログ構成書き込みroles/logging.configWriter)は、ログベースの指標をリスト表示、作成、取得、更新、削除できます。

  • ロギング / ログのビューアroles/logging.viewer)は、既存の指標を表示できます。また、カスタム役割への logging.logMetrics.getlogging.logMetrics.list 権限を付与できます。

  • モニタリング ビューアroles/monitoring.viewer)を使用すると、ログベースの指標に含まれる timeseries を読み取ることができます。また、カスタム役割への monitoring.timeSeries.list 権限を付与できます。

  • ロギング管理者roles/logging.admin)、編集者roles/editor)、およびオーナーroles/owner)は、ログベースの指標を作成する権限(logging.logMetrics.create)を含む広範なレベルの役割を持っています。

詳細については、ロギング: アクセス制御をご覧ください。

ログベースの指標のインターフェース

ログベースの指標のインターフェースは、システム指標ユーザー定義指標の 2 つの指標タイプの領域に分けて表示されます。

両方の領域に、指標の概要を示した表が表示されます。表の各行には、メニュー があり、次のオプションを利用できます。

オーバーフロー メニューを示すログベースの指標リスト。

  • [Metrics Explorer で表示する] を選択すると、Stackdriver Monitoring の Metrics Explorer が開き、システムログ ベースの指標のデータが表示されます。

    Metrics Explorer を使用して、アラート ポリシーのターゲット指標を指定できます。[ターゲット] 領域の横にあるグラフでは、ターゲット指標によってキャプチャされたデータに関する視覚的なフィードバックが提供されます。

  • [指標に基づいてアラートを作成する] を選択すると、ログベースの指標に基づいてアラート ポリシーを作成できます。

    このオプションを選択すると、Cloud Monitoring Console が開き、アラート ポリシーの作成、編集、管理ができます。詳細については、アラート ポリシーの作成をご覧ください。

ユーザー定義指標のインターフェース

ログベースの指標のインターフェースにある [ユーザー定義指標] 領域には、プロジェクトのユーザー定義指標を管理するための追加機能が用意されています。

  • ユーザー定義指標の表には、[名前]、[説明]、[タイプ]、[フィルタ] 列があります。これらは指標の作成時に指定されます。

  • [指標をフィルタ] ボックスでは、テキスト検索、または指標の [名前]、[説明]、[フィルタ] で指標の一覧をフィルタリングできます。

フィルタリング オプションを示すログベースの指標リスト。

  • ユーザー定義指標の表には、[先月の使用量] および [使用量(MTD)] の列があります。たとえば、最も多くのデータを取り込む指標を決定する場合や請求書を見積もる場合には、この活用が有効です。

  • テーブル行の最後にあるメニュー を使用して、指標の編集指標を削除ができます。

さらに、いずれかの列名をクリックすると、昇順または降順でデータを並べ替えることができます。表の一番下では、表示する行数を選択することもできます。

Cloud Console を使用したユーザー定義の指標の管理の詳細については、カウンタ指標の作成分布指標の作成をご覧ください。

ログベースの指標タイプの概要

Logging のログベースの指標には、カウンタ分布の 2 つのタイプがあります。システムログ ベースの指標はすべてカウンタタイプです。ユーザー定義ログベースの指標は、カウンタまたは分布のいずれかのタイプになります。

ログベースの指標の時系列の各データポイントは、前のデータポイント以降に受信した追加情報(デルタ)のみを表します。

以下のセクションでは、カウンタタイプと分布タイプの指標の特性について説明します。

カウンタ指標

カウンタ指標は、高度なログクエリに一致するログエントリの数をカウントします。たとえば、次の操作が可能です。

  • 特定のエラー メッセージを含むログエントリをカウントする指標を作成します。
  • 各ユーザーがオペレーションを呼び出す回数をカウントするには、次のようなログメッセージを探します。

    ... user [USERNAME] called  [OPERATION] ...
    

    [USERNAME] と [OPERATION] を抽出してラベルの値として使用すると、「sallyUPDATE オペレーションを実行した回数」、「READ オペレーションを実行したユーザーの数」、「george がオペレーションを実行した回数」などを確認できます。

詳細については、カウンタ指標の作成をご覧ください。

分布指標

分布指標は、クエリに一致するログエントリの数値データを累計します。この指標には、時系列の Distribution オブジェクトが含まれ、各オブジェクトには次のものが含まれます。

  • 分布内の値の数のカウント
  • 値の平均
  • 偏差平方和: Sumi=1..n(xi–mean)2
  • 各バケット内の値のカウントを持つヒストグラム バケットのセット。デフォルトのバケット レイアウトを使用することも、独自のバケット レイアウトを選択することもできます。

分布指標の一般的な用途は、レイテンシを追跡することです。各ログエントリを受信すると、ログエントリからレイテンシ値が抽出されて、分布に追加されます。定期的に、蓄積された分布が Cloud Monitoring に書き込まれます。

詳細については、分布指標の作成をご覧ください。

ラベル

ログベースの指標には任意でラベルを付けることができます。これにより、単一の指標が複数の時系列を保持できるようになります。ラベルの値は、一致するログエントリのフィールドから抽出されます。Logging では、ラベルの異なる値ごとに時系列を記録します。

システム ログベースの指標には、定義済みのラベルがあります。ユーザー定義の指標に独自のラベルを定義できます。詳細については、ログベースの指標ラベルをご覧ください。

システムログ ベースの指標

Logging には、受信したログエントリの数と量を追跡する既定のカウンタ指標があります。指標には、ログ名と重大度ごとに数を記録するラベルがあります。次の表に指標を示します。

指標の名前と説明 タイプ ラベル
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/excluded_log_entry_count

除外されたログエントリの合計数です。

デルタ int64
logging.googleapis.com/excluded_byte_count

除外されたログエントリの合計バイト数です。

デルタ int64
logging.googleapis.com/exports/log_entry_count

シンクを使用してエクスポートされたログエントリの合計数です。

デルタ int64
logging.googleapis.com/exports/byte_count

シンクを使用してエクスポートされたログエントリの合計バイト数です。

デルタ int64
logging.googleapis.com/exports/error_count

エクスポート構成エラーのためにエクスポートされなかったログエントリの合計数です。

デルタ int64
logging.googleapis.com/logs_based_metrics_error_count

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

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

1 24 時間以上遅れて到着したログエントリや、10 分以上早く到着したログエントリは、log_entry_count 指標や byte_count 指標に含まれません。

システムログ ベースの指標の一覧については、Logging の指標をご覧ください。

Cloud Monitoring

Cloud Monitoring では、システム ログベースの指標とユーザー定義のログベースの指標の両方を使用して、グラフとアラート ポリシーを作成できます。ユーザー定義のログベースの指標名の先頭には user/ が付きますが、システム ログベースの指標には付きません。

Cloud Monitoring API を使用している場合、ログベースの指標の名前は次のとおりです。

logging.googleapis.com/user/[USER_METRIC_NAME]
logging.googleapis.com/[SYSTEM_METRIC_NAME]

詳細については、グラフとアラートの作成をご覧ください。

トラブルシューティング

ログベースの指標を使用する際に問題が発生した場合は、トラブルシューティングをご覧ください。