에이전트 설정
OpenTelemetry 모니터링은 베타 버전으로 예기치 않은 오류가 발생할 수 있습니다. 중요한 데이터나 운영 환경에서는 사용하는 것을 권장하지 않습니다. 피드백이나 문제점이 발생하면 지원 팀(support@whatap.io)으로 문의하세요.
이 문서는 OpenTelemetry 에이전트 설정 방법을 안내합니다.
에이전트를 구성하면 OpenTelemetry Collector로부터 전달된 Trace, Metric, Log 데이터를 와탭 모니터링 플랫폼으로 수집하고 분석할 수 있습니다.
에이전트 설정 파일(whatap.conf) 또는 환경 변수를 통해
Grpc 서버 포트, 데이터 처리 옵션, 속성(attribute) 매핑 설정을 세부적으로 제어할 수 있습니다.
이 가이드는 OpenTelemetry 기반의 통합 옵저버빌리티 환경을 구축하려는 사용자를 위한 구성 문서입니다.
에이전트
-
otel_grpc_server_enabled Boolean
기본값
trueOpenTelemetry protocol(OTLP)를 통해 전달되는 데이터를 수신하기 위한 Grpc 서버를 활성화합니다.
-
otel_grpc_server_port String
기본값
6600Grpc 서버의 Listen 포트입니다.
노트포트 번호를 변경 후에는 whatap-otel 서비스를 재시작해야 합니다.
-
otel_grpc_server_gzip_enabled Boolean
기본값
trueGrpc 서버에서 읽는 데이터의 암호화로
gzip을 활성화합니다. -
debug_otel_grpc_server_enabled Boolean
기본값
falseOpenTelemetry Trace 데이터 처리에 관련된 디버그 로그의 출력을 활성화합니다.
에이전트 로그
-
log_keep_days Day Int
기본값
7로그 파일 보관 기간을 설정합니다.
-
log_stdout_enabled Boolean
기본값
false파일 로그와 동일하게 Stdout으로 출력하는 옵션을 추가합니다.
Trace
OpenTelemetry Trace 데이터 처리와 관련한 에이전트 설정 옵션입니다. 와탭은 OpenTelemetry Trace 구성 요소인 Span의 attributes 객체로부터 값을 가져와 모니터링 정보로 활용합니다.
Span의 attributes 객체가 와탭의 에이전트 설정과 어떻게 연관되는지 다음 코드를 참조하세요.
{
"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"
}
]
}
otel_attr_tx_host_keys=http.host
otel_attr_tx_method_keys=http.method
otel_attr_tx_useragent_keys=http.user_agent
-
otel_trace_server_enabled Boolean
기본값
trueOpenTelemetry Trace 데이터 처리를 활성화합니다.
-
otel_trace_queue_size Int
기본값
5000OpenTelemetry Trace 데이터 처리를 위한 큐 크기를 설정합니다.
-
otel_span_collector_max Int
기본값
100000OpenTelemetry Trace 데이터의 Span 데이터 버퍼의 최대 크기(개수)를 지정합니다.
-
otel_attr_dbcon_keys String
기본값
sql.system,db.connection_string,db.systemDB Connection 정보로 활용할 속성 이름을 입력하세요. 해당 정보를 활용해 와탭에서는 DB Connection 스텝으로 표시합니다.
-
otel_attr_sql_keys String
기본값
db.statement,sql.querySQL 쿼리 정보로 활용할 속성 이름을 입력하세요. 해당 정보를 활용해 와탭에서는 SQL 스텝으로 표시합니다.
-
otel_attr_httpc_keys String
기본값
url.full,http.url,http.targetHTTP call 정보로 활용할 속성 이름을 입력하세요. 해당 정보를 활용해 와탭에서는 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.methodHTTP 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.typeEvent 데이터의 속성(Attribute) 이름을 지정하여 오류 타입 정보로 활용합니다.
-
otel_events_error_message_keys String
기본값
exception.messageEvent 데이터의 속성(Attribute) 이름을 지정하여 오류 메시지 정보로 활용합니다.
-
otel_events_error_stack_keys String
기본값
exception.stacktraceEvent 데이터의 속성(Attribute) 이름을 지정하여 오류 스택 정보로 활용합니다.
-
otel_tx_path_setby_name_enabled Boolean
기본값
false트랜잭션 이름을 Span의 이름으로 지정합니다.
-
otel_mtrace_stepid_setby_trace_spanid_enabled Boolean
기본값
falseTrace 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 callHTTP call span 정보가 없을 때 강제로 설정하는 이름을 지정합니다.
-
transaction_status_error_enable Boolean
기본값
falsestatus code가 400 이상일 경우 오류로 표기하도록 설정합니다.
-
tx_status_meter_enabled Boolean
기본값
true전체 URL의 Status Code별로 건수를 10초 간격으로 수집합니다.
-
stat_txstatus_enabled Boolean
기본값
trueURL별 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로 설정합니다.
- 응답시간을 특정 속성(attribute)의 키 값은
-
otel_attr_replace_tx_resp_time_keys String
기본값
duration.kong응답시간으로 설정할 속성의 키 이름을 지정합니다.
Metric
OpenTelemetry Metric 데이터 처리와 관련한 에이전트 설정 옵션입니다.
OpenTelemetry의 Metric 데이터 처리에 대한 자세한 내용은 다음 링크를 참조하세요.
-
otel_metric_server_enabled Boolean
기본값
falseOpenTelemetry Metric 데이터 처리를 활성화합니다.
-
otel_metric_queue_size Int
기본값
5000Opentelemetry Metric 데이터 처리를 위한 큐 크기를 설정합니다.
Log
OpenTelemetry Log 데이터 처리와 관련한 에이전트 설정 옵션입니다.
OpenTelemetry의 Log 데이터 처리에 대한 자세한 내용은 다음 링크를 참조하세요.
-
otel_log_server_enabled Boolean
기본값
falseOpentelemetry Log 데이터 처리를 활성화합니다.
-
otel_log_queue_size Int
기본값
5000Opentelemetry Log 데이터 처리를 위한 큐 크기를 설정합니다.