제어 영역 로깅 및 모니터링
이 문서에서는 Cloud Logging 및 Cloud Monitoring을 사용하여 Cloud Service Mesh 컨트롤 플레인의 로그와 측정항목을 확인하는 방법을 설명합니다.
서비스 메시를 사용하면 서비스를 오가는 트래픽을 관찰할 수 있으므로 서비스 자체의 코드 변경 없이 더욱 풍부한 모니터링과 디버깅이 가능합니다. 로그 항목은 성공적인 연결 및 연결 해제에 대한 레코드, 잘못 구성된 클라이언트의 오류 보고서, API 리소스 충돌에 대한 알림을 포함해 서비스 메시 문제 해결에 중요한 정보를 제공할 수 있습니다.
사용 사례
다음은 제어 영역 로깅 및 모니터링을 위한 세 가지 사용 사례입니다.
- Cloud Service Mesh 컨트롤 플레인을 위한 Cloud Logging: Logging의 모든 기본 제공 기능을 사용해서 모든 Cloud Service Mesh 로깅 데이터 및 이벤트에 대해 저장, 검색, 분석, 알림 설정을 안전하게 수행할 수 있습니다. 구성 문제가 감지될 때는 물론 Envoy 또는 gRPC 클라이언트가 연결 또는 연결 해제될 때 Cloud Service Mesh가 Logging에 로그를 내보냅니다.
- Cloud Service Mesh 컨트롤 플레인을 위한 Cloud Monitoring: Cloud Service Mesh가 Cloud Service Mesh 컨트롤 플레인에 연결된 클라이언트 수를 나타내는 주요 측정항목을 Monitoring에 내보냅니다. Monitoring에서 대시보드를 설정하고 이 측정항목을 실시간으로 시각화하여 클라이언트가 연결 및 연결 해제될 때 메시 상태를 모니터링할 수 있습니다. 또한 메시에 대해 SLO를 설정할 수 있습니다.
- 즉각적인 문제 해결: Cloud Service Mesh가 기본적으로 Logging 및 Monitoring에 원격 분석을 내보냅니다. 로깅 및 모니터링 구성을 위한 추가 설정이 필요하지 않으므로, 처음 메시를 설정할 때를 포함하여 언제든지 문제를 해결할 수 있습니다.
로그 보기
Cloud Service Mesh 로그를 보려면 로그 탐색기를 사용하세요. 다음 섹션에서는 Cloud Service Mesh 로그를 보는 쿼리 예시를 다루지만 이전 링크를 사용하면 자체 쿼리를 만들 수 있습니다.
Google Cloud 콘솔에서 로그 탐색기 페이지로 이동합니다.
- 리소스 목록에서 다음 안내를 따르세요.
- 서비스 라우팅 API를 사용하는 경우
Gateway Scope
또는Mesh
를 선택하세요. - 이전 API를 사용하는 경우
GCE Network
를 선택합니다.
- 서비스 라우팅 API를 사용하는 경우
- 로그 이름 목록에서
trafficdirector.googleapis.com/events
를 선택합니다. - 쿼리 실행을 클릭합니다.
Cloud Service Mesh 로그 항목 필드
필드 | 설명 |
---|---|
node_id |
xDS 클라이언트에서 제공하는 xDS 클라이언트 노드의 ID입니다. |
client_type |
Cloud Service Mesh에 연결된 xDS 클라이언트의 유형입니다. 가능한 값:
|
node_ip |
클라이언트에서 제공하는 노드의 IP 주소입니다. |
api_version |
xDS 클라이언트에서 Cloud Service Mesh에 연결하는 데 사용하는 xDS API 버전입니다.
가능한 값은 V2 및 V3 입니다. |
description |
추가 세부정보가 포함된 이벤트의 텍스트 설명입니다. |
로그 항목 예시
로그 항목 예시 | 설명 |
---|---|
'Cloud Service Mesh에서 xDS 클라이언트의 구성을 찾을 수 없습니다.' | 이 로그는 구성이 없으므로 Cloud Service Mesh에서 xDS 클라이언트를 거부할 때 생성됩니다. Cloud Service Mesh 관련 API 리소스의 설정이 완료되지 않았기 때문일 수 있습니다. |
'클라이언트가 성공적으로 연결되었습니다.' | 클라이언트가 Cloud Service Mesh에 성공적으로 연결될 때마다 이 유형의 로그 메시지가 생성됩니다. |
'클라이언트가 성공적으로 연결 해제되었습니다.' | 설정된 클라이언트와 Cloud Service Mesh의 연결이 해제될 때마다 이 유형의 로그 메시지가 생성됩니다. |
'TRAFFICDIRECTOR_INTERCEPTION_PORT 메타데이터 변수가 설정되지 않았습니다. 가로채기 리스너의 라우팅 구성이 존재하지만 무시됩니다.' | Cloud Service Mesh 리소스가 올바르게 구성되었지만 xDS 클라이언트 노드 메타데이터에 TRAFFICDIRECTOR_INTERCEPTION_PORT 변수가 설정되지 않아서 이 구성을 클라이언트에 추가할 수 없는 경우 이 유형의 로그 메시지가 생성됩니다. |
'가로채기 리스너가 지정된 포트 15001에 빌드되었지만 라우팅 구성이 존재하지 않습니다.' | xDS 클라이언트 노드 메타데이터에 TRAFFICDIRECTOR_INTERCEPTION_PORT 변수가 설정되어 있지만 Cloud Service Mesh에서 완전한 xDS 응답을 생성하기 위해 필요한 리소스가 구성되지 않은 경우 이 유형의 로그 메시지가 생성됩니다. |
'Cloud Service Mesh에서 ADS 응답을 보내지 못했습니다. 노드의 마지막 검색 요청에 잘못된 버전 및/또는 nonce가 있습니다.' | 이 유형의 로그 메시지는 Cloud Service Mesh가 xDS 클라이언트의 손상된 통신으로 인해 xDS 응답을 올바르게 처리할 수 없을 때 생성됩니다. 이 메시지는 클라이언트의 구현 오류를 나타냅니다. 클라이언트의 로그를 확인하는 것이 좋습니다. |
'클라이언트가 리전 간 트래픽을 백엔드 서비스 backend_service_id 로 전송합니다. 소스 리전: source_region
대상 리전: destination_region1, destination_region2 ' |
이 유형의 로그 메시지는 클라이언트가 소스 리전에서 하나 이상의 대상 리전으로 리전 간 트래픽을 전송했음을 Cloud Service Mesh에 보고할 때 생성됩니다. |
측정항목 보기
Cloud Service Mesh는 xDS API 연결 스트림, 요청 수, 영역별 요청 수라는 두 가지 측정항목을 Cloud Monitoring으로 내보냅니다. xDS API 연결 스트림은 컨트롤 플레인에 연결된 클라이언트 수를 나타내고 요청 수는 소스 리전, 대상 리전, 요청 상태별로 그룹화된 백엔드 서비스로 전송된 요청 수를 나타냅니다. 영역별 요청 수는 백엔드 서비스로 전송되는 요청 수를 소스 영역, 대상 영역, 요청 상태별로 그룹화한 것입니다. 이러한 측정항목을 보려면 측정항목 탐색기를 사용합니다.
Cloud Service Mesh 측정항목을 보려면 다음 안내를 따르세요.
Google Cloud 콘솔에서 측정항목 탐색기 페이지로 이동합니다.
- 리소스 유형 목록에서 리소스를 선택합니다.
- 서비스 라우팅 API를 사용하는 경우
Gateway Scope
또는Mesh
를 선택하세요. - 이전 API를 사용하는 경우
Network
를 선택합니다.
- 서비스 라우팅 API를 사용하는 경우
- 측정항목 목록에서
connected_clients
를 선택합니다. - 리소스 유형 목록으로 돌아가서
Compute Engine Backend Service
를 선택합니다. - 측정항목 목록에서
Request count
또는Request count by zone
을 선택합니다.
또는 쿼리를 사용하여 리전 간 요청 수를 볼 수 있습니다.
- MQL을 선택합니다.
- 필드에 다음 예시 쿼리를 입력합니다.
fetch gce_backend_service | metric 'trafficdirector.googleapis.com/xds/server/request_count' | filter ( ne(metric.source_region, metric.destination_region)) | align rate(1m) | every 1m | group_by [metric.source_region, metric.destination_region, resource.backend_service_id], [value_request_count_aggregate: aggregate(value.request_count)]
- 쿼리 실행을 클릭합니다.
로그 기반 측정항목 및 알림 설정
다음 단계에서는 로그 기반 측정항목을 설정해야 합니다. 로그 기반 측정항목 설정에 대한 자세한 내용은 개요를 참조하세요.
사용자가 지정한 메시지가 포함된 로그에 표시되면 알림을 받도록 알림을 구성할 수 있습니다. 이러한 알림을 통해 예상치 못한 상황이 발생할 경우 운영자에게 이를 알릴 수 있습니다. 예를 들어 Cloud Service Mesh 구성 변경사항으로 인해 API 리소스가 충돌하면 오류 메시지에 대한 알림이 수신될 수 있습니다. 로그 기반 측정항목에 알림을 설정하려면 차트 및 알림 구성을 참조하세요.