7장. 모니터링
Apache Kafka 프록시용 스트림은 프록시 인스턴스의 성능 및 상태를 이해하는 데 도움이 되는 주요 관찰 기능 기능을 지원합니다.
Apache Kafka Proxy 및 Streams for Apache Kafka Proxy Operator는 실시간 모니터링 및 경고에 대한 메트릭과 해당 작업 및 동작을 캡처하는 로그를 생성합니다. 로그 수준을 구성하여 기록된 정보의 단위를 제어하는 동안 Prometheus와 같은 모니터링 시스템과 이러한 지표를 통합할 수 있습니다.
7.1. 프록시 메트릭 개요 링크 복사링크가 클립보드에 복사되었습니다!
프록시는 연결 및 메시지에 대한 메트릭을 제공합니다. 이러한 메트릭은 다운스트림(클라이언트 측) 및 업스트림(broker-side) 그룹으로 분류되므로 사용자가 Kafka 시스템에서 프록시 및 해당 필터의 영향을 평가할 수 있습니다.
- 연결 메트릭은 다운스트림(클라이언트에서 들어오는 연결)에서 만든 연결과 프록시에서 업스트림에 대한 연결( Kafka 브로커에 대한 연결 제외)의 수를 계산합니다.
- 메시지 메트릭은 프록시를 통해 전달되는 Kafka 프로토콜 요청 및 응답 메시지 의 수를 계산합니다.
7.1.1. 연결 지표 링크 복사링크가 클립보드에 복사되었습니다!
연결 메트릭은 클라이언트에서 생성된 TCP 연결 수를 프록시(kr#159licious_client_to_proxy_request_total) 및 프록시에서 브로커(kr#159licious_proxy_to_server_connections_total)로 계산합니다. 이러한 지표 수 연결 시도는 결국 연결 시도가 실패하더라도 연결 수가 증가합니다.
개수 지표 외에도 오류 메트릭이 있습니다.
-
프록시가 클라이언트에서 연결을 수락하는 동안 오류가 발생하면 kr#159
licious_client_to_proxy_errors_total메트릭이 1씩 증가합니다. -
프록시가 브로커에 대한 연결을 시도하는 동안 오류가 발생하면 kr#159
licious_proxy_to_server_errors_total메트릭이 1씩 증가합니다.
연결 및 연결 오류 메트릭에는 virtual_cluster (가상 클러스터의 이름) 및 node_id (개체의 노드 ID)가 포함됩니다. 클라이언트가 가상 클러스터의 boostrap 끝점에 연결하면 부트스트랩 의 노드 ID 값이 기록됩니다.
kr Cryostatlicious_client_to_proxy_errors_total 메트릭은 가상 클러스터를 식별하기 전에 발생하는 연결 오류도 계산합니다. 이러한 특정 오류의 경우 virtual_cluster 및 node_id 레이블이 빈 문자열("")로 설정됩니다.
Kafka 프로토콜 응답(예: RESOURCE_NOT_FOUND 또는 UNKNOWN_TOPIC_ID) 내에서 신호된 오류 조건은 이러한 메트릭에 의해 오류로 분류되지 않습니다.
| 메트릭 이름 | 유형 | 라벨 | 설명 |
|---|---|---|---|
|
| 카운터 |
|
프록시에 의해 클라이언트에서 연결을 수락할 때마다 1씩 증가합니다. |
|
| 카운터 |
| 다운스트림 오류로 인해 연결이 닫힐 때마다 하나씩 증가합니다. |
|
| 카운터 |
|
프록시에서 서버에 연결할 때마다 하나씩 증가합니다. |
|
| 카운터 |
| 업스트림 오류로 인해 연결이 닫힐 때마다 1씩 증가합니다. |
7.1.2. 메시지 지표 링크 복사링크가 클립보드에 복사되었습니다!
메시지 메트릭 수를 계산하고 프록시를 통해 전달되는 Kafka 프로토콜의 크기를 기록합니다.
다음 메트릭을 사용하여 다음을 이해하십시오.
- 프록시를 통해 전달되는 메시지 수입니다.
- 프록시를 통한 전체 데이터 볼륨입니다.
- 필터가 메시지에 미치는 영향은 다음과 같습니다.
다운스트림 메트릭
-
kr Cryostatlicious_client_to_proxy_request_total은 클라이언트에서 도달할 때 요청을 계산합니다. -
kr#159licious_proxy_to_client_response_total은 클라이언트에 반환되는 대로 응답을 계산합니다. -
kr#159licious_client_to_proxy_request_size_bytes는 클라이언트에서 도달할 때 각 요청 크기에 따라 증가합니다. -
kr#159licious_proxy_to_client_response_size_bytes는 클라이언트에 반환되기 때문에 각 응답의 크기에 따라 증가합니다.
-
업스트림 메트릭
-
kr#159licious_proxy_to_server_request_total은 브로커로 이동할 때 요청을 계산합니다. -
kr#159licious_proxy_to_server_response_total은 브로커가 반환하는 대로 응답을 계산합니다. -
kr#159licious_proxy_to_server_request_size_bytes는 브로커로 이동할 때 각 요청 크기에 따라 증가합니다. -
kr#159licious_proxy_to_server_response_size_bytes는 브로커가 반환하므로 각 응답 크기에 따라 증가합니다.
-
기록된 크기는 프로토콜 메시지의 인코딩된 크기입니다. 4바이트 메시지 크기를 포함합니다.
필터는 프록시를 통한 메시지 흐름 또는 메시지의 내용을 변경할 수 있습니다. 이는 메트릭을 통해 알 수 있습니다.
- 필터가 단락을 보내거나 연결을 종료하면 다운스트림 메시지 카운터가 업스트림 카운터를 초과합니다.
- 필터가 메시지 크기를 변경하면 다운스트림 크기 지표가 업스트림 크기 지표와 다릅니다.
그림 7.1. 프록시의 다운스트림 및 업스트림 메시지 메트릭
메시지 메트릭에는 virtual_cluster (가상 클러스터의 이름), node_id ( broker의 노드 ID), api_key (메시지 유형), api_version, 디코딩 됨(메시지가 프록시에서 디코딩되었는지 여부를 나타내는 플래그)이 포함됩니다.
클라이언트가 가상 클러스터의 boostrap 끝점에 연결하면 노드 ID 값이 부트스트랩 인 지표가 기록됩니다.
| 메트릭 이름 | 유형 | 라벨 | 설명 |
|---|---|---|---|
|
| 카운터 |
| 요청이 클라이언트에서 프록시에 도달할 때마다 1씩 증가합니다. |
|
| 카운터 |
| 요청이 프록시에서 서버로 이동할 때마다 증가했습니다. |
|
| 카운터 |
| 응답이 서버에서 프록시에 도달할 때마다 1씩 증가합니다. |
|
| 카운터 |
| 응답이 프록시에서 클라이언트로 전달될 때마다 1씩 증가합니다. |
|
| 콘텐츠 배포 |
| 요청이 클라이언트에서 프록시에 도달할 때마다 메시지 크기에 따라 증가합니다. |
|
| 콘텐츠 배포 |
| 요청이 프록시에서 서버로 이동할 때마다 메시지 크기에 따라 증가합니다. |
|
| 콘텐츠 배포 |
| 응답이 서버에서 프록시에 도달할 때마다 메시지 크기에 따라 증가합니다. |
|
| 콘텐츠 배포 |
| 응답이 프록시에서 클라이언트로 전달될 때마다 메시지 크기에 따라 증가합니다. |