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

Simple Log Service:時間処理プラグイン

最終更新日:Nov 12, 2025

時間処理プラグインは、ログ内の時間フィールドを解析、抽出し、標準化します。

プラグイン効果の例

次の表は、ネイティブの時間解析プラグインを使用した場合と使用しない場合で、Simple Log Service に保存された後の生ログのデータ構造を比較したものです。

生ログ

プラグインを使用しない場合

時間解析プラグイン (ネイティブ) を使用する場合

{"level":"INFO","timestamp":"2025-09-29T09:56:01+0800","cluster":"yilu-cluster-0728","message":"User logged in successfully","userId":"user-123"}

内容: "{"level":"INFO","timestamp":"2025-09-29T09:56:01+0800","cluster":"yilu-cluster-0728","message":"User logged in successfully","userId":"user-123"}"

image

時間処理プラグインの概要

Simple Log Service は、次のタイプの時間処理プラグインを提供します。要件に応じてプラグインを選択できます。

プラグイン名

タイプ

説明

時間解析

ネイティブ

ログ内の時間フィールドを解析し、標準化します。

ログ時間の抽出

拡張

生の時刻フィールドを解析し、ログのタイムスタンプとして設定できます。

エントリポイント

Logtail プラグインを使用してログを処理する場合は、Logtail 構成を作成または変更するときに Logtail プラグイン構成を追加できます。詳細については、「概要」をご参照ください。

ネイティブプラグインと拡張プラグインの違い

ネイティブプラグインは C++ で実装されており、より優れたパフォーマンスを提供します。

拡張プラグインは Go で実装されており、豊富で柔軟なエコシステムを提供します。ビジネスログが複雑すぎてネイティブプラグインで処理できない場合は、拡張プラグインを使用できます。

  • 拡張プラグインのパフォーマンス制限

    • 拡張プラグインを使用してログを処理すると、LoongCollector はより多くのリソース、主に CPU (中央処理装置) を消費します。必要に応じて、LoongCollector のパラメーター設定を調整して、長いログ伝送遅延を最適化できます。

    • 生データの生成速度が 5 MB/s を超える場合は、過度に複雑なプラグインの組み合わせを使用してログを処理しないことをお勧めします。拡張プラグインを使用して簡単な処理を行い、その後 データ変換の概要 を使用してさらに処理できます。

  • ログ収集の制限

    • 拡張プラグインは、テキストログを行モードで処理します。これは、__tag__:__path____topic__ などのファイルレベルのメタデータが各ログエントリに保存されることを意味します。

    • 拡張プラグインを追加すると、タグ関連の機能に影響します:

      • コンテキストクエリと LiveTail 機能は使用できなくなります。これらの機能を使用するには、アグリゲーター構成を追加する必要があります。

      • __topic__ フィールドは __log_topic__ に名前が変更されます。アグリゲーター構成が追加されている場合、__topic____log_topic__ の両方のフィールドがログに存在します。__log_topic__ フィールドが不要な場合は、フィールド削除プラグイン を使用して削除できます。

      • __tag__:__path__ などのフィールドには、ネイティブのフィールドインデックスがなくなります。それらのために インデックスを作成する 必要があります。

時間解析プラグイン (ネイティブ)

時間解析プラグインは、ログの時間フィールドを解析し、その結果をログの __time__ フィールドの値として設定します。

構成の説明

パラメーター

説明

ソースフィールド

解析前のログ内容を格納するソースフィールド。デフォルト値は content です。

時間形式

ログの時間内容に対応する時間フォーマットを設定します。たとえば、ログの時間が [10/Sep/2023:12:36:49] の場合、対応する時間フォーマットは [%d/%b/%Y:%H:%M:%S] です。

[タイムゾーン]

ログの時間フィールドのタイムゾーンを選択します。タイムゾーンを選択しない場合、デフォルトでマシンのタイムゾーンが使用されます。これは、Logtail プロセスが実行される環境のタイムゾーンです。

一般的なログ時間フォーマット

次の表に、Logtail がサポートする一般的なログ時間フォーマットを示します。

説明
  • デフォルトでは、Simple Log Service のログタイムスタンプは秒単位の精度です。したがって、ミリ秒やマイクロ秒などのより小さな単位の時間フォーマットを構成する必要はありません。

    生ログの時間フィールドにミリ秒、マイクロ秒、またはナノ秒の精度があり、それを Simple Log Service で保持したい場合は、「ナノ秒タイムスタンプをサポートするログ収集」をご参照ください。

  • 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

カスタム

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

RFC3339Nano

1637843406

%s

カスタム

1637843406123

%s

カスタム (Simple Log Service は秒単位の精度で処理します)

ログ時間抽出プラグイン (拡張)

processor_gotime プラグインまたは processor_strptime プラグインを使用して、生ログの時間フィールドを解析できます。このセクションでは、両方のプラグインのパラメーターについて説明し、構成例を示します。

説明

生ログの時間フィールドにミリ秒、マイクロ秒、またはナノ秒の精度があり、それを Simple Log Service で保持したい場合は、「ナノ秒タイムスタンプをサポートするログ収集」をご参照ください。

Go 言語の時間フォーマット (processor_gotime)

processor_gotime プラグインは、Go 言語の時間フォーマットを使用して生ログの時間フィールドを解析します。解析結果を Simple Log Service のログ時間として設定することもできます。

重要
  • Logtail 0.16.28 以降は processor_gotime プラグインをサポートしています。

  • フォームベースの構成は、テキストログとコンテナーの標準出力を収集するときに使用できます。

  • JSON 構成は、テキストログを収集するときには使用できません。

フォームベースの構成

  • パラメーターの説明

    [処理プラグインタイプ][ログ時間の抽出 (Go 言語の時間フォーマット)] に設定します。

    image

    次の表に、関連するパラメーターを示します。

    パラメーター

    説明

    [ソース時間フィールド]

    ソースフィールドの名前。

    [ソース時間フォーマット]

    ソース時間のフォーマット。

    ソースタイムゾーン

    ソース時間のタイムゾーン。[マシンタイムゾーン] を選択した場合、Logtail が実行されているホストまたはコンテナーのタイムゾーンが使用されます。

    [結果時間フィールド]

    解析結果の宛先フィールドの名前。このフィールドは __time__ に設定できません。

    [結果時間フォーマット]

    解析された時間のフォーマット。

    [カスタム結果タイムゾーン]

    解析結果のタイムゾーン。[マシンタイムゾーン] を選択した場合、Logtail が実行されているホストまたはコンテナーのタイムゾーンが使用されます。

    [詳細パラメーター]>[ログ時間として設定]

    このオプションを選択すると、システムは解析された時間をログ時間として設定します。

    [詳細パラメーター]>[ソースフィールドを保持]

    このオプションを選択すると、ソースフィールドは解析されたログに保持されます。

    [詳細パラメーター]>ソースフィールドが見つからない場合にエラーを報告

    このオプションを選択すると、指定されたソースフィールドが生ログに存在しない場合、システムはエラーを報告します。

    [詳細パラメーター]>抽出失敗時にエラーを報告

    このオプションを選択すると、ログ時間の抽出に失敗した場合、システムはエラーを報告します。

  • ソース時間は s_key フィールドにあり、フォーマットは 2006-01-02 15:04:05 (UTC+8) です。この例では、ソース時間を 2006/01/02 15:04:05 (UTC+9) フォーマットに解析し、d_key フィールドに追加して、結果を Simple Log Service のログ時間として設定します。

    • 生ログ

      "s_key":"2022-07-05 19:28:01"
    • Logtail プラグイン処理構成提取日志时间(Go语言时间格式)

    • 処理結果

      "s_key":"2022-07-05 19:28:01"
      "d_key":"2022/07/05 20:28:01"

JSON 構成

  • パラメーターの説明

    typeprocessor_gotime に設定します。次の表に detail のパラメーターを詳しく説明します。

    パラメーター

    タイプ

    必須

    説明

    SourceKey

    文字列

    はい

    ソースフィールドの名前。

    SourceFormat

    文字列

    はい

    ソース時間のフォーマット。

    SourceLocation

    Int

    はい

    ソース時間のタイムゾーン。このパラメーターが空の場合、Logtail が実行されているホストまたはコンテナーのタイムゾーンが使用されます。

    DestKey

    文字列

    はい

    解析結果の宛先フィールド。このフィールドは __time__ に設定できません。

    DestFormat

    文字列

    はい

    解析された時間のフォーマット。

    DestLocation

    Int

    いいえ

    解析結果のタイムゾーン。このパラメーターが空の場合、ネイティブのタイムゾーンが使用されます。

    SetTime

    ブール値

    いいえ

    解析された時間をログ時間として設定するかどうかを指定します。

    • true (デフォルト): はい

    • false: いいえ

    KeepSource

    ブール値

    いいえ

    解析されたログにソースフィールドを保持するかどうかを指定します。

    • true (デフォルト): 保持する

    • false: 保持しない

    NoKeyError

    ブール値

    いいえ

    指定されたソースフィールドが生ログに存在しない場合にシステムがエラーを報告するかどうかを指定します。

    • true (デフォルト): エラーを報告する

    • false: エラーを報告しない

    AlarmIfFail

    ブール値

    いいえ

    ログ時間の取得に失敗した場合にシステムエラーを報告するかどうか。

    • true (デフォルト): エラーを報告する

    • false: エラーを報告しない

  • ソース時間は s_key フィールドにあり、フォーマットは 2006-01-02 15:04:05 (UTC+8) です。この例では、ソース時間を 2006/01/02 15:04:05 (UTC+9) フォーマットに解析し、d_key フィールドに追加して、結果を Simple Log Service のログ時間として設定します。

    • 生ログ

      "s_key":"2019-07-05 19:28:01"
    • Logtail プラグイン処理構成

      {
        "processors":[
          {
            "type":"processor_gotime",
            "detail": {
              "SourceKey": "s_key",
              "SourceFormat":"2006-01-02 15:04:05",
              "SourceLocation":8,
              "DestKey":"d_key",
              "DestFormat":"2006/01/02 15:04:05",
              "DestLocation":9,
              "SetTime": true,
              "KeepSource": true,
              "NoKeyError": true,
              "AlarmIfFail": true
            }
          }
        ]
      }
    • 処理結果

      "s_key":"2019-07-05 19:28:01"
      "d_key":"2019/07/05 20:28:01"

strptime 時間フォーマット (processor_strptime)

processor_strptime プラグインは、Linux strptime 時間フォーマット を使用してログの時間フィールドを解析します。解析結果をログ時間として設定することもできます。

重要

Logtail 0.16.28 以降は processor_strptime プラグインをサポートしています。

フォームベースの構成

  • パラメーターの説明

    [処理プラグインタイプ][ログ時間の抽出 (strptime 時間フォーマット)] に設定します。次の表に、関連するパラメーターを示します。

    パラメーター

    説明

    [ソースフィールド]

    ソースフィールドの名前。

    ソース時刻フォーマット

    ソース時間のフォーマット。

    [ソースフィールドを保持]

    このオプションを選択すると、ソースフィールドは解析されたログに保持されます。

    [抽出失敗時にエラーを報告]

    このオプションを選択すると、ログ時間の抽出に失敗した場合、システムはエラーを報告します。

    [時間オフセットを調整]

    このオプションを選択すると、時間オフセットを秒単位で設定できます。

    [秒単位の時間オフセット]

    秒単位の時間オフセット。たとえば、28800 は UTC+8 を示し、-3600 は UTC-1 を示します。

  • 構成例

    この例では、log_time フィールドの値であるソース時間を %Y/%m/%d %H:%M:%S フォーマットから対応するログ時間に解析します。マシンのタイムゾーンが使用されます。この例では、タイムゾーンは UTC+8 と想定されています。

    • 生ログ

      "log_time":"2022/01/02 12:59:59"
    • Logtail プラグイン処理構成 strptime时间格式

    • 処理結果

      "log_time":"2022/01/02 12:59:59"
      Log.Time = 1451710799
  • 一般的な時間式

    説明

    processor_strptime プラグインは、最大ナノ秒精度の秒の小数部を解析するために %f フォーマットをサポートします。

    時間式

    2016/01/02 12:59:59

    %Y/%m/%d %H:%M:%S

    2016/01/02 12:59:59.1

    %Y/%m/%d %H:%M:%S.%f

    2016/01/02 12:59:59.987654321 +0700 (UTC)

    %Y/%m/%d %H:%M:%S.%f %z (%Z)

    2016/Jan/02 12:59:59,123456

    %Y/%b/%d %H:%M:%S,%f

    2019-07-15T04:16:47:123Z

    %Y-%m-%dT%H:%M:%S:%f

JSON 構成

  • パラメーターの説明

    typeprocessor_strptime に設定します。次の表に detail のパラメーターを詳しく説明します。

    パラメーター

    タイプ

    必須

    説明

    SourceKey

    文字列

    はい

    ソースフィールドの名前。

    Format

    文字列

    はい

    ソース時間のフォーマット。

    AdjustUTCOffset

    ブール値

    いいえ

    タイムゾーンを調整するかどうかを指定します。

    • true: はい。

    • false (デフォルト): いいえ

    UTCOffset

    Int

    いいえ

    調整用のタイムゾーンオフセット (秒単位)。たとえば、28800 は UTC+8 を示します。

    AlarmIfFail

    ブール値

    いいえ

    ログの抽出に失敗した場合にシステムがエラーを報告するかどうかを指定します。

    • true (デフォルト): エラーを報告する。

    • false: エラーを報告しない。

    KeepSource

    ブール値

    いいえ

    解析されたログにソースフィールドを保持するかどうかを指定します。

    • true (デフォルト): 保持する。

    • false: 保持しない。

    EnablePreciseTimestamp

    ブール値

    いいえ

    高精度時間を抽出するかどうかを指定します。

    • true: はい。

    • false (デフォルト): いいえ。

    このパラメーターを true に設定すると、プラグインは SourceKey パラメーターで指定されたフィールドの値をミリ秒レベルのタイムスタンプに解析し、PreciseTimestampKey パラメーターで指定されたフィールドに格納します。

    重要
    • このパラメーターを true に設定する前に、SourceKey パラメーターで指定されたフィールドの値 (ソース時間) が対応する時間精度 (ms、us、または ns) をサポートしていることを確認してください。

    • この機能は Logtail 1.0.32 以降でのみサポートされます。

    PreciseTimestampKey

    文字列

    いいえ

    高精度タイムスタンプを格納するフィールド。デフォルト値は precise_timestamp フィールドです。

    PreciseTimestampUnit

    文字列

    いいえ

    高精度タイムスタンプの単位。デフォルト値は ms です。有効な値: ms (ミリ秒)、us (マイクロ秒)、ns (ナノ秒)。

  • この例では、log_time フィールドの値であるソース時間を %Y/%m/%d %H:%M:%S フォーマットから対応するログ時間に解析します。マシンのタイムゾーンが使用されます。

    • 例 1: タイムゾーンが UTC+8 であると仮定します。

      • 生ログ

        "log_time":"2016/01/02 12:59:59"
      • Logtail プラグイン処理構成

        {
          "processors":[
            {
              "type":"processor_strptime",
              "detail": {
                "SourceKey": "log_time",
                "Format": "%Y/%m/%d %H:%M:%S"
              }
            }
          ]
        }
      • 処理結果

        "log_time":"2016/01/02 12:59:59"
        Log.Time = 1451710799
    • 例 2: タイムゾーンが UTC+7 であると仮定します。

      • 生ログ

        "log_time":"2016/01/02 12:59:59"
      • Logtail プラグイン処理構成

        {
          "processors":[
            {
              "type":"processor_strptime",
              "detail": {
                "SourceKey": "log_time",
                "Format": "%Y/%m/%d %H:%M:%S",
                "AdjustUTCOffset": true,
                "UTCOffset": 25200
              }
            }
          ]
        }
      • 処理結果

        "log_time":"2016/01/02 12:59:59"
        Log.Time = 1451714399
    • 例 3: タイムゾーンが UTC+7 であると仮定します。

      • 生ログ

        "log_time":"2016/01/02 12:59:59.123"
      • Logtail プラグイン処理構成

        {
          "processors":[
            {
              "type":"processor_strptime",
              "detail": {
                "SourceKey": "log_time",
                "Format": "%Y/%m/%d %H:%M:%S.%f",
                "EnablePreciseTimestamp": true
              }
            }
          ]
        }
      • 処理結果

        "log_time":"2016/01/02 12:59:59.123"
        "precise_timestamp": 1451714399123
        Log.Time = 1451714399
  • 一般的な時間式

    説明

    processor_strptime プラグインは、%f フォーマット指定子を使用した解析をサポートしています。この指定子は、最大ナノ秒精度の秒の小数部を表します。

    時間式

    2016/01/02 12:59:59

    %Y/%m/%d %H:%M:%S

    2016/01/02 12:59:59.1

    %Y/%m/%d %H:%M:%S.%f

    2016/01/02 12:59:59.987654321 +0700 (UTC)

    %Y/%m/%d %H:%M:%S.%f %z (%Z)

    2016/Jan/02 12:59:59,123456

    %Y/%b/%d %H:%M:%S,%f

    2019-07-15T04:16:47:123Z

    %Y-%m-%dT%H:%M:%S:%f

参考