인프라 모니터링
서버 측 태그 지정 설정이 프로덕션에 사용 가능한 상태로 업그레이드된 후 배포를 모니터링하기 위한 사전 조치를 취해야 합니다.
배포 상태를 주기적으로 확인해야 하지만 중요 체크포인트는 다음과 같습니다.
- 환경을 처음 배포한 때 및 그후 며칠/몇 주 동안(수신 트래픽에 대해 충분한 계산이 가능한지 확인)
- 알려진 트래픽 급증 전(예: 시즌별 캠페인이 시작할 때 또는 주요 출시 전)
Google Cloud Platform의 세 가지 유용한 모니터링 기회는 Cloud Run 보고서, Cloud Logging, 결제 보고서를 사용할 때입니다.
Cloud Run 보고서
Google Cloud Run에서 서버 측 태그 지정 환경을 운영하는 경우 Google Cloud Platform 콘솔의 Cloud Run 섹션에 있는 매우 유용한 보고서에 액세스할 수 있습니다.
Cloud Run 서비스를 클릭하면 태그 관리 서버의 전반적인 상태에 대한 유용한 보고서를 보여주는 대시보드가 표시됩니다.
- 통계를 확인할 간격을 선택합니다.
- 요청 수 카드에는 서비스에 도달하는 요청 수가 표시됩니다. 요청 수는 60초마다 샘플링되며 여러 HTTP 응답 코드로 분류됩니다(예: 2XX, 4XX, 5XX).
- 컨테이너 인스턴스 수 카드에는 지정된 시간에 배포된 인스턴스 수가 표시됩니다. 인스턴스 수가 구성된 최솟값보다 적은 경우 선택한 Google Cloud 리전에 리소스 가용성 문제가 있을 수 있습니다.
- 컨테이너 CPU 사용률 카드에는 서비스의 총 CPU 사용량이 표시됩니다. 인스턴스에서 CPU의 0.6(60%) 이상을 사용할 때 Cloud Run에서 더 많은 인스턴스를 만드는 방법을 관찰할 수 있습니다. 총 CPU 사용량이 계속해서 목표 기준점에 근접하거나 이를 초과하면 최소 인스턴스 수로는 충분하지 않은 것입니다.
이러한 그래프 또는 보고서가 우려되는 경우에는 동일한 설정을 유지하더라도 Cloud Run 사용자 인터페이스를 통해 새 버전을 배포하는 것이 좋습니다. 이렇게 하면 서버 측 태그 지정 환경이 재배포됩니다.
서비스가 실행되는 Google Cloud 리전(기본적으로 us-central1)에서 리소스 가용성 문제가 발생하는 경우가 있습니다. 클라우드 로깅(아래 참고) 및 Google Cloud 서비스 상태 대시보드를 통해 확인할 수 있습니다.
Cloud Logging
Cloud Run은 환경 상태에 대한 많은 유용한 정보를 Cloud Logging이라는 Google Cloud 서비스에 자동으로 기록합니다.
서비스 로그를 살펴보려면 로그 탐색기로 이동하세요.
- 통계를 확인할 기간을 선택합니다.
- 로그를 필터링하기 위한 쿼리를 입력합니다(아래의 유용한 쿼리를 참고하세요).
- 히스토그램을 설정하여 로그가 구성하는 심각도의 등급(예: 정보, 경고, 오류)을 빠르게 확인할 수 있습니다.
- 목록에서 로그를 클릭하여 항목에 대한 세부정보를 확인합니다.
다음은 설정을 모니터링하는 데 유용한 쿼리입니다.
시스템 오류 필터링
severity = "ERROR"
쿼리는 서비스 오류로 분류되는 로그 항목을 필터링합니다. 이 쿼리는 서비스 장애 또는 인스턴스 관련 문제가 발생한 것으로 의심될 때 유용합니다. 예를 들어 심각도가 ERROR
인 로그 항목에는 다음과 같은 설명이 있을 수 있습니다. ZONE_RESOURCE_POOL_EXHAUSTED
이 오류는 Google Cloud Platform에서 요구된 인스턴스를 제공할 수 없음을 의미합니다.
잘못된 HTTP 요청 필터링
httpRequest.status >= 400
쿼리는 로그를 필터링하여 서버 측 태그 관리자가 오류 상태(HTTP 상태 400 이상)로 응답한 HTTP 요청을 보여줍니다.
400 오류는 일반적으로 요청이 서버 측 태그 지정 엔드포인트로 전송되었지만 요청의 소유권을 주장할 클라이언트가 없음을 의미합니다. 봇 및 크롤러의 요청이 이에 해당하며 무시해도 됩니다. 하지만 데이터 스트림으로 인해 400 오류가 발생하면 서버 컨테이너 클라이언트의 구성을 확인해야 합니다.
5XX 오류는 Google Cloud 서비스 자체에 문제가 있음을 나타냅니다. 이는 상태 확인 실패 또는 부하 분산기 문제를 나타낼 수 있습니다. 환경에서 리소스 소진 문제가 발생하는 경우 일반적으로 이러한 5XX 오류도 더 많이 표시되기 시작합니다.
표준 출력 로그 필터링
logName: "stdout"
쿼리는 서비스의 표준 출력 로그를 반환합니다. 서버 측 리소스(클라이언트, 태그, 변수)에서 logToConsole 샌드박스 API를 사용해 관련 정보를 기록하는 경우 발생하는 유용한 로그입니다.
수신 HTTP 요청 필터링
logName: "logs/requests"
반환 로그는 실제 수신 HTTP 요청 자체를 위한 로그입니다. 셸 스크립트를 실행할 때 또는 다른 로그 필터를 추가하여 요청 로깅을 사용 중지하지 않은 경우에만 표시됩니다.
목록에서 관련 행을 클릭하여 요청 세부정보를 펼칠 수 있지만 HTTP 요청 본문은 로그에서 사용할 수 없습니다. 요청 URL과 추가 메타데이터만 표시됩니다. 요청이 POST
메서드를 사용하여 전송되는 경우, 예를 들어 콘텐츠가 요청 본문에 인코딩된 경우, 로그에서 해당 콘텐츠를 탐색할 수 없습니다.
이 학습 과정을 완료하신 것을 축하합니다.
설문조사에 참여하여 과정을 개선할 수 있도록 도와주세요.
이제 무엇을 해야 하나요?
아직 추가 태그를 구성해야 하는 경우 서버 측 태그 지정 문서를 확인하세요.
어디에서 지원을 받을 수 있나요?
측정 태그 구현과 관련하여 도움이 더 필요한 경우 Google 인증 파트너 또는 커뮤니티에 문의하세요.