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

Simple Log Service:e_dict_map関数を使用してログデータを強化する

最終更新日:Oct 31, 2024

このトピックでは、マッピング関数e_dict_mapを使用してログデータをエンリッチする方法について説明します。

一般的なマッピング関数

一般的なマッピング関数は、フルテキスト照合方法を使用してデータをマッピングします。 正規表現マッチング、完全一致、ファジーマッチングなど、よりリッチなフィールドマッチング方法が必要な場合は、検索マッピング関数を使用します。 一般的なマッピング関数には、e_dict_map関数とe_table_map関数があります。 e_dict_map関数の入力データは辞書形式です。 e_table_map関数の入力データは、リソース関数を使用して取得されたテーブルの形式です。

たとえば、e_dict_map関数を使用して、nginxログのHTTPステータスコードをText型のデータに変換できます。

HTTPステータスコード

テキスト

200

Success

300

Redirect

400

Request error

500

Server error

e_dict_map

このセクションでは、e_dict_map関数を使用してログデータをエンリッチする方法について説明します。

  • 生のログエントリ

    http_host:  example.com
    http_status:  300
    request_method:  GET
    
    http_host:  example.org
    http_status:  200
    request_method:  POST
    
    http_host:  example.net
    http_status:  400
    request_method:  GET
    
    http_host:  aliyundoc.com
    http_status:  500
    request_method:  GET
  • 変換の要件

    http_statusフィールドのステータスコードをText型のデータに変換し、変換したデータをstatus_descフィールドに追加します。

  • 変換ルール

    e_dict_map({"400": "Request error", "500": "Server error", "300": "Redirect", "200": "Success"}, "status", "status_desc")
    説明

    上記の変換ルールには、4つのHTTPステータスコードのみが含まれます。 詳細は、「HTTPステータスコード」をご参照ください。 http_statusフィールドの値が401または404の場合、対応する値をソース辞書に含める必要があります。 そうしないと、データマッピングは失敗します。

  • 結果

    http_host:  example.com
    http_status:  300
    request_method:  GET
    status_desc: Redirect
    
    http_host:  example.org
    http_status:  200
    request_method:  POST
    status_desc: Success
    
    http_host:  example.net
    http_status:  400
    request_method:  GET
    status_desc: Request error
    
    http_host:  aliyundoc.com
    http_status:  500
    request_method:  GET
    status_desc: Server error