Linkerd OTel 통합은 OpenTelemetry Collector의 Prometheus 수신자를 사용하여 Linkerd 프록시 관리자 포트(:4191) 및 컨트롤 플레인 파드를 스크랩하여 메트릭을 수집합니다.
HTTP 트래픽 메트릭
모든 메시된 파드의 linkerd-proxy 사이드카에서 내보냅니다.
측정항목 이름 | 유형 | 설명 |
|---|
request_total
| 카운터 | 수신(인바운드)되거나 송신(아웃바운드)된 총 HTTP requests입니다. direction
, target_namespace
, target_deployment
별 패싯입니다. |
response_total
| 카운터 | 총 HTTP 응답. 레이블: classification
( success
/ failure
), status_code
. |
response_latency_ms_bucket
| 히스토그램 | HTTP 응답 지연시간(밀리초). p50/p95/p99의 경우 percentile()
을(를) 사용하십시오. |
response_latency_ms_count
| 카운터 | 지연시간 관찰 횟수(평균 지연시간의 분모). |
response_latency_ms_sum
| 카운터 | 밀리초 단위의 지연시간 관측치 합계입니다. |
route_request_total
| 카운터 | 라우트별 요청 수. HTTPRoute 정책을 구성해야 합니다. |
route_response_total
| 카운터 | classification
레이블이 있는 라우트별 응답 수입니다. HTTPRoute 정책이 필요합니다. |
route_response_latency_ms_bucket
| 히스토그램 | 라우트별 응답 지연시간. HTTPRoute 정책이 필요합니다. |
TCP 메트릭
측정항목 이름 | 유형 | 설명 |
|---|
tcp_open_connections
| 계량기 | direction
별 현재 열려 있는 TCP 연결(인바운드/아웃바운드). |
tcp_open_total
| 카운터 | 열린 총 TCP 연결 수입니다. |
tcp_close_total
| 카운터 | 종료된 총 TCP 연결 수. 레이블: classification
( success
/ failure
). |
tcp_read_bytes_total
| 카운터 | TCP 연결에서 읽은 총 바이트 수입니다. |
tcp_write_bytes_total
| 카운터 | TCP 연결에 기록된 총 바이트 수입니다. |
tcp_connection_duration_ms_bucket
| 히스토그램 | TCP 연결 수명(밀리초)입니다. |
권한 부여 메트릭
측정항목 이름 | 유형 | 설명 |
|---|
inbound_http_authz_allow_total
| 카운터 | 권한 부여 정책에 의해 허용된 HTTP requests입니다. |
inbound_http_authz_deny_total
| 카운터 | 권한 부여 정책에 의해 거부된 HTTP requests입니다. |
inbound_tcp_authz_allow_total
| 카운터 | 권한 부여 정책에 의해 허용된 TCP 연결입니다. |
inbound_tcp_authz_deny_total
| 카운터 | 권한 부여 정책에 의해 거부된 TCP 연결입니다. |
ID 및 mTLS 메트릭
측정항목 이름 | 유형 | 설명 |
|---|
identity_cert_expiration_timestamp_seconds
| 계량기 | 프록시의 mTLS 인증서가 만료되는 Unix 타임스탬프입니다. 현재로부터 24시간 미만일 때 공지하십시오. |
identity_cert_refresh_count
| 카운터 | mTLS 인증서 갱신 횟수. 갑작스러운 감소는 ID 서비스 문제를 나타냅니다. |
컨트롤 플레인 메트릭
Linkerd 컨트롤 플레인 파드(destination, identity, proxy-injector)에서 내보냅니다.
측정항목 이름 | 유형 | 설명 |
|---|
control_plane_live_endpoints
| 계량기 | 대상 컨트롤러에 알려진 활성 엔드포인트 수입니다. 값이 낮으면 서비스 검색 문제를 나타냅니다. |
control_plane_queue_length
| 계량기 | 대상 컨트롤러 대기열의 보류 중인 작업 항목입니다. 값이 높으면 과부하를 나타냅니다. |
control_plane_updates_queue_depth
| 계량기 | 엔드포인트 업데이트 대기열의 깊이입니다. |
proxy_injector_cert_rotation_total
| 카운터 | Proxy-injector 웹훅 인증서 교체. |
proxy_injector_injection_total
| 카운터 | 총 프록시 주입. 레이블: injected
(true/false), reason
. |
프로세스 메트릭
각 프록시에서 내보내는 표준 Prometheus 프로세스 메트릭입니다.
측정항목 이름 | 유형 | 설명 |
|---|
process_cpu_seconds_total
| 카운터 | 프록시 프로세스에서 소비한 총 사용자+시스템 CPU 시간. |
process_resident_memory_bytes
| 계량기 | 프록시 프로세스의 상주 세트 크기(RSS)(바이트). |
process_virtual_memory_bytes
| 계량기 | 프록시 프로세스의 가상 메모리 크기. |
process_open_fds
| 계량기 | 열린 파일 설명자의 수. 값이 높으면 연결 누수를 나타낼 수 있습니다. |
process_uptime_seconds_total
| 카운터 | 프록시 프로세스가 시작된 후 경과한 시간(초). |
기본 비활성화 메트릭
수집 볼륨을 줄이기 위해 최적화된 수집기 구성에서 다음 메트릭 그룹은 기본적으로 비활성화되어 있습니다. 다시 활성화하려면 filter/drop_unused에서 해당 조건을 제거하십시오.
팁
이러한 그룹은 안정 상태에서 운영상의 가치를 제공하지 않으므로 기본적으로 비활성화되어 있습니다. 설명된 특정 문제를 적극적으로 디버깅할 때만 활성화하십시오.
그룹 | 메트릭 | 재활성화 시기 |
|---|
버전/빌드 정보 | rustls_info
, proxy_build_info
| 안 함 |
Prometheus 스크레이퍼 | scrape_series_added
, scrape_duration_seconds
, scrape_samples_*
| 초기 수집기 설정 |
프록시 스택 내부 | stack_poll_total
, stack_create_total
, stack_drop_total
, stack_poll_total_ms
| 프록시 CPU/과부하 조사 |
Tokio 비동기 런타임 | tokio_rt_*
| 프록시 CPU 고갈 |
HTTP 프레임 크기 | *_http_*_frame_size_bytes
, outbound_http_route_request_frame_size_bytes
| 대용량 페이로드 디버깅 |
TCP 프로토콜 감지 | inbound_tcp_detect_http_duration_seconds
, outbound_tcp_detect_http_duration_seconds
| 프로토콜 감지 실패 |
TCP 밸런서 대기열 | outbound_tcp_balancer_queue_*
| 아웃바운드 TCP 백프레셔 |
리소스 속성
이러한 속성은 OTel Collector에 의해 모든 메트릭에 추가되며 FACET 또는 WHERE 필터로 사용할 수 있습니다.
공통 속성
기인하다 | 설명 |
|---|
instrumentation.provider
| 항상 opentelemetry
|
k8s.cluster.name
| OTEL_RESOURCE_ATTRIBUTES
환경 변수를 통해 설정된 쿠버네티스 클러스터 이름 |
k8s.namespace.name
| 메시된 파드의 네임스페이스 |
k8s.pod.name
| 메시된 파드의 이름 |
k8s.deployment.name
| 파드를 소유한 배포(네이티브로 내보내지 않는 경우 파드 이름에서 파생됨) |
k8s.node.name
| 파드를 실행 중인 Kubernetes 노드 |
Linkerd 특정 속성
기인하다 | 설명 |
|---|
linkerd_control_plane_ns
| Linkerd 컨트롤 플레인이 설치된 네임스페이스(예: linkerd
). 모든 메시된 파드에 존재합니다. 엔티티 합성 판별자로 사용됩니다. |
linkerd_control_plane_component
| 컨트롤 플레인 구성 요소 이름( destination
, identity
, proxy-injector
). |
kube-state-metrics 속성
이 속성은 kube-state-metrics에서 스크랩된 메트릭에만 추가됩니다.
기인하다 | 설명 |
|---|
k8s.deployment.name
| KSM 레이블의 배포 이름 |
k8s.pod.name
| KSM 레이블에서 가져온 파드 이름 |
k8s.node.name
| KSM 레이블의 노드 이름 |
관련 기사