제어 영역 로깅 및 모니터링

이 문서에서는 Cloud LoggingCloud Monitoring을 사용하여 Traffic Director 제어 영역의 로그와 측정항목을 확인하는 방법을 설명합니다.

서비스 메시를 사용하면 서비스를 오가는 트래픽을 관찰할 수 있으므로 서비스 자체의 코드 변경 없이 더욱 풍부한 모니터링과 디버깅이 가능합니다. 로그 항목은 성공적인 연결 및 연결 해제에 대한 레코드, 잘못 구성된 클라이언트의 오류 보고서, API 리소스 충돌에 대한 알림을 포함해 서비스 메시 문제 해결에 중요한 정보를 제공할 수 있습니다.

사용 사례

다음은 제어 영역 로깅 및 모니터링을 위한 세 가지 사용 사례입니다.

  • Traffic Director 제어 영역을 위한 Cloud Logging: Logging의 모든 기본 제공 기능을 사용해서 모든 Traffic Director 로깅 데이터 및 이벤트에 대해 저장, 검색, 분석, 알림 설정을 안전하게 수행할 수 있습니다. 구성 문제가 감지될 때는 물론 Envoy 또는 gRPC 클라이언트가 연결 또는 연결 해제될 때 Traffic Director가 Logging에 로그를 내보냅니다.
  • Traffic Director 제어 영역을 위한 Cloud Monitoring: Traffic Director가 Traffic Director 제어 영역에 연결된 클라이언트 수를 나타내는 주요 측정항목을 Monitoring에 내보냅니다. Monitoring에서 대시보드를 설정하고 이 측정항목을 실시간으로 시각화하여 클라이언트가 연결 및 연결 해제될 때 메시 상태를 모니터링할 수 있습니다. 또한 메시에 대해 SLO를 설정할 수 있습니다.
  • 즉시 문제 해결: Traffic Director가 기본적으로 Logging 및 Monitoring에 원격 분석을 내보냅니다. 로깅 및 모니터링 구성을 위한 추가 설정이 필요하지 않으므로, 처음 메시를 설정할 때를 포함하여 언제든지 문제를 해결할 수 있습니다.

로그 보기

Traffic Director 로그를 보려면 로그 탐색기를 사용합니다. 다음 섹션에서는 Traffic Director 로그를 보는 쿼리 예시를 다루지만 이전 링크를 사용하면 자체 쿼리를 만들 수 있습니다.

  1. Google Cloud 콘솔에서 로그 탐색기 페이지로 이동합니다.

    로그 탐색기로 이동

  2. 리소스 목록에서 다음을 수행합니다.
    • 서비스 라우팅 API를 사용하는 경우 Gateway Scope 또는 Mesh를 선택하세요.
    • 이전 API를 사용하는 경우 GCE Network를 선택합니다.
  3. 로그 이름 목록에서 trafficdirector.googleapis.com/events를 선택합니다.
  4. 쿼리 실행을 클릭합니다.

Traffic Director 로그 항목 필드

필드 설명
node_id xDS 클라이언트에서 제공하는 xDS 클라이언트 노드의 ID입니다.
client_type Traffic Director에 연결된 xDS-클라이언트의 유형입니다. 가능한 값:
  • ENVOY
  • GRPC-JAVA
  • GRPC-C++
  • GRPC-PYTHON
  • GRPC-GO
  • UNKNOWN
node_ip 클라이언트에서 제공하는 노드의 IP 주소입니다.
api_version xDS 클라이언트에서 Traffic Director에 연결하는 데 사용하는 xDS API 버전입니다. 가능한 값은 V2V3입니다.
description 추가 세부정보가 포함된 이벤트의 텍스트 설명입니다.

로그 항목 예시

로그 항목 예시 설명
'Traffic Director에서 xDS 클라이언트의 구성을 찾을 수 없습니다.' 이 로그는 구성이 없으므로 Traffic Director에서 xDS 클라이언트를 거부할 때 생성됩니다. Traffic Director 관련 API 리소스의 설정이 완료되지 않았기 때문일 수 있습니다.
'클라이언트가 성공적으로 연결되었습니다.' 클라이언트가 Traffic Director에 성공적으로 연결될 때마다 이 유형의 로그 메시지가 생성됩니다.
'클라이언트가 성공적으로 연결 해제되었습니다.' 설정된 클라이언트와 Traffic Director의 연결이 해제될 때마다 이 유형의 로그 메시지가 생성됩니다.
'TRAFFICDIRECTOR_INTERCEPTION_PORT 메타데이터 변수가 설정되지 않았습니다. 가로채기 리스너의 라우팅 구성이 존재하지만 무시됩니다.' Traffic Director 리소스가 올바르게 구성되었지만 xDS 클라이언트 노드 메타데이터에 TRAFFICDIRECTOR_INTERCEPTION_PORT 변수가 설정되지 않아서 이 구성을 클라이언트에 추가할 수 없는 경우 이 유형의 로그 메시지가 생성됩니다.
'가로채기 리스너가 지정된 포트 15001에 빌드되었지만 라우팅 구성이 존재하지 않습니다.' xDS 클라이언트 노드 메타데이터에 TRAFFICDIRECTOR_INTERCEPTION_PORT 변수가 설정되어 있지만 Traffic Director에서 완전한 xDS 응답을 생성하기 위해 필요한 리소스가 구성되지 않은 경우 이 유형의 로그 메시지가 생성됩니다.
'Traffic Director에서 ADS 응답을 보낼 수 없습니다. 노드의 마지막 검색 요청에 잘못된 버전 및/또는 nonce가 있습니다.' 이 유형의 로그 메시지는 Traffic Director가 xDS 클라이언트의 손상된 통신으로 인해 xDS 응답을 올바르게 처리할 수 없을 때 생성됩니다. 이 메시지는 클라이언트의 구현 오류를 나타냅니다. 클라이언트의 로그를 확인하는 것이 좋습니다.
'클라이언트가 리전 간 트래픽을 백엔드 서비스 backend_service_id로 전송합니다. 소스 리전: source_region 대상 리전: destination_region1, destination_region2' 이 유형의 로그 메시지는 클라이언트가 소스 리전에서 하나 이상의 대상 리전으로 리전 간 트래픽을 전송했음을 Traffic Director에 보고할 때 생성됩니다.

측정항목 보기

Traffic Director는 xDS API 연결 스트림, 요청 수, 영역별 요청 수라는 두 가지 측정항목을 Cloud Monitoring으로 내보냅니다. xDS API 연결 스트림은 제어 영역에 연결된 클라이언트 수를 나타내고 요청 수는 소스 리전, 대상 리전, 요청 상태별로 그룹화된 백엔드 서비스로 전송된 요청 수를 나타냅니다. 영역별 요청 수는 백엔드 서비스로 전송되는 요청 수를 소스 영역, 대상 영역, 요청 상태별로 그룹화한 것입니다. 이러한 측정항목을 보려면 측정항목 탐색기를 사용합니다.

Traffic Director 측정항목을 보려면 다음 안내를 따르세요.

  1. Google Cloud 콘솔에서 측정항목 탐색기 페이지로 이동합니다.

    측정항목 탐색기로 이동

  2. 리소스 유형 목록에서 리소스를 선택합니다.
    • 서비스 라우팅 API를 사용하는 경우 Gateway Scope 또는 Mesh를 선택하세요.
    • 이전 API를 사용하는 경우 Network를 선택합니다.
  3. 측정항목 목록에서 connected_clients를 선택합니다.
  4. 리소스 유형 목록으로 돌아가서 Compute Engine Backend Service를 선택합니다.
  5. 측정항목 목록에서 Request count 또는 Request count by zone을 선택합니다.

또는 쿼리를 사용하여 리전 간 요청 수를 볼 수 있습니다.

  1. MQL을 선택합니다.
  2. 필드에 다음 예시 쿼리를 입력합니다.
    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)]
    
  3. 쿼리 실행을 클릭합니다.

로그 기반 측정항목 및 알림 설정

다음 단계에서는 로그 기반 측정항목을 설정해야 합니다. 로그 기반 측정항목 설정에 대한 자세한 내용은 개요를 참조하세요.

사용자가 지정한 메시지가 포함된 로그에 표시되면 알림을 받도록 알림을 구성할 수 있습니다. 이러한 알림을 통해 예상치 못한 상황이 발생할 경우 운영자에게 이를 알릴 수 있습니다. 예를 들어 Traffic Director 구성 변경사항으로 인해 API 리소스가 충돌하면 오류 메시지에 대한 알림이 수신될 수 있습니다. 로그 기반 측정항목에 알림을 설정하려면 차트 및 알림 구성을 참조하세요.