Logstore のログフィールドのメトリックトレンドをモニターする場合、e_to_metric 関数を使用してログフィールドを Metricstore のメトリックに変換できます。その後、Metricstore でメトリックのトレンドを表示できます。このトピックでは、NGINX アクセスログのフィールドをメトリックに変換する方法について説明します。
背景情報
アプリケーションの運用データは、ログ、トレース、メトリックに分類されます。ログは個別のイベントを示します。トレースは、呼び出しチェーンを含むイベントを示します。メトリックは、数値測定を含むイベントを示します。ログ、トレース、メトリックはイベントです。イベントを格納できるシステムは、前述のタイプのデータを格納できます。Simple Log Service は、データストレージ用に次のタイプのストアを提供します。
Logstore
Simple Log Service の Logstore は、ログの収集、保存、クエリに使用されます。詳細については、「Logstore」をご参照ください。
MetricStore
Simple Log Service の Metricstore は、メトリックの収集、保存、クエリに使用されます。Metricstore はメトリックに基づいて最適化されています。Prometheus が提供する PromQL 構文を使用してメトリックをクエリできます。詳細については、「Metricstore」をご参照ください。
ほとんどのアプリケーションでは、ログにはメトリックよりも多くの情報が含まれています。メトリックは、特定のフォーマットのログと見なすことができます。Simple Log Service では、ログをメトリックに変換できます。次のいずれかの方法を使用して、ログをメトリックに変換できます。
Simple Log Service の Scheduled 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 フィールドをメトリックに変換し、ホストタグを追加する必要があります。
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 を作成します。
Simple Log Service コンソールにログインします。
Projects セクションで、目的のプロジェクトをクリックします。

タブで、[+] アイコンをクリックします。
[Create Metricstore] パネルで、次のパラメーターを設定し、[OK] をクリックします。
パラメーター
説明
Metricstore 名
Metricstore の名前。名前は、Metricstore が属するプロジェクト内で一意である必要があります。Metricstore の作成後は、Metricstore の名前を変更することはできません。
データ保持期間
Metricstore に収集されたメトリックの保持期間。
データ保持期間に [Specified Days] を選択した場合は、ビジネス要件に基づいてメトリックを保存する日数を指定します。有効値: 1~3000。単位: 日。
警告保持期間が終了すると、メトリックは自動的に削除されます。
データ保持期間を短縮すると、SLS は 1 時間以内に期限切れのメトリックをすべて削除します。SLS コンソールのホームページの [使用量の詳細] に表示されるデータ量は、翌日に更新されます。たとえば、データ保持期間を 5 日から 1 日に変更すると、SLS は 1 時間以内に過去 4 日間のメトリックを削除します。
データ保持期間に [Permanent Storage] を選択した場合、SLS は収集されたメトリックを Metricstore に永続的に保存します。
説明SDK を呼び出してデータ保持期間をクエリし、返された結果が 3650 の場合、メトリックは永続的に保存されます。
シャード
シャードの数。SLS は、データの読み取りと書き込みを可能にするシャードを提供します。各シャードは、5 MB/s の書き込み容量と 500 writes/s、10 MB/s の読み取り容量と 100 reads/s をサポートします。各 Metricstore に最大 10 個のシャードを作成できます。各プロジェクトに最大 200 個のシャードを作成できます。詳細については、「シャード」をご参照ください。
自動シャーディング
[自動シャーディング] をオンにすると、既存のシャードが書き込まれるデータに対応できない場合に、SLS はシャードの数を増やします。詳細については、「シャードの管理」をご参照ください。
最大シャード数
[自動シャーディング] をオンにする場合は、このパラメーターを設定して、作成可能な読み取り/書き込みシャードの最大数を指定する必要があります。最大値: 256。
ステップ 2: データ変換ジョブの作成
e_to_metric 関数を使用してデータ変換ジョブを作成し、変換結果をステップ 1 で作成した Metricstore に保存します。詳細については、「e_to_metric」をご参照ください。
データ変換ページの右上隅で、クエリの時間範囲を選択します。管理するログが [Raw Logs] タブに表示されていることを確認します。

エディターで、データ変換文を入力します。この文は、Logstore の
request_timeフィールドとupstream_response_timeフィールドをメトリックに変換し、hostフィールドの名前をhostnameに変更して新しいラベルとして使用します。e_to_metric( names=[("request_time", "RequestTime"), ("upstream_response_time", "ResponseTime")], labels=[("host", "hostname")], )[Preview Data] をクリックして、結果を [Transformation Results] タブに表示します。

データ変換ジョブを作成します。
[Save As Transformation Job] をクリックします。
[Create Data Transformation Job] パネルで、パラメーターを設定し、[OK] をクリックします。次の表にパラメーターを示します。パラメーターの詳細については、「データ変換ジョブの作成」をご参照ください。
パラメーター
説明
ジョブ名、表示名
ジョブ名は一意である必要があります。カスタム表示名を指定できます。例: log2metric。
承認方法
ソース Logstore からデータを読み取るには、[Default Role] を選択します。
ストレージ先
宛先名
ストレージ先の名前。例: log2metric。
宛先リージョン
宛先 Metricstore が属するプロジェクトのリージョン。例: 中国 (杭州)。
宛先プロジェクト
宛先 Metricstore が属するプロジェクトの名前。
ターゲットストア
変換結果が保存される宛先 Metricstore の名前。例: service-metric。
承認方法
変換結果を service-metric Metricstore に書き込むには、[Default Role] を選択します。
処理範囲
時間範囲
[All] を選択します。
データ変換ジョブの進行状況を表示します。

ステップ 3: メトリックのクエリ
左側のナビゲーションウィンドウで、 を選択します。次に、宛先 Metricstore を選択します。

表示されたページの右上隅で [15 Minutes(Relative)] をクリックし、データクエリと分析の時間範囲を指定します。
説明クエリと分析の結果には、指定した時間範囲より 1 分早くまたは遅く生成されたメトリックが含まれる場合があります。
[Preview Raw Data] をクリックします。表示されるパネルで、時間範囲を選択し、必要なログがアップロードされているかどうかを確認します。

次のいずれかの方法を使用してクエリ文を入力します。メトリックのクエリ方法の詳細については、「メトリックデータのクエリと分析」をご参照ください。
PromQL 文を入力し、[Execute Now] をクリックします。
複数のクエリ文を追加できます。Simple Log Service は、複数のクエリ文の結果を時系列グラフに表示します。
[Metrics Explore] をクリックします。表示されるダイアログボックスで、使用するメトリックを見つけ、[Actions] 列の
アイコンをクリックします。Simple Log Service は自動的にクエリ文を生成します。[Metrics Explore] のダイアログボックスで、メトリックを見つけて [Actions] 列の [Continue To Explore] をクリックしてラベル値を指定することもできます。Simple Log Service は、設定に基づいてクエリ文を自動的に生成します。詳細については、「メトリックの探索」をご参照ください。
各ホストへのリクエストのリクエスト時間のトレンド
各ホストへのリクエストの応答時間のトレンド
