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

Simple Log Service:ログをSimple Log Serviceトレースに変換する

最終更新日:Aug 21, 2024

Logtailを使用してログを収集する場合、processor_otel_traceプラグインを使用して、収集したログをSLSトレースに変換できます。 このトピックでは、processor_otel_traceプラグインのパラメーターについて説明し、プラグインの設定方法の例を示します。

エントリーポイント

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

設定の説明

重要

Logtail V1.7.1以降は、processor_otel_traceプラグインをサポートしています。

フォーム設定

プロセッサタイプパラメーターを [Log to Trace] に設定します。 次に、次の表に基づいて他のパラメーターを設定します。

  • パラメーター

    パラメーター

    説明

    SourceKey

    元のフィールドの名前。

    Format

    変換後のデータの形式。 有効な値:

    • protobuf

    • JSON

    • protojson

    NoKeyError

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

    TraceIDNeedDecode

    Base64アルゴリズムを使用してトレースIDをデコードするかどうかを指定します。 デフォルト値:false

    Formatパラメーターをprotojsonに設定し、トレースIDがBase64アルゴリズムを使用してエンコードされている場合、このパラメーターをtrueに設定する必要があります。 それ以外の場合、変換は失敗します。

    SpanIDNeedDecode

    Base64アルゴリズムを使用してスパンIDをデコードするかどうかを指定します。 デフォルト値:false

    Formatパラメーターをprotojsonに設定し、スパンIDがBase64アルゴリズムを使用してエンコードされている場合、このパラメーターをtrueに設定する必要があります。 それ以外の場合、変換は失敗します。

    ParentSpanIDNeedDecode

    Base64アルゴリズムを使用して親スパンIDをデコードするかどうかを指定します。 デフォルト値:false

    Formatパラメーターをprotojsonに設定し、親スパンIDがBase64アルゴリズムを使用してエンコードされている場合、このパラメーターをtrueに設定する必要があります。 それ以外の場合、変換は失敗します。

  • 設定例

    • 生ログ

      INFO OtlpJsonLoggingSpanExporter - {"resource":{"attributes":[]},"scopeSpans":[{"scope":{"name":"io.opentelemetry.spring-webmvc-3.1","version":"1.26.0-alpha","attributes":[]},"spans":[{"traceId":"a7adbcb0921fa4a5b90615d0ad38ef95","spanId":"eecaa7e1b63c9f61","parentSpanId":"fa85fcee7fe0e0e8","name":"HelloWorldController.sayHello","kind":1,"startTimeUnixNano":"1696659118615748056","endTimeUnixNano":"1696659128701715998","attributes":[{"key":"thread.id","value":{"intValue":"48"}},{"key":"thread.name","value":{"stringValue":"http-nio-18080-exec-1"}}],"events":[],"links":[],"status":{}}]},{"scope":{"name":"io.opentelemetry.tomcat-7.0","version":"1.26.0-alpha","attributes":[]},"spans":[{"traceId":"a7adbcb0921fa4a5b90615d0ad38ef95","spanId":"fa85fcee7fe0e0e8","name":"GET /hello","kind":2,"startTimeUnixNano":"1696659118479360000","endTimeUnixNano":"1696659128703706165","attributes":[{"key":"http.status_code","value":{"intValue":"200"}},{"key":"user_agent.original","value":{"stringValue":"curl/7.84.0"}},{"key":"net.host.name","value":{"stringValue":"localhost"}},{"key":"http.response_content_length","value":{"intValue":"12"}},{"key":"http.target","value":{"stringValue":"/hello"}},{"key":"net.sock.peer.addr","value":{"stringValue":"127.0.0.1"}},{"key":"net.host.port","value":{"intValue":"18080"}},{"key":"net.sock.peer.port","value":{"intValue":"53649"}},{"key":"thread.id","value":{"intValue":"48"}},{"key":"thread.name","value":{"stringValue":"http-nio-18080-exec-1"}},{"key":"http.route","value":{"stringValue":"/hello"}},{"key":"net.sock.host.addr","value":{"stringValue":"127.0.0.1"}},{"key":"net.protocol.name","value":{"stringValue":"http"}},{"key":"net.protocol.version","value":{"stringValue":"1.1"}},{"key":"http.scheme","value":{"stringValue":"http"}},{"key":"http.method","value":{"stringValue":"GET"}}],"events":[],"links":[],"status":{}}]}],"schemaUrl":"https://opentelemetry.io/schemas/1.19.0"}
    • データ処理用のLogtailプラグイン設定

      image

    • 結果

      image.png

JSONでのエディター設定

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

  • パラメーター

    パラメーター

    データ型

    必須

    説明

    SourceKey

    String

    課金されます

    元のフィールドの名前。

    Format

    String

    課金されます

    変換後のデータの形式。 有効な値: protobuf、json、およびprotojson。

    NoKeyError

    ブール値

    課金されません

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

    TraceIDNeedDecode

    ブール値

    課金されません

    Base64アルゴリズムを使用してトレースIDをデコードするかどうかを指定します。 デフォルト値:false

    Formatパラメーターをprotojsonに設定し、トレースIDがBase64アルゴリズムを使用してエンコードされている場合、このパラメーターをtrueに設定する必要があります。 それ以外の場合、変換は失敗します。

    SpanIDNeedDecode

    ブール値

    課金されません

    Base64アルゴリズムを使用してスパンIDをデコードするかどうかを指定します。 デフォルト値:false

    Formatパラメーターをprotojsonに設定し、スパンIDがBase64アルゴリズムを使用してエンコードされている場合、このパラメーターをtrueに設定する必要があります。 それ以外の場合、変換は失敗します。

    ParentSpanIDNeedDecode

    ブール値

    課金されません

    Base64アルゴリズムを使用して親スパンIDをデコードするかどうかを指定します。 デフォルト値:false

    Formatパラメーターをprotojsonに設定し、親スパンIDがBase64アルゴリズムを使用してエンコードされている場合、このパラメーターをtrueに設定する必要があります。 それ以外の場合、変換は失敗します。

  • 設定例

    • 生ログ

      INFO OtlpJsonLoggingSpanExporter - {"resource":{"attributes":[]},"scopeSpans":[{"scope":{"name":"io.opentelemetry.spring-webmvc-3.1","version":"1.26.0-alpha","attributes":[]},"spans":[{"traceId":"a7adbcb0921fa4a5b90615d0ad38ef95","spanId":"eecaa7e1b63c9f61","parentSpanId":"fa85fcee7fe0e0e8","name":"HelloWorldController.sayHello","kind":1,"startTimeUnixNano":"1696659118615748056","endTimeUnixNano":"1696659128701715998","attributes":[{"key":"thread.id","value":{"intValue":"48"}},{"key":"thread.name","value":{"stringValue":"http-nio-18080-exec-1"}}],"events":[],"links":[],"status":{}}]},{"scope":{"name":"io.opentelemetry.tomcat-7.0","version":"1.26.0-alpha","attributes":[]},"spans":[{"traceId":"a7adbcb0921fa4a5b90615d0ad38ef95","spanId":"fa85fcee7fe0e0e8","name":"GET /hello","kind":2,"startTimeUnixNano":"1696659118479360000","endTimeUnixNano":"1696659128703706165","attributes":[{"key":"http.status_code","value":{"intValue":"200"}},{"key":"user_agent.original","value":{"stringValue":"curl/7.84.0"}},{"key":"net.host.name","value":{"stringValue":"localhost"}},{"key":"http.response_content_length","value":{"intValue":"12"}},{"key":"http.target","value":{"stringValue":"/hello"}},{"key":"net.sock.peer.addr","value":{"stringValue":"127.0.0.1"}},{"key":"net.host.port","value":{"intValue":"18080"}},{"key":"net.sock.peer.port","value":{"intValue":"53649"}},{"key":"thread.id","value":{"intValue":"48"}},{"key":"thread.name","value":{"stringValue":"http-nio-18080-exec-1"}},{"key":"http.route","value":{"stringValue":"/hello"}},{"key":"net.sock.host.addr","value":{"stringValue":"127.0.0.1"}},{"key":"net.protocol.name","value":{"stringValue":"http"}},{"key":"net.protocol.version","value":{"stringValue":"1.1"}},{"key":"http.scheme","value":{"stringValue":"http"}},{"key":"http.method","value":{"stringValue":"GET"}}],"events":[],"links":[],"status":{}}]}],"schemaUrl":"https://opentelemetry.io/schemas/1.19.0"}
    • データ処理用のLogtailプラグイン設定

      {
        "processors": [
          {
            "type": "processor_split_log_regex",
            "detail": {
              "PreserveOthers": true,
              "SplitKey": "content",
              "SplitRegex": "INFO\\sOtlpJsonLoggingSpanExporter\\s.+"
            }
          },
          {
            "type": "processor_regex",
            "detail": {
              "SourceKey": "content",
              "Regex": "INFO\\sOtlpJsonLoggingSpanExporter\\s-(\\s.+)",
              "Keys": [
                "trace_data"
              ]
            }
          },
          {
            "detail": {
              "SourceKey": "trace_data",
              "Format": "protojson",
              "NoKeyError": true
            },
            "type": "processor_otel_trace"
          }
        ]
      }
    • 結果

      image.png