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 収集モードを設定する方法について説明します。
- Logstore リストのデータインポートウィザードをクリックします。
- データの型を選択します。
テキストファイルを選択し、次へをクリックします。
- データソースを設定します。
- 構成名およびログパスを入力し、ログ収集モードにJSON モードを選択します。
- ログ時間にシステム時間を使用するかどうかを選択します。システム時間を使用を有効または無効にします。
- システム時間を使用を有効にする場合
システム時間を使用すると、ログ時間は、ログ内の time フィールドではなく、Log Service のログを収集した時間が採用されます。
- システム時間を使用を無効にする場合
システム時間を使用しない場合、ログ内の time フィールドがログ時間になります。
システム時間を使用を無効にする場合は、time フィールドのキーおよび時間変換形式を定義する必要があります。たとえば、JSON オブジェクトの
time
フィールド「05/May/2016:13:30:29」を抽出して、ログ時間にすることができます。ログ時間の書式設定については、テキストログー時間書式の設定をご参照ください。図 1. JSONログ
- システム時間を使用を有効にする場合