すべてのプロダクト
Search
ドキュメントセンター

Simple Log Service:LogstoreのログフィールドをMetricstoreのメトリックに変換する

最終更新日:Aug 28, 2024

Logstoreのログフィールドのメトリックトレンドを監視する場合は、e_to_metric関数を使用して、ログフィールドをMetricstoreのメトリックに変換できます。 次に、Metricstoreでメトリックトレンドを表示できます。 このトピックでは、NGINXアクセスログのフィールドをメトリックに変換する方法について説明します。

背景情報

アプリケーションの運用データは、ログ、トレース、およびメトリックに分類されます。 ログは離散イベントを示します。 トレースは、コールチェーンを含むイベントを示す。 メトリックは、数値測定値を含むイベントを示します。 ログ、トレース、およびメトリックはイベントです。 イベントを格納できるシステムは、上記のタイプのデータを格納できます。 Simple Log Serviceは、データストレージに次の種類のストアを提供します。

  • ログストア

    Simple Log Serviceのログストアは、ログの収集、保存、およびクエリに使用されます。 詳細は、「Logstore」をご参照ください。

  • MetricStore

    Simple Log Serviceのメトリストアは、メトリクスの収集、保存、およびクエリに使用されます。 メトリックはメトリックに基づいて最適化されます。 Prometheusが提供するPromQL構文を使用して、メトリックをクエリできます。 詳細については、「Metricstore」をご参照ください。

ほとんどのアプリケーションでは、ログにはメトリックよりも多くの情報が含まれます。 メトリクスは、特定の形式のログと見なすことができます。 Simple Log Serviceでは、ログをメトリクスに変換できます。 次のいずれかの方法を使用して、ログをメトリックに変換できます。

  • Simple Log Serviceのスケジュール済みSQL機能を使用して、ログを集計し、メトリックを生成します。 詳細については、「LogstoreからMetricstoreへのデータの処理と保存」をご参照ください。

  • データ変換にe_to_metric関数を使用して、Logstoreのログフィールドをメトリックに変換します。 詳細は、「e_to_metric関数」をご参照ください。

シナリオ

企業は、nginxアクセスログを保存するために、中国 (杭州) リージョンにNGINX-demoという名前のLogstoreを作成しました。

企業では、関連するホストに対するリクエストのリクエスト期間とレスポンス期間の傾向を監視し、その傾向をダッシュボードで視覚化したいと考えています。 request_timeおよびupstream_response_timeフィールドは、リクエスト期間とレスポンス期間を示します。 要件を満たすには、Logstoreのログのrequest_timeフィールドとupstream_response_timeフィールドをメトリクスに変換し、Hostタグを追加する必要があります。

body_bytes_sent:1750
host:www.example.com
http_referer:www.guide.example.com
http_user_agent:Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_6; it-it) AppleWebKit/533.20.25 (KHTML, like Gecko) Version/5.0.4 Safari/533.20.27
http_x_forwarded_for:203.0.113.10
remote_addr:203.0.113.10
remote_user:p288
request_length:13741
request_method:GET
request_time:71
request_uri:/request/path-1/file-1
status:200
time_local:11/Aug/2021:06:52:27
upstream_response_time:0.66

前提条件

ログが収集されていること。 詳細については、「データ収集の概要」をご参照ください。

ステップ1: Metricstoreを作成する

service-metricという名前のMetricstoreを作成して、データ変換後に返されるメトリックを格納します。

  1. にログインします。Simple Log Serviceコンソール.

  2. [プロジェクト] セクションで、管理するプロジェクトをクリックします。

    image

  3. [時系列ストレージ] > [メトリクストア] タブで、[+] アイコンをクリックします。

  4. [Metricstoreの作成] パネルで、次のパラメーターを設定し、[OK] をクリックします。

    パラメーター

    説明

    Metricstore名

    Metricstoreの名前。 名前は、Metricstoreが属するプロジェクト内で一意である必要があります。 Metricstoreの作成後、Metricstoreの名前を変更することはできません。

    データ保持期間

    Metricstoreで収集されたメトリクスの保持期間。

    • データ保持期間に指定日を選択した場合、ビジネス要件に基づいてメトリックを格納する日数を指定できます。 有効な値: 1 ~ 3000 単位:日

      警告
      • 保持期間が終了すると、メトリックは自動的に削除されます。

      • データ保持期間を短縮すると、Simple Log Serviceは1時間以内にすべての期限切れメトリクスを削除します。 Simple Log Serviceコンソールのホームページの [使用状況の詳細] に表示されるデータボリュームは、翌日更新されます。 たとえば、データ保持期間を5日から1日に変更した場合、Simple Log Serviceは1時間以内に過去4日間のメトリックを削除します。

    • データ保持期間にPermanent Storageを選択した場合、Simple Log Serviceは収集したメトリクスをMetricstoreに永続的に保存します。

      説明

      SDKを呼び出してデータ保持期間を照会し、返された結果が3650の場合、メトリックは永続的に保存されます。

    シャード

    シャードの数。 Simple Log Serviceは、データの読み書きを可能にするシャードを提供します。 各シャードは、5メガバイト/秒と500書き込み /秒の書き込み容量と、10メガバイト/秒と100読み取り /秒の読み取り容量をサポートします。 各Metricstoreに最大10個のシャードを作成できます。 各プロジェクトに最大200個のシャードを作成できます。 詳細については、「シャード」をご参照ください。

    自動シャーディング

    自動シャーディングをオンにすると、書き込まれたデータを既存のシャードで収容できない場合、Simple Log Serviceはシャードの数を増やします。 詳細については、「シャードの管理」をご参照ください。

    最大シャード

    自動シャーディングをオンにする場合、このパラメーターを設定して、作成できる読み取り書き込みシャードの最大数を指定する必要があります。 最大値: 256。

ステップ2: データ変換ジョブを作成する

e_to_metric関数を使用してデータ変換ジョブを作成し、変換結果を手順1で作成したMetricstoreに保存します。 詳細については、「e_to_metric」をご参照ください。

  1. データ変換ページに移動します。

  2. [データ変換] ページの右上隅で、クエリ時間範囲を選択します。 管理するログが [生ログ] タブに表示されていることを確認します。

    image

  3. コードエディターで、データ変換ステートメントを入力します。 Logstoreのログのrequest_timeフィールドとupstream_response_timeフィールドをメトリックに変換します。 hostフィールドの名前をhostnameに変更し、hostnameをlabelsフィールドとして指定します。

    e_to_metric(
        names=[("request_time", "RequestTime"), ("upstream_response_time", "ResponseTime")],
        labels=[("host", "hostname")],
    )
  4. [データのプレビュー] をクリックして、[変換結果] タブで結果を表示します。

    image

  5. データ変換ジョブを作成します。

    1. [変換ジョブとして保存] をクリックします。

    2. [データ変換ジョブの作成] パネルでパラメーターを設定し、[OK] をクリックします。 下表に、各パラメーターを説明します。 パラメーターの詳細については、「データ変換ジョブの作成」をご参照ください。

      パラメーター

      説明

      ジョブ名、表示名

      ジョブ名は一意である必要があります。 カスタム表示名を指定できます。 例: log2metric。

      権限付与方法

      [デフォルトロール] を選択して、ソースLogstoreからデータを読み取ります。

      保存先

      宛先名

      保存先の名前。 例: log2metric。

      宛先リージョン

      ターゲットMetricstoreが属するプロジェクトのリージョン。 例: 中国 (杭州) 。

      宛先プロジェクト

      ターゲットMetricstoreが属するプロジェクトの名前。

      ターゲットストア

      変換結果が格納される宛先Metricstoreの名前。 例: service-metric。

      権限付与方法

      [デフォルトロール] を選択して、変換結果をservice-metric Metricstoreに書き込みます。

      データ変換の時間範囲

      時間範囲

      [すべて] を選択します。

  1. データ変換ジョブの進行状況を表示します。

    image

ステップ3: メトリクスの照会

  1. 左側のナビゲーションウィンドウで、[メトリックストレージ] > [メトリックストア] を選択します。 次に、宛先Metricstoreを選択します。

    image

  2. 表示されるページの右上隅にある15分 (相対) をクリックし、データのクエリと分析の時間範囲を指定します。

    説明

    クエリおよび分析結果は、指定された時間範囲より1分早くまたは遅く生成されたメトリックを含むことができる。

  3. [生データのプレビュー] をクリックします。 表示されるパネルで、時間範囲を選択し、必要なログがアップロードされているかどうかを確認します。

    image

  4. 次のいずれかの方法を使用してクエリ文を入力します。 メトリックのクエリ方法の詳細については、「メトリックデータのクエリと分析」をご参照ください。

    • PromQLステートメントを入力し、[今すぐ実行] をクリックします。

      複数のクエリ文を追加できます。 Simple Log Serviceは、複数のクエリステートメントの結果を時系列グラフに表示します。

    • [メトリックの調査] をクリックします。 表示されるダイアログボックスで、使用する指標を見つけ、[操作] 列の加号アイコンをクリックします。 Simple Log Serviceは、クエリ文を自動的に生成します。

      [メトリックの調査] のダイアログボックスで、メトリックを見つけて、[操作] 列の [調査を続行] をクリックしてラベル値を指定することもできます。 Simple Log Serviceは、設定に基づいてクエリ文を自動的に生成します。 詳細については、「メトリック探索」をご参照ください。

    • 各ホストに対するリクエストのリクエスト时间の动向 RequestTime

    • 各ホストに対するリクエストの応答时间の动向ReponseTime