本文へスキップ

エージェントの設定

注意

OpenTelemetryのモニタリングはベータ版で、予期せぬ挙動やエラーが発生する可能性があります。 重要なデータがある環境や運用環境では使用を推奨しません。 フィードバックや問題点が発生したら、サポートチーム(support@whatap.io)までお問い合わせください。

OpenTelemetryから様々な指標を収集し、処理するようにエージェントを設定できます。

エージェント

  • otel_grpc_server_enabled Boolean

    既定値 true

    OpenTelemetry protocol(OTLP)を通じて転送されるデータを受信するためのGrpcサーバーを活性化します。

  • otel_grpc_server_port String

    既定値6600

    GrpcサーバーのListenポートです。

    ノート

    ポート番号を変更した後は、whatap-otelサービスを再起動する必要があります。

  • otel_grpc_server_gzip_enabled Boolean

    既定値 true

    Grpcサーバから読み込むデータの暗号化によりgzipを活性化します。

  • debug_otel_grpc_server_enabled Boolean

    既定値false

    OpenTelemetry Traceデータ処理に関するデバッグログの出力を活性化します。

エージェントログ

  • log_keep_days Day Int

    既定値7

    ログファイルの保存期間を設定します。

  • log_stdout_enabled Boolean

    既定値false

    ファイルログと同じようにStdoutで出力するオプションを追加します。

Trace

OpenTelemetry Traceデータ処理に関するエージェント設定オプションです。 WhaTapは、OpenTelemetry Traceの構成要素であるSpanattributesオブジェクトから値を取得し、モニタリング情報として活用します。

SpanattributesオブジェクトがWhaTapのエージェント設定とどのように関連付けられているか、次のコードを参考にしてください。

OpenTelemetry - Span example
{
"name": "/v1/sys/health",
"context": {
"trace_id": "7bba9f33312b3dbb8b2c2c62bb7abe2d",
"span_id": "086e83747d0e381e"
},
"parent_id": "",
"start_time": "2021-10-22 16:04:01.209458162 +0000 UTC",
"end_time": "2021-10-22 16:04:01.209514132 +0000 UTC",
"status_code": "STATUS_CODE_OK",
"status_message": "",
"attributes": {
"net.transport": "IP.TCP",
"net.peer.ip": "172.17.0.1",
"net.peer.port": "51820",
"net.host.ip": "10.177.2.152",
"net.host.port": "26040",
"http.method": "GET",
"http.target": "/v1/sys/health",
"http.server_name": "mortar-gateway",
"http.route": "/v1/sys/health",
"http.user_agent": "Consul Health Check",
"http.scheme": "http",
"http.host": "10.177.2.152:26040",
"http.flavor": "1.1"
},
"events": [
{
"name": "",
"message": "OK",
"timestamp": "2021-10-22 16:04:01.209512872 +0000 UTC"
}
]
}
whatap.conf
otel_attr_tx_host_keys=http.host
otel_attr_tx_method_keys=http.method
otel_attr_tx_useragent_keys=http.user_agent
ノート
  • WhaTapのトレース分析に関する詳細は、次の文書を参考にしてください。

  • OpenTelemetryのTraceデータ処理の詳細については、次のリンクを参考にしてください。

  • OpenTelemetryで提供する属性(attributes)詳細については、次のリンクを参考にしてください。

  • otel_trace_server_enabled Boolean

    既定値 true

    OpenTelemetry Traceデータ処理を活性化します。

  • otel_trace_queue_size Int

    既定値5000

    OpenTelemetry Traceデータ処理のためのキューサイズを設定します。

  • otel_span_collector_max Int

    既定値100000

    OpenTelemetry TraceデータのSpanデータバッファの最大サイズ(個数)を指定します。

  • otel_attr_dbcon_keys String

    既定値sql.system,db.connection_string,db.system

    DB Connection情報として活用する属性名を入力します。 その情報を活用してWhaTapではDB Connectionステップで表示します。

  • otel_attr_sql_keys String

    既定値db.statement,sql.query

    SQLクエリ情報として活用する属性名を入力します。 その情報を活用してWhaTapではSQLステップで表示します。

  • otel_attr_httpc_keys String

    既定値url.full,http.url,http.target

    HTTP call情報として活用する属性名を入力します。 その情報を活用してWhaTapではHTTP callステップで表示します。

  • otel_attr_tx_url_keys String

    既定値http.url,http.route,http.target,tyk.api.path,http.url

    トランザクションのサービスURL情報として活用する属性名を入力します。

  • otel_attr_tx_host_keys String

    既定値http.host

    トランザクションのホスト情報として活用する属性名を入力します。

  • otel_attr_tx_method_keys String

    既定値http.method,http.request.method

    HTTP Method情報として活用する属性名を入力します。

  • otel_attr_tx_status_keys String

    既定値http.status_code

    トランザクションのHTTPステータスコード情報として活用する属性名を入力します。

  • otel_attr_tx_useragent_keys String

    既定値http.user_agent

    トランザクションのUser-Agent情報として活用する属性名を入力します。

  • otel_attr_tx_clientip_keys String

    既定値net.peer.ip,net.socket.peer.addr

    トランザクションのクライアントIP情報として活用する属性名を入力します。

  • otel_attr_tx_referer_keys String

    トランザクションのHTTP Referer情報として活用する属性名を入力します。

  • otel_attr_error_keys String

    既定値error.type

    トランザクションのエラー情報として活用する属性名を入力します。

  • otel_events_exception_keys String

    既定値exception.type

    Eventデータの属性(Attribute)名を指定して、エラータイプの情報として活用します。

  • otel_events_error_message_keys String

    既定値exception.message

    Eventデータの属性(Attribute)名を指定して、エラーメッセージの情報として活用します。

  • otel_events_error_stack_keys String

    既定値exception.stacktrace

    Eventデータの属性(Attribute)名を指定して、エラースタックの情報として活用します。

  • otel_tx_path_setby_name_enabled Boolean

    既定値false

    トランザクション名をSpanの名前で指定します。

  • otel_mtrace_stepid_setby_trace_spanid_enabled Boolean

    既定値false

    Trace SpanのSpanIDを外部接続のParentSpanIDとして認識するように設定します。 HTTP call span情報がないときに強制的に設定します。

  • otel_virtual_httpc_enabled Boolean

    既定値false

    分散追跡のためにHTTP call span情報がないときに強制的に設定します。 HTTP callアドレスは、自分のトランザクション名(URL)にotel_virtual_httpc_nameをつけて設定します。

  • otel_virtual_httpc_name String

    既定値external http call

    HTTP call span情報がないときに強制的に設定する名前を指定します。

  • transaction_status_error_enable Boolean

    既定値false

    status codeが 400 以上の場合、エラーとして表記するように設定します。

  • tx_status_meter_enabled Boolean

    既定値 true

    全体URLのStatus Codeごとに件数を10秒間隔で収集します。

  • stat_txstatus_enabled Boolean

    既定値 true

    URL別のStatus Codeの件数を5分間隔で収集します。

Gateway

OpenTelemetry Gatewayデータ処理に関するエージェント設定オプションです。

  • otel_gateway_enabled Boolean

    既定値false

    ゲートウェイ統計情報の収集可否を設定します。

    • 全URLのトランザクション、ゲートウェイ、API呼び出しそれぞれの経過時間10秒間隔で収集します。
    • URL、status毎にトランザクション、ゲートウェイ、APIの呼び出しそれぞれの経過時間を5分間隔で収集します。
  • otel_attr_tx_gw_time_keys String

    既定値duration.kong

    ゲートウェイ経過時間を持つ属性(attribute)名(key)を指定します。

  • otel_attr_tx_api_time_key String

    既定値duration.proxy

    指定された属性(attribute)の値でAPIの呼び出し経過時間を設定します。 API呼び出し経過時間を持つ属性(attribute)名(key)を指定します。

  • otel_replace_tx_resp_time_enabled Boolean

    既定値duration.proxy

    トランザクションは、開始時間と終了時間で応答時間を計算します。 指定した属性のキー値でトランザクションの応答時間を変更する機能を活性化します。

    • 応答時間を特定属性(attribute)のキー値はotel_attr_replace_tx_resp_time_keysに設定します。
  • otel_attr_replace_tx_resp_time_keys String

    既定値duration.kong

    応答時間に設定する属性のキー名を指定します。

Metric

OpenTelemetry Metricデータ処理に関するエージェント設定オプションです。

ノート

OpenTelemetryのMetricデータ処理の詳細については、次のリンクを参考にしてください。

  • otel_metric_server_enabled Boolean

    既定値false

    OpenTelemetry Metricデータ処理を活性化します。

  • otel_metric_queue_size Int

    既定値5000

    Opentelemetry Metricデータ処理のためのキューサイズを設定します。

Log

OpenTelemetry Logデータ処理に関するエージェント設定オプションです。

ノート

OpenTelemetryのLogデータ処理の詳細については、次のリンクを参考にしてください。

  • otel_log_server_enabled Boolean

    既定値false

    Opentelemetry Logデータ処理を活性化します。

  • otel_log_queue_size Int

    既定値5000

    Opentelemetry Logデータ処理のためのキューサイズを設定します。