JSON ログは、次の 2 種類の構造体にします。
  • オブジェクト: キーと値のペアの集合
  • 配列: 値のリスト

Logtail は、Object 型の JSON ログに対応しています。オブジェクトの第 1 階層からキーおよび値が抽出され、フィールド名および値になります。フィールド値には、オブジェクト型、配列型、および、文字列型や数値型といった単純なデータ型が入ることができます。また、JSON ログは、\nで行は区切られます。抽出される各行が、1 つのログになります。

なお、JSON 配列といった Object 型でないデータは自動解析されません。正規表現でフィールドを抽出し、また、シンプルモードで行ごとにログを収集します。

ログサンプル

{"url": "POST /PutData? Category=YunOsAccountOpLog&AccessKeyId=U0Ujpek********&Date=Fri%2C%2028%20Jun%202013%2006%3A53%3A30%20GMT&Topic=raw&Signature=pD12XYLmGxKQ%2Bmkd6x7hAgQ7b1c%3D HTTP/1.1", "ip": "10.200.98.220", "user-agent": "aliyun-sdk-java", "request": {"status": "200", "latency": "18204"}, "time": "05/May/2016:13:30:28"}
{"url": "POST /PutData? Category=YunOsAccountOpLog&AccessKeyId=U0Ujpek********&Date=Fri%2C%2028%20Jun%202013%2006%3A53%3A30%20GMT&Topic=raw&Signature=pD12XYLmGxKQ%2Bmkd6x7hAgQ7b1c%3D HTTP/1.1", "ip": "10.200.98.210", "user-agent": "aliyun-sdk-java", "request": {"status": "200", "latency": "10204"}, "time": "05/May/2016:13:30:29"}

Logtail を使用して JSON ログを収集

Logtail を使用して JSON ログを収集する手順については、「5 分でクイックスタート」をご参照ください。 本ドキュメントでは、Logtail の Log 収集モードを設定する方法について説明します。
  1. Logstore リストデータインポートウィザードをクリックします。
  2. データの型を選択します。

    テキストファイルを選択し、次へをクリックします。

  3. データソースを設定します。
    1. 構成名およびログパスを入力し、ログ収集モードにJSON モードを選択します。
    2. ログ時間にシステム時間を使用するかどうかを選択します。システム時間を使用を有効または無効にします。
      • システム時間を使用を有効にする場合

        システム時間を使用すると、ログ時間は、ログ内の time フィールドではなく、Log Service のログを収集した時間が採用されます。

      • システム時間を使用を無効にする場合

        システム時間を使用しない場合、ログ内の time フィールドがログ時間になります。

        システム時間を使用を無効にする場合は、time フィールドのキーおよび時間変換形式を定義する必要があります。たとえば、JSON オブジェクトのtimeフィールド「05/May/2016:13:30:29」を抽出して、ログ時間にすることができます。ログ時間の書式設定については、テキストログー時間書式の設定をご参照ください。

        図 1. JSONログ