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

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

最終更新日:Mar 01, 2026

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

プラグイン効果の例

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

生ログ

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

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

第 2 レベルの時間:

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

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

image

ミリ秒レベルの時間:

{
  "time": "2026-01-05T11:58:40,647Z",
  "filename": "out_data.py",
  "levelname": "INFO",
  "threadName": "MainThread"
}

Content: "{"time":"2026-01-05T11:58:40,647Z",

"filename":"out_data.py","levelname": "INFO",

"threadName":"MainThread"}"

image

ナノ秒レベルの時間:

{
  "time": "2026-01-05T11:40:22,298837465Z07:00",
  "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"}"

image

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

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

プラグイン名

タイプ

説明

時間解析

ネイティブ

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

ログ時間の抽出

拡張

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

エントリポイント

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

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

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

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

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

    • 拡張プラグインを使用してログを処理すると、LoongCollector はより多くのリソース (主に CPU) を消費します。必要に応じて、構成管理のために LoongCollector のパラメーター設定を調整できます。

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

  • ログ収集の制限

    • 拡張プラグインはテキストログをラインモードで処理します。これは、__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 のログタイムスタンプは秒単位で正確です。秒単位までの時間フォーマットを設定するだけで、ミリ秒、マイクロ秒、その他のより小さい単位を設定する必要はありません。生ログの時間フィールドにミリ秒、マイクロ秒、またはナノ秒の精度があり、それを保持したい場合は、次の例に示すようにナノ秒精度を有効にします。詳細については、「ナノ秒タイムスタンプをサポートするログ収集」をご参照ください。

生ログ

時間解析プラグイン構成

時間フォーマット

{
  "time": "2026-01-05T11:40:22,298837465Z07:00",
  "filename": "out_data.py",
  "levelname": "INFO",
  "threadName": "MainThread"
}

image.png

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

ナノ秒精度のサポートを有効にする:

Logtail 構成ページに移動します。[グローバル構成] > [その他のグローバル構成] セクションで、[詳細パラメーター] スイッチをオンにして、次の JSON コンテンツを入力し、ナノ秒精度のサポートを有効にします。

{
  "EnableTimestampNanosecond": true
}
拡張プラグインを使用してナノ秒またはミリ秒を解析する場合も、EnableTimestampNanosecond 詳細パラメーターを有効にする必要があります。

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

生ログの時間フィールドを解析するには、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 + 08:00) フォーマットのソース時間を 2006/01/02 15:04:05 (UTC + 09:00) フォーマットに解析し、d_key フィールドに追加して、その結果を Simple Log Service のログ時間として設定します。

    • 生ログ

      "s_key":"2022-07-05 19:28:01"
    • Logtail プラグインプロセッサー構成Extract log time (Go language time format)

    • 処理結果

      "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+08:00) です。この例では、ソース時間を 2006/01/02 15:04:05 (UTC+09:00) フォーマットに解析し、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+08:00 を示し、-3600 は UTC-1 を示します。

  • 構成例

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

    • 生ログ

      "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+08:00 を示します。

    AlarmIfFail

    ブール値

    いいえ

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

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

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

    KeepSource

    ブール値

    いいえ

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

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

    • false:保持しない。

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

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

      • 生ログ

        "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+07:00 であると仮定します。

      • 生ログ

        "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+07:00 であると仮定します。

      • 生ログ

        "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"
              }
            }
          ]
        }
      • 処理結果

        "log_time":"2016/01/02 12:59:59.123"
        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

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

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 は秒単位の精度で処理します)

参考