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

Simple Log Service:拡張プラグイン: ログ時間の抽出

最終更新日:Apr 25, 2025

Logtail を使用してログを収集する場合、processor_gotime または processor_strptime プラグインを使用して、未加工ログのタイムフィールドを解析できます。このトピックでは、processor_gotime プラグインと processor_strptime プラグインのパラメーターについて説明し、プラグインを構成する方法の例を示します。

エントリポイント

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

Go でサポートされている時間形式

processor_gotime プラグインは、未加工ログのタイムフィールドを Go でサポートされている時間形式に解析します。新しい時間の値を、Simple Log Service で収集されたログのログ時間として構成できます。

重要
  • Logtail V0.16.28 以降では、processor_gotime プラグインがサポートされています。

  • フォーム構成: テキストログまたはコンテナーの stdout および stderr を収集する場合、フォーム構成を使用してプラグインを追加できます。

  • JSON のエディター構成: テキストログを収集する場合、JSON のエディター構成を使用してプラグインを追加することはできません。

フォーム構成

  • パラメーター

    [プロセッサの種類] パラメーターを [ログ時間の抽出 (Go 時間形式)] に設定します。

    image

    次に、次の表に基づいて他のパラメーターを構成します。

    パラメーター

    説明

    [元のタイムフィールド]

    元のフィールドの名前。

    [元の時間形式]

    元の時間形式。

    [元のタイムゾーン]

    [システムタイムゾーン] を保持すると、Logtail がインストールされているサーバーまたはコンテナーのタイムゾーンが使用されます。

    [新しいタイムフィールド]

    解析後に取得される新しいフィールドの名前。

    [新しい時間形式]

    解析後に取得される新しいフィールドの時間形式。

    [カスタムの新しいタイムゾーン]

    解析後に取得される新しいフィールドのタイムゾーン。[システムタイムゾーン] を保持すると、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 のエディター構成

  • パラメーター

    type パラメーターを processor_gotime に設定します。次に、次の表に基づいて detail セクションの他のパラメーターを構成します。

    パラメーター

    タイプ

    必須

    説明

    SourceKey

    文字列

    はい

    元のフィールドの名前。

    SourceFormat

    文字列

    はい

    元の時間形式。

    SourceLocation

    整数

    はい

    元のタイムゾーン。このパラメーターが空の場合、Logtail がインストールされているサーバーまたはコンテナーのタイムゾーンが使用されます。

    DestKey

    文字列

    はい

    解析後に取得される新しいフィールドの名前。

    DestFormat

    文字列

    はい

    解析後に取得される新しいフィールドの時間形式。

    DestLocation

    整数

    いいえ

    解析後に取得される新しいフィールドのタイムゾーン。このパラメーターが空の場合、Logtail がインストールされているサーバーのタイムゾーンが使用されます。

    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 プラグイン構成

      { /* ログ処理用のLogtailプラグイン設定 */
        "processors":[
          {
            "type":"processor_gotime", /* processor_gotimeプラグインを使用 */
            "detail": {
              "SourceKey": "s_key", /* 元のタイムフィールド名 */
              "SourceFormat":"2006-01-02 15:04:05", /* 元の時間フォーマット */
              "SourceLocation":8, /* 元のタイムゾーン(UTC+8) */
              "DestKey":"d_key", /* 新しいタイムフィールド名 */
              "DestFormat":"2006/01/02 15:04:05", /* 新しい時間フォーマット */
              "DestLocation":9, /* 新しいタイムゾーン(UTC+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 プラグインは、未加工ログのタイムフィールドを strptime でサポートされている時間形式に解析します。新しい時間の値を、Simple Log Service で収集されたログのログ時間として構成できます。時間形式の詳細については、「strptime(3) — Linux マニュアルページ」をご参照ください。

重要

Logtail V0.16.28 以降では、processor_strptime プラグインがサポートされています。

フォーム構成

  • パラメーター

    [プロセッサの種類] パラメーターを [ログ時間の抽出 (strptime 時間形式)] に設定します。次に、次の表に基づいて他のパラメーターを構成します。

    パラメーター

    説明

    [元のフィールド]

    元のフィールドの名前。

    [元の時間形式]

    元の時間形式。

    [元のフィールドを保持する]

    解析後に取得される新しいログに元のフィールドを保持するかどかを指定します。

    [抽出失敗エラーを報告する]

    ログ時間の抽出に失敗した場合にエラーを報告するかどかを指定します。

    [時間オフセットを使用する]

    時間オフセットを構成するかどかを指定します。

    [時間オフセット]

    タイムゾーンのオフセット。単位: 秒。たとえば、値 28800 は UTC + 08:00 を指定し、値 -3600 は UTC-1 を指定します。

  • 元のタイムフィールドは log_time で、フィールド値は %Y/%m/%d %H:%M:%S 形式です。元の時間の値は、Logtail がインストールされているサーバーのタイムゾーンを使用するログ時間として解析されます。この例では、タイムゾーンは 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 形式に解析できます。%f は秒の小数部分です。processor_strptime プラグインでサポートされている最高精度はナノ秒です。

    時間表現

    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 のエディター構成

  • パラメーター

    type パラメーターを processor_strptime に設定します。次に、次の表に基づいて detail セクションの他のパラメーターを構成します。

    パラメーター

    タイプ

    必須

    説明

    SourceKey

    文字列

    はい

    元のフィールドの名前。

    Format

    文字列

    はい

    元の時間形式。

    AdjustUTCOffset

    ブール値

    いいえ

    タイムゾーンを変更するかどかを指定します。有効な値:

    • true

    • false (デフォルト)

    UTCOffset

    整数

    いいえ

    タイムゾーンのオフセット。単位: 秒。たとえば、値 28800 は UTC + 08:00 を指定します。

    AlarmIfFail

    ブール値

    いいえ

    ログ時間の抽出に失敗した場合にエラーを報告するかどかを指定します。有効な値:

    • true (デフォルト)

    • false

    KeepSource

    ブール値

    いいえ

    解析後に取得される新しいログに元のフィールドを保持するかどかを指定します。有効な値:

    • true (デフォルト)

    • false

    EnablePreciseTimestamp

    ブール値

    いいえ

    高精度で時間の値を抽出するかどかを指定します。有効な値:

    • true

    • false (デフォルト)

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

    重要
    • このパラメーターを true に設定する前に、SourceKey で指定されたタイムフィールドの値が必要な時間精度 (ms、us、または ns) を使用していることを確認してください。

    • Logtail V1.0.32 以降のバージョンでのみサポートされています。

    PreciseTimestampKey

    文字列

    いいえ

    高精度タイムスタンプを保存するフィールド。デフォルト値: precise_timestamp

    PreciseTimestampUnit

    文字列

    いいえ

    高精度タイムスタンプの単位。デフォルト値: ms。有効な値: ms、us、および ns。

  • 元のタイムフィールドは log_time で、フィールド値は %Y/%m/%d %H:%M:%S 形式です。元の時間の値は、Logtail サーバーのタイムゾーンを使用するログ時間として解析されます。

    • 例 1: タイムゾーンは UTC + 08:00 です。

      • 未加工ログ

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

        { /* データ処理用のLogtailプラグイン設定 */
          "processors":[ /* プロセッサ設定 */
            {
              "type":"processor_strptime", /* 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 プラグイン構成

        { /* データ処理用のLogtailプラグイン設定 */
          "processors":[
            {
              "type":"processor_strptime", /* processor_strptimeプラグインを使用 */
              "detail": {
                "SourceKey": "log_time", /* 元のタイムフィールド名 */
                "Format": "%Y/%m/%d %H:%M:%S", /* 元の時間フォーマット */
                "AdjustUTCOffset": true, /* タイムゾーンを変更する */
                "UTCOffset": 25200 /* タイムゾーンのオフセット(UTC+7) */
              }
            }
          ]
        }
      • 処理結果

        "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 形式に解析できます。%f は秒の小数部分です。processor_strptime プラグインでサポートされている最高精度はナノ秒です。

    時間表現

    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