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

Simple Log Service:ログ時間の抽出

最終更新日:Aug 21, 2024

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のエディター設定を使用してテキストログを収集することはできません。

フォーム設定

  • パラメーター

    [プロセッサタイプ][ログ時間の抽出 (移動時間形式)] に設定します。

    image

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

    パラメーター

    説明

    元の時間フィールド

    元のフィールドの名前。

    元の時間形式

    元の時間形式。

    元のタイムゾーン

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

    新しい時間フィールド

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

    新しい時間形式

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

    カスタム新しいタイムゾーン

    解析後に取得される新しいフィールドのタイムゾーン。 [システムタイムゾーン] を保持する場合、Logtailがインストールされているサーバーのタイムゾーンが使用されます。

    高度なパラメーター > ログタイムとして使用

    新しい時間値をログ時間として使用するかどうかを指定します。

    高度なパラメーター > 元のフィールドを保持

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

    高度なパラメータ > 元のフィールド欠落エラーの報告

    生のログに元のフィールドが含まれていない場合にエラーを報告するかどうかを指定します。

    高度なパラメータ > レポート抽出失敗エラー

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

  • 例:

    元のtimeフィールドは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"
    • データ処理提取日志时间(Go语言时间格式)用のLogtailプラグイン設定

    • 結果

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

JSONでのエディター設定

  • パラメーター

    typeprocessor_gotimeに設定します。 次に、次の表に基づいて他のパラメーターを詳細に設定します。

    パラメーター

    データ型

    必須

    説明

    SourceKey

    String

    課金されます

    元のフィールドの名前。

    SourceFormat

    String

    課金されます

    元の時間形式。

    SourceLocation

    Int

    課金されます

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

    DestKey

    String

    課金されます

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

    DestFormat

    String

    課金されます

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

    DestLocation

    Int

    課金されません

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

    SetTime

    ブール値

    課金されません

    新しい時間値をログ時間として使用するかどうかを指定します。 有効な値:

    • true (デフォルト)

    • false

    KeepSource

    ブール値

    課金されません

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

    • true (デフォルト)

    • false

    NoKeyError

    ブール値

    課金されません

    生のログに元のフィールドが含まれていない場合にエラーを報告するかどうかを指定します。 有効な値:

    • true (デフォルト)

    • false

    AlarmIfFail

    ブール値

    課金されません

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

    • true (デフォルト)

    • false

  • 例:

    元のtimeフィールドは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プラグインは、rawログの時間フィールドをstrptimeでサポートされている時間形式に解析します。 Simple log Serviceで収集されたログのログ時間として新しい時間値を設定できます。 時間形式の詳細については、「strptime (3) - Linuxマニュアルページ」をご参照ください。

重要

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

フォーム設定

  • パラメーター

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

    パラメーター

    説明

    元のフィールド

    元のフィールドの名前。

    元の時間形式

    元の時間形式。

    元のフィールドを保持

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

    レポート抽出失敗エラー

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

    タイムオフセットの使用

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

    時間オフセット

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

  • 例:

    元の時間フィールドはlog_timeで、フィールド値は % Y/% m/% d % H:% M:% S形式です。 元の時間値は、Logtailがインストールされているサーバーのタイムゾーンを使用するログ時間に解析されます。 この例では、タイムゾーンはUTC + 8です。

    • 生ログ

      "log_time":"2022/01/02 12:59:59"
    • データ処理strptime时间格式用のLogtailプラグイン設定

    • 結果

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

    説明

    processor_strptimeプラグインは、時間値を % f形式に解析できます。 % fは1秒の小数部です。 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でのエディター設定

  • パラメーター

    typeprocessor_strptimeに設定します。 次に、次の表に基づいて他のパラメーターを詳細に設定します。

    パラメーター

    データ型

    必須

    説明

    SourceKey

    String

    課金されます

    元のフィールドの名前。

    Format

    String

    課金されます

    元の時間形式。

    AdjustUTCOffset

    ブール値

    課金されません

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

    • true

    • false (デフォルト)

    UTCOffset

    Int

    課金されません

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

    AlarmIfFail

    ブール値

    課金されません

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

    • true (デフォルト)

    • false

    KeepSource

    ブール値

    課金されません

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

    • true (デフォルト)

    • false

    EnablePreciseTimestamp

    ブール値

    課金されません

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

    • true

    • false (デフォルト)

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

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

    • Logtail V1.0.32以降のみがこのパラメータをサポートしています。

    PreciseTimestampKey

    String

    課金されません

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

    PreciseTimestampUnit

    String

    課金されません

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

  • 例:

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

    • 例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形式に解析できます。 % fは1秒の小数部です。 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