ネイティブまたは拡張の時間処理プラグインを使用して、ログタイムスタンプを解析、抽出し、標準化します。
プラグインの効果例
Simple Log Service (SLS) で、時間解析プラグイン (ネイティブ) を使用した場合と使用しない場合の生ログデータを比較します。
|
生ログ |
プラグインなし |
時間解析プラグイン (ネイティブ) |
|
秒精度のタイムスタンプ:
|
Content: "{"level":"INFO","timestamp":"2025-09-29T09:56:01+0800","cluster":"yilu-cluster-0728","message":"User logged in successfully","userId":"user-123"}" |
|
|
ミリ秒精度のタイムスタンプ:
|
Content: "{"time":"2026-01-05T11:58:40,647Z", "filename":"out_data.py","levelname": "INFO", "threadName":"MainThread"}" |
|
|
ナノ秒精度のタイムスタンプ:
|
Content: "{"time": "2026-01-05T11:40:22,298837465+07:00","filename":"out_data.py","levelname":"INFO","threadName": "MainThread"}" |
|
時間処理プラグイン
SLS では、以下の時間処理プラグインを提供しています。
|
名前 |
タイプ |
説明 |
|
時間解析 |
ネイティブ |
ログ内の時間フィールドを解析し、標準化します。 |
|
ログ時間抽出 |
拡張 |
生の時間フィールドを解析し、ログタイムスタンプとして設定します。 |
エントリーポイント
Logtailプラグインを使用してログを処理する場合は、Logtail設定を作成または変更するときにLogtailプラグイン設定を追加できます。 詳細については、「概要」をご参照ください。
ネイティブプラグインと拡張プラグインの違い
ネイティブプラグイン: C++ で実装されており、より高いパフォーマンスを提供します。
拡張プラグイン: Go で実装されており、より豊富で柔軟なエコシステムを提供します。ネイティブプラグインでログ形式を処理できない場合は、拡張プラグインを使用してください。
-
拡張プラグインのパフォーマンス制限
-
ログ収集の制限
-
拡張プラグインは、テキストログを行モードで処理します。つまり、
__tag__:__path__や__topic__などのファイルレベルのメタデータが、各ログエントリに保存されます。 -
拡張プラグインを追加すると、タグ関連の機能に以下の影響が出ます。
-
アグリゲーター構成を追加しない限り、コンテキストクエリと LiveTail は使用できなくなります。
-
__topic__フィールドは__log_topic__に名前が変更されます。アグリゲーター構成を追加すると、ログには__topic__と__log_topic__の両方のフィールドが含まれます。__log_topic__フィールドが不要な場合は、「フィールド削除プラグイン」を使用して削除できます。 -
__tag__:__path__などのフィールドは、ネイティブのフィールドインデックスを失います。これらのフィールドに対して「インデックス作成」を行う必要があります。
-
-
時間解析プラグイン (ネイティブ)
ログ内の時刻フィールドを解析し、結果を __time__ フィールドに割り当てます。
構成
|
パラメーター |
説明 |
|
[元のフィールド] |
解析するログコンテンツを含むフィールドです。デフォルト: content。 説明
正規表現解析プラグインを使用する場合は、ソースフィールドを time に設定し、正規表現の構成で抽出フィールドとして time を含めてください。 |
|
[時間形式] |
ログ内のタイムスタンプのフォーマットです。たとえば、タイムスタンプが 10/Sep/2023:12:36:49 の場合、対応する時間フォーマットは %d/%b/%Y:%H:%M:%S です。 |
|
[タイムゾーン] |
ログ内のタイムスタンプのタイムゾーンです。空のままにすると、プラグインは Logtail が実行されているマシンのタイムゾーンを使用します。 |
デフォルトでは、Simple Log Service は秒精度でタイムスタンプを処理します。そのため、時間フォーマットは秒まで設定すればよく、ミリ秒やマイクロ秒などの小さい単位は省略できます。ミリ秒、マイクロ秒、またはナノ秒の精度を保持するには、以下のようにナノ秒精度を有効にしてください。詳細については、ナノ秒タイムスタンプをサポートするログ収集をご参照ください。
|
生ログ |
時間解析プラグインの構成 |
時間フォーマット |
|
|
%Y-%m-%dT%H:%M:%S,%f%z |
ナノ秒精度を有効にするには:
Logtail 構成ページで、 に移動し、[詳細パラメーター] を有効にして、次のように入力してください:
{
"EnableTimestampNanosecond": true
}拡張プラグインを使用してナノ秒またはミリ秒精度のタイムスタンプを解析する場合も、EnableTimestampNanosecond を有効にしてください。
ログ時刻抽出プラグイン
processor_gotime または processor_strptime を使用して、生ログ内の時刻フィールドをパースします。
サブ秒精度を維持するには、「ナノ秒タイムスタンプに対応するログ収集」をご参照ください。
Go 時間形式 (processor_gotime)
strptime 時間形式 (processor_strptime)
ログの時間フォーマット
processor_gotime の時間フォーマットについては、https://pkg.go.dev/time#pkg-constants をご参照ください。processor_parse_timestamp_native ネイティブプラグインと processor_strptime 拡張プラグインは、次のフォーマットをサポートしています。
-
Linux サーバーでは、Logtail は strftime 関数で提供されるすべての時間フォーマットをサポートしています。
|
フォーマット |
説明 |
例 |
|
%a |
短縮された曜日名。 |
Fri |
|
%A |
完全な曜日名。 |
Friday |
|
%b |
短縮された月名。 |
Jan |
|
%B |
完全な月名。 |
January |
|
%d |
月の日を0埋めされた10進数で表します (01~31)。 |
07, 31 |
|
%f |
ミリ秒、マイクロ秒、またはナノ秒などの秒の小数部。 |
123 |
|
%h |
短縮された月名。%b と同じです。 |
Jan |
|
%H |
時 (24時間制) を0埋めされた10進数で表します (00~23)。 |
22 |
|
%I |
時 (12時間制) を0埋めされた10進数で表します (01~12)。 |
11 |
|
%m |
月を0埋めされた10進数で表します (01~12)。 |
08 |
|
%M |
分を0埋めされた10進数で表します (00~59)。 |
59 |
|
%n |
改行。 |
line feed |
|
%p |
AM または PM。 |
AM, PM |
|
%r |
12 時間形式の時刻。%I:%M:%S %p と同じです。 |
11:59:59 AM |
|
%R |
24 時間形式の時と分。%H:%M と同じです。 |
23:59 |
|
%S |
秒を0埋めされた10進数で表します (00~59)。 |
59 |
|
%t |
タブ文字。 |
タブ文字 |
|
%y |
世紀なしの年を0埋めされた10進数で表します (00~99)。 |
04, 98 |
|
%Y |
世紀を含む年を 10 進数で表します。 |
2004, 1998 |
|
%C |
世紀を 10 進数で表します (00~99)。 |
16 |
|
%e |
月の日を空白で埋めた 10 進数で表します (1~31)。 |
7, 31 |
|
%j |
年の通算日を0埋めされた10進数で表します (001~366)。 |
365 |
|
%u |
曜日を 10 進数で表します。月曜日は 1 です (1~7)。 |
2 |
|
%U |
日曜日を週の始まりとする、年の週番号を表します (00~53)。 |
23 |
|
%V |
月曜日を週の始まりとする、ISO 8601 週番号を表します (01~53)。 週 1 は、少なくとも 4 日を含む年の最初の週です。 |
24 |
|
%w |
曜日を 10 進数で表します。日曜日は 0 です (0~6)。 |
5 |
|
%W |
月曜日を週の始まりとする、年の週番号を表します (00~53)。 |
23 |
|
%c |
ロケール固有の日付と時刻の表現。 |
Tue Nov 20 14:12:58 2020 |
|
%x |
ロケール固有の日付の表現。 |
Tue Nov 20 2020 |
|
%X |
ロケール固有の時刻の表現。 |
11:59:59 |
|
%s |
UNIX タイムスタンプ。 |
1476187251 |
例
一般的な時刻標準と、それに対応する式:
|
例 |
式 |
標準 |
|
2017-12-11 15:05:07 |
%Y-%m-%d %H:%M:%S |
カスタム |
|
[2017-12-11 15:05:07.012] |
[%Y-%m-%d %H:%M:%S.%f] |
カスタム |
|
2017-12-11 15:05:07.123 |
%Y-%m-%d %H:%M:%S.%f |
カスタム |
|
02 Jan 06 15:04 MST |
%d %b %y %H:%M %Z |
RFC822 |
|
02 Jan 06 15:04 -0700 |
%d %b %y %H:%M %z |
RFC822Z |
|
Monday, 02-Jan-06 15:04:05 MST |
%A, %d-%b-%y %H:%M:%S %Z |
RFC850 |
|
Mon, 02 Jan 2006 15:04:05 MST |
%a, %d %b %Y %H:%M:%S %Z |
RFC1123 |
|
2006-01-02T15:04:05Z07:00 |
%Y-%m-%dT%H:%M:%S%z |
RFC3339 |
|
2006-01-02T15:04:05.999999999Z07:00 |
%Y-%m-%dT%H:%M:%S.%f%z |
RFC3339Nano |
|
1637843406 |
%s |
カスタム |
|
1637843406123 |
%s |
カスタム (Simple Log Service (SLS) はタイムスタンプを秒単位に切り捨てます) |






