時間処理プラグインは、ログ内の時間フィールドを解析、抽出し、標準化します。
プラグイン効果の例
次の表は、生ログを Simple Log Service に保存した後のデータ構造を、ネイティブの時間解析プラグインを使用した場合と使用しない場合で比較したものです。
生ログ | プラグインを使用しない場合 | 時間解析プラグイン (ネイティブ) を使用する場合 |
第 2 レベルの時間: | 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,298837465Z07:00","filename":"out_data.py","levelname":"INFO","threadName": "MainThread"}" | |
時間処理プラグインの概要
Simple Log Service は、以下のタイプの時間処理プラグインを提供しています。要件に応じてプラグインを選択できます。
プラグイン名 | タイプ | 説明 |
時間解析 | ネイティブ | ログ内の時間フィールドを解析し、標準化します。 |
ログ時間の抽出 | 拡張 | 生の時間フィールドを解析し、ログのタイムスタンプとして設定できます。 |
エントリポイント
Logtail プラグインをログ処理に使用するには、Logtail 構成の作成時または変更時に追加します。詳細については、「概要」をご参照ください。
ネイティブプラグインと拡張プラグインの違い
ネイティブプラグインは C++ で実装されており、より優れたパフォーマンスを提供します。
拡張プラグインは Go で実装されており、豊富で柔軟なエコシステムを提供します。ビジネスログが複雑すぎてネイティブプラグインで処理できない場合は、拡張プラグインを使用できます。
拡張プラグインのパフォーマンス制限
ログ収集の制限
拡張プラグインはテキストログをラインモードで処理します。これは、
__tag__:__path__や__topic__などのファイルレベルのメタデータが各ログエントリに保存されることを意味します。拡張プラグインを追加すると、タグ関連の機能に影響します:
コンテキストクエリと LiveTail 機能は利用できなくなります。これらの機能を使用するには、アグリゲーター構成を追加する必要があります。
__topic__フィールドの名前は__log_topic__に変更されています。aggregators 構成を追加すると、ログには__topic__フィールドと__log_topic__フィールドの両方が存在します。__log_topic__フィールドが不要な場合は、drop field プラグインを使用して削除できます。__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 |
ナノ秒精度のサポートを有効にする:
Logtail 構成ページに移動します。 セクションで、[詳細パラメーター] スイッチをオンにして、次の JSON コンテンツを入力し、ナノ秒精度のサポートを有効にします。
{
"EnableTimestampNanosecond": true
}拡張プラグインを使用してナノ秒またはミリ秒を解析する場合も、EnableTimestampNanosecond 詳細パラメーターを有効にする必要があります。
ログ時間抽出プラグイン (拡張)
生ログの時間フィールドを解析するには、processor_gotime プラグインまたは processor_strptime プラグインを使用できます。このセクションでは、両方のプラグインのパラメーターについて説明し、構成例を示します。
生ログの時間フィールドにミリ秒、マイクロ秒、またはナノ秒の精度があり、それを Simple Log Service で保持したい場合は、「ナノ秒タイムスタンプをサポートするログ収集」をご参照ください。
Go 言語の時間フォーマット (processor_gotime)
strptime 時間フォーマット (processor_strptime)
一般的なログ時間フォーマット
processor_gotime 拡張プラグインでサポートされている一般的なログの時刻フォーマットについては、https://pkg.go.dev/time#pkg-constants を参照してください。次の表に、ネイティブ時刻解析プラグイン (processor_parse_timestamp_native) および processor_strptime 拡張プラグインでサポートされている一般的なログの時刻フォーマットを示します。
Linux サーバーでは、Logtail は strftime 関数が提供するすべての時間フォーマットをサポートしています。これは、Logtail が strftime 関数でフォーマットできる任意のログ時間文字列を解析できることを意味します。
時間フォーマット | 説明 | 例 |
%a | 曜日の省略名。 | Fri |
%A | 曜日の完全な名前。 | Friday |
%b | 月の省略名。 | Jan |
%B | 月の完全な名前。 | January |
%d | ゼロで埋められた10進数としての日。範囲:01~31。 | 07, 31 |
%f | 秒の小数部 (ミリ秒、マイクロ秒、またはナノ秒)。 | 123 |
%h | 月の省略名。%b と同じです。 | Jan |
%H | 24時間形式の時間。 | 22 |
%I | ゼロで埋められた10進数としての時間 (12時間時計)。 | 11 |
%m | ゼロで埋められた10進数としての月。範囲:01~12。 | 08 |
%M | ゼロで埋められた10進数としての分。範囲:00~59。 | 59 |
%n | 改行。 | 改行 |
%p | AM または PM。 | AM, PM |
%r | 12時間時計の時間。%I:%M:%S %p と同じです。 | 11:59:59 AM |
%R | 時と分。%H:%M と同じです。 | 23:59 |
%S | ゼロで埋められた10進数としての秒。範囲:00~59。 | 59 |
%t | タブ文字。 | なし |
%y | 世紀なしの年をゼロで埋めた10進数。範囲:00~99。 | 04, 98 |
%Y | 世紀を含む年を10進数で表したもの。 | 2004, 1998 |
%C | 世紀を10進数で表したもの。範囲:00~99。 | 16 |
%e | スペースで埋められた10進数としての日。範囲:1~31。 1桁の数字の前にスペースが追加されます。 | 7, 31 |
%j | ゼロで埋められた10進数としての年の日。範囲:001~366。 | 365 |
%u | 月曜日を1とする10進数としての曜日。範囲:1~7。 | 2 |
%U | 日曜日を週の最初の日とする年の週番号。範囲:00~53。 | 23 |
%V | 月曜日を週の最初の日とする年の週番号。範囲:01~53。 1月1日を含む週が新年に4日以上ある場合は、週1となります。それ以外の場合は、翌週になります。 | 24 |
%w | 日曜日を0とする10進数としての曜日。範囲: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 | RFC822 |
02 Jan 06 15:04 -0700 | %d %b %y %H:%M | RFC822Z |
Monday, 02-Jan-06 15:04:05 MST | %A, %d-%b-%y %H:%M:%S | RFC850 |
Mon, 02 Jan 2006 15:04:05 MST | %A, %d %b %Y %H:%M:%S | RFC1123 |
2006-01-02T15:04:05Z07:00 | %Y-%m-%dT%H:%M:%S | RFC3339 |
2006-01-02T15:04:05.999999999Z07:00 | %Y-%m-%dT%H:%M:%S.%f | RFC3339Nano |
1637843406 | %s | カスタム |
1637843406123 | %s | カスタム (Simple Log Service は秒単位の精度で処理します) |
参考
次の API 操作を呼び出して、Logtail パイプラインを構成できます:
コンソールでの処理プラグインの構成:






