API 모니터링

이 페이지에서는 Cloud Endpoints가 자동으로 유지관리하는 로그와 측정항목을 사용하여 개발자가 소유한 API의 상태를 모니터링하는 방법을 설명합니다. 사용자가 개발자 API를 요청하면 Endpoints가 요청과 응답에 대한 정보를 로깅합니다. 또한 Endpoints는 모니터링의 4가지 황금 신호 중 3가지인 지연 시간, 트래픽, 오류를 추적합니다. 이러한 사용 및 성능 측정항목은 API를 모니터링하는 데 유용합니다.

시작하기 전에

보기용 로그와 측정항목을 생성하려면 API를 배포하고 해당 API에 요청을 보내야 합니다. 아직 아무 것도 설정하지 않았다면 Endpoints 빠른 시작을 사용해 보세요.

API 개요

서비스 문제를 디버깅하거나 전반적으로 문제는 없는지 확인하려면 API 개요로 이동합니다.

  1. Google Cloud Console에서 프로젝트의 Endpoints > 서비스 페이지로 이동합니다.

    Endpoints 서비스 페이지로 이동

  2. API가 2개 이상 있으면 모니터링하려는 항목을 선택합니다.

  3. 개요 탭이 표시되었는지 확인합니다.

그래프

증가나 감소를 바로 확인할 수 있도록 일부 측정항목의 그래프가 위쪽에 표시됩니다. 다음과 같은 작업을 수행할 수 있습니다.

  • 첫 번째 그래프의 오른쪽 위에서 그래프 선택 드롭다운 목록을 사용하여 관심이 있는 측정항목에 대한 그래프를 표시하고, 보고 싶지 않은 항목은 삭제할 수 있습니다. 드롭다운 목록에 있는 각 항목에는 물음표가 있습니다. 물음표 위로 마우스 포인터를 가져가면 해당 항목이 표시하는 측정항목에 대한 설명이 나타납니다.

  • 개요의 오른쪽 위에서는 여러 시간 범위를 선택하여 그래프를 조정할 수 있습니다. 그래프에 표시되는 값의 시간 범위가 조정되며 점 단위도 변경됩니다.

메서드 표

더 상세히 볼 준비가 되었으면 그래프 아래로 스크롤하여 API에 있는 개별 메서드에 대한 측정항목 표를 확인합니다.

  • 표 오른쪽 위에서 열 선택 드롭다운 목록을 사용하여 관심 있는 측정항목을 표시하고, 보고 싶지 않은 항목은 삭제합니다. 또한 항목에는 물음표가 있습니다. 물음표 위로 마우스 포인터를 가져가면 설명이 표시됩니다.

  • 개요 오른쪽 상단에서 기간 선택도구를 사용해서 표에 있는 측정항목-값에 대한 기간을 선택합니다. 그러면 그래프와 표 모두에 대해 하나의 기간이 선택됩니다.

로그

측정항목에서 문제를 발견하면 Google Cloud Console의 로그 뷰어 페이지로 이동하여 API에 대한 요청 및 응답 로그를 확인합니다.

  • API의 개별 메서드에 대한 로그를 확인하려면 표에서 로그 보기를 클릭합니다.

  • API의 모든 메서드에 대한 로그를 확인하려면 오른쪽 하단에서 모든 로그 보기를 클릭합니다.

  • 로그 뷰어 페이지에서 직접 Endpoints 로그를 찾으려면 다음 안내를 따르세요.

    1. Cloud Console에서 Stackdriver > 로깅 페이지로 이동합니다.

      로그 뷰어 페이지로 이동

    2. 생성된 API, SERVICE_NAME을 선택합니다. 여기에서 SERVICE_NAME은 Endpoints 서비스의 이름입니다.

로그 뷰어의 로그 구조에 대한 자세한 내용은 Endpoints 로그 참조를 확인하세요.

로그로 할 수 있는 다른 작업도 알아보세요.

  • 로그 뷰어를 사용합니다.
  • 로그 뷰어를 사용하여 로그를 내보냅니다. 이렇게 하면 추가 분석을 위해 로그를 BigQuery로 스트리밍하거나, 원본 로그를 Cloud Storage에 저장하거나, Pub/Sub 메시지 주제로 로그를 보낼 수 있습니다.
  • 고급 로그 필터를 사용하여 지연 시간이 300밀리초를 초과하는 모든 요청을 가져오는 등 확인하려는 로그 항목 집합을 지정할 수 있습니다.

특정 소비자 프로젝트를 위한 필터

특정 소비자 프로젝트의 측정항목을 확인하려면 API 소비자가 요청 시 API 키를 보내야 합니다. Endpoints는 API 키를 사용하여 호출하는 애플리케이션이 연결된 프로젝트를 식별하므로 API 소비자의 Google Cloud 프로젝트에 API 키가 생성되어 있어야 합니다. API 키를 사용하여 API에 대한 액세스를 제한하는 방법은 다음을 참조하세요.

특정 소비자 프로젝트의 측정항목을 필터링하려면 다음 안내를 따르세요.

  1. API 소비자 프로젝트의 프로젝트 번호를 가져옵니다. API 소비자 프로젝트에 액세스할 권한이 없는 경우 해당 권한이 있는 사용자에게 프로젝트 번호 확인을 요청하세요.

  2. Cloud Console에서 프로젝트의 Endpoints > 서비스 페이지로 이동합니다.

    Endpoints 서비스 페이지로 이동

  3. 개요 페이지의 왼쪽 상단에서 프로젝트 번호로 필터링 필드에 프로젝트 번호를 입력합니다.

  4. 필터를 클릭합니다.

지정한 프로젝트의 트래픽만 반영하도록 페이지의 측정항목이 업데이트됩니다.

알림

Endpoints에서 수집한 측정항목은 Cloud Monitoring에서도 사용할 수 있습니다. Monitoring을 사용하여 지연 시간, 트래픽, 오류에 대한 알림을 설정할 수 있습니다. Endpoints 측정항목을 사용하여 알림을 설정할 수 없는 골든 신호는 포화도뿐입니다. 포화도를 모니터링하는 데 필요한 측정항목은 애플리케이션에 따라 다릅니다. 포화도에 대한 알림을 설정하는 데 사용할 수 있는 측정항목에 대해서는 Cloud Monitoring에서 사용할 수 있는 측정항목 목록을 참조하세요.

알림을 설정하려면 다음 안내를 따르세요.

  1. 프로젝트에 사용할 작업공간이 아직 없으면 작업공간을 하나 만듭니다. Endpoints에서 모니터링되는 API를 포함하는 프로젝트 ID가 계정과 연결되어 있는지 확인합니다.

  2. 다음을 사용하여 골든 신호에 대한 알림을 설정하기 위한 알림 정책을 만듭니다.

    • 지연 시간

      1. 조건 유형Metric Threshold를 입력합니다.
      2. 리소스 유형Produced API를 입력합니다.
      3. 측정항목에 Request latencies를 입력합니다.
      4. 알림을 실행할 임계값을 입력하고 알림 가이드의 나머지 안내를 따릅니다.
    • 트래픽

      1. 조건 유형Metric Threshold를 입력합니다.
      2. 리소스 유형Produced API를 입력합니다.
      3. 측정항목에 Request count를 입력합니다.
      4. 알림을 실행할 임계값을 입력하고 알림 가이드의 나머지 안내를 따릅니다.
    • 오류

      1. 조건 유형Metric Threshold를 입력합니다.
      2. 리소스 유형Produced API를 입력합니다.
      3. 측정항목에 Request count를 입력합니다.
      4. response-code-class에 5xx를 입력합니다.
      5. 알림을 실행할 임계값을 입력하고 알림 가이드의 나머지 안내를 따릅니다.

다음 단계