API 애널리틱스 개요

현재 Apigee Edge 문서가 표시되고 있습니다.
Apigee X 문서로 이동
정보

이 주제에서는 Edge API 분석을 소개합니다.

동영상: Edge API Analytics 서비스 개요를 보여주는 짧은 동영상을 시청하세요.

분석을 통한 API 개선

Edge API 애널리틱스는 API 프록시를 통해 전달되는 다양한 정보를 수집하고 계산합니다. Edge UI의 그래프 및 차트로 이 데이터를 시각화하거나 Edge 관리 API를 사용하여 오프라인 분석을 위해 원시 데이터를 다운로드할 수 있습니다.

애널리틱스를 통해 다음과 같은 일반적인 질문에 대한 답을 찾을 수 있습니다.

  • 시간 경과에 따른 API 트래픽의 추세는 어떻게 되나요?
  • 가장 인기 있는 API 메서드는 무엇인가요?
  • 최고의 개발자는 누구인가요?
  • API 응답 시간은 언제 가장 빠르고 언제 가장 느리나요?
  • API 트래픽이 가장 많은 지역은 어디인가?

이러한 질문에 대한 답변은 API를 개선하고, 문제를 해결하고, API 프로그램과 관련된 더 나은 비즈니스 의사결정을 내리는 데 도움이 됩니다.

API 분석을 통한 개선

Edge API 분석은 데이터를 수집, 분석, 시각화하는 지속적인 프로세스를 통해 API팀이 API를 개선하고 앱 개발자가 앱을 개선하는 데 도움이 됩니다.

alt_text
  • API팀 - API팀이 내부 시스템을 활용하여 흥미로운 API를 생성하고 있습니다. API팀은 API 프로그램의 전반적인 작동 방식, 개별 API의 작동 방식, API 개선 방법을 알고 싶어합니다.
  • 앱 개발자 - 앱 개발자와 분석 정보를 공유하면 더 나은 앱을 만들 수 있습니다. 이러한 개발자는 API로 혁신하고 기업의 수익을 늘리는 데 유용한 독창적인 앱을 빌드하고 있습니다. 애널리틱스를 통해 앱 개발자는 앱이 얼마나 잘 작동하는지, 기업의 수익에 어느 정도 기여하는지 파악할 수 있습니다. 앱 개발자는 앱을 어떻게 개선할 수 있는지 확인하려고 합니다.
  • 운영팀 - 운영팀은 트래픽 패턴을 이해하고 백엔드 리소스를 추가하거나 다른 중요한 부분을 조정해야 하는 시기를 예측하려고 합니다.
  • 비즈니스 소유자- 비즈니스 소유자는 API 투자가 어떻게 성과를 올리고 앞으로 어디에 API 비용을 투자할지를 확인하려고 합니다.

어떤 종류의 데이터를 수집하고 분석하나요?

Edge API 애널리틱스는 다음과 같은 API 프록시 전반에서 전송되는 다양한 데이터를 수집하고 분석합니다.

  • 응답 시간
  • 요청 지연 시간
  • 요청 크기
  • 대상 오류
  • API 제품 이름
  • 개발자 이메일 주소
  • 앱 이름
  • 기타 다수

API 애널리틱스에서 수집한 데이터의 전체 목록은 애널리틱스 측정항목, 측정기준, 필터 참조를 확인하세요.

커스텀 분석 데이터는 어떻게 수집하나요?

Edge는 기본적으로 풍부한 데이터를 수집합니다. API 프록시, 앱, 제품 또는 개발자 전용 커스텀 분석 데이터를 수집할 수도 있습니다. 예를 들어 쿼리 매개변수, 요청 헤더, 요청 및 응답 본문, 그리고 API에서 정의한 변수에서 분석 데이터를 수집하려 할 수 있습니다.

StatisticsCollector 정책을 사용하여 커스텀 애널리틱스 데이터를 수집합니다. 커스텀 데이터가 추출되면 애널리틱스 UI 또는 API를 사용하여 데이터를 검사할 수 있습니다. 커스텀 분석 데이터를 수집하는 방법을 보여주는 전체 예시는 커스텀 분석을 사용하여 API 메시지 콘텐츠 분석을 참조하세요.

애널리틱스 데이터와 API 모니터링 데이터의 차이점

이 섹션에서는 Edge 애널리틱스와 API 모니터링에서 수집하는 데이터 간의 사소한 차이점을 설명합니다. API 모니터링과 애널리틱스는 서로 다른 데이터 파이프라인을 사용하므로 Monitoring에서 생성된 커스텀 보고서와 애널리틱스에서 생성된 보고서 사이에 약간의 차이가 있을 수 있습니다. 예를 들어 시간 제한 오류(요청의 HTTP 상태 코드 504)와 클라이언트 제한 시간 (HTTP 상태 코드 499) 모두 시간 초과 오류에 대해 보고된 결과에 불일치가 나타날 수 있습니다. 애널리틱스 맞춤 보고서에는 상태 코드 200으로 표시될 수 있지만 Monitoring 맞춤 보고서에는 상태 코드 504 또는 499로 표시됩니다.

내 분석 데이터는 언제 얼마 동안 이용할 수 있나요?

분석 데이터를 확인할 수 있는 시간과 기간을 제어하는 시간 간격은 두 가지입니다.

  • 데이터 지연 간격 - API 프록시를 호출한 후 디스플레이에서 또는 관리 API 호출을 통해 데이터에 액세스할 수 있기까지 최대 10분이 걸릴 수 있습니다.
  • 데이터 보관 - Edge에서 분석 데이터를 보유하는 기간은 요금제별로 다릅니다. 요금제에 따라 지난 30일, 60일, 90일 또는 365일 동안 분석 데이터를 사용할 수 있습니다.

내 분석 데이터에 액세스하려면 어떻게 해야 하나요?

Edge API 애널리틱스는 Edge UI에 내장된 데이터 시각화 도구를 제공합니다. 이러한 도구에는 그래프 및 차트에 데이터를 표시하고 다양한 측정기준(예: API 프록시, IP 주소 또는 HTTP 상태 코드)으로 그룹화된 데이터를 볼 수 있는 사전 정의된 분석 대시보드와 커스텀 보고서가 포함되어 있습니다.

또한 Edge Management API를 사용하여 분석 데이터를 다운로드할 수 있습니다. 다운로드가 완료되면 데이터를 데이터 시각화 도구 또는 분석 시스템으로 가져올 수 있습니다.

분석 대시보드

Edge UI는 분석 데이터를 보는 데 사용할 수 있는 사전 정의된 대시보드 집합을 제공합니다. 예를 들어 다음 이미지는 프록시 성능 대시보드를 보여줍니다.

이 대시보드에는 다음 차트가 포함됩니다.

  • 총 트래픽 - 조직의 API 환경에 대해 Edge에서 수신한 총 API 요청 수입니다.
  • 트래픽 성공 - 성공적인 응답을 얻은 총 요청 수입니다. 오류 응답은 계산에 포함되지 않습니다.
  • 트래픽 오류 - 요청에 대한 응답이 전달되지 않아 실패한 모든 API 요청의 총 개수입니다. 개수에는 프록시 오류(Apigee 측)와 대상 오류(백엔드 서비스)가 모두 포함됩니다.
  • 평균 TPS - API 요청과 그에 따른 응답의 초당 평균 개수입니다.

추가적인 사전 정의된 대시보드에는 다음이 포함됩니다.

이러한 사전 정의된 대시보드에 대한 자세한 내용은 분석 대시보드 사용을 참조하세요.

커스텀 보고서

커스텀 보고서를 통해 특정 API 측정항목을 자세히 살펴보고 확인하려는 정확한 데이터를 확인할 수 있습니다. Edge에 내장된 애널리틱스 데이터 또는 StatisticsCollector 정책으로 수집된 커스텀 애널리틱스 데이터를 사용하여 커스텀 보고서를 만들 수 있습니다.

커스텀 보고서를 만들 때 확인하려는 데이터를 선택하고(측정항목), 의미 있는 방식으로 데이터를 그룹화하고(측정기준), 원하는 경우 데이터의 특정 특성을 기반으로 반환되는 데이터를 선택적으로 제한합니다(필터링).

커스텀 보고서에 표시되는 차트 유형을 열 또는 선 차트로 설정할 수도 있습니다. 다음 이미지는 API 프록시별로 그룹화된 초당 트랜잭션의 차트 예시입니다.

  • 열 - 각 API 프록시는 서로 다른 열로 표시됩니다.

    커스텀 열 차트

  • 선 - 각 API 프록시는 다른 선으로 표시됩니다.

    커스텀 선 차트

자세한 내용은 커스텀 보고서 만들기 및 관리를 참조하세요.

Analytics API

Edge management API를 사용하여 분석 데이터를 다운로드합니다. 예를 들어 API를 사용하여 포털 또는 커스텀 앱에 삽입할 수 있는 자체 시각화 도구를 빌드할 수 있습니다.

다음은 API 프록시용 분석 데이터를 가져오기 위한 API 호출의 예시입니다.

curl  https://api.enterprise.apigee.com/v1/o/org_name/environments/test/stats/apiproxy?"select=sum(message_count)&timeRange=6/24/2018%2000:00~6/24/2018%2023:59&timeUnit=hour" \
-u email:password

이 호출은 다음을 반환합니다.

  • API 프록시당 요청(메시지 수)의 합계
  • 24시간
  • 시간별로 그룹화

timeRange 쿼리 매개변수는 다음 형식으로 기간을 지정합니다.

?timeRange=MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM

HH:MM 전에 %20을 확인하세요. MM/DD/YYYY+HH:MM~MM/DD/YYYY+HH:MM과 같이 timeRange 매개변수에는 URL 인코딩 공백 문자가 HH:MM 또는 + 문자 앞에 있어야 합니다.

자세한 내용은 측정항목 API 사용을 통해 API 프로그램 성능을 측정하세요.

Google Cloud로 분석 데이터 내보내기

Edge Management API를 사용하여 하루 종일 모든 분석 데이터를 Edge에서 Google Cloud Storage 또는 BigQuery와 같은 자체 데이터 저장소로 내보낼 수 있습니다. 그런 다음 Google BigQuery 및 TensorFlow에서 제공하는 강력한 쿼리 및 머신러닝 기능을 활용하여 자체 데이터 분석을 수행할 수 있습니다.

자세한 내용은 애널리틱스에서 데이터 내보내기를 참고하세요.

앱 개발자와 데이터를 공유하려면 어떻게 해야 하나요?

고객의 관점에서 생각할 때 앱 개발자는 API를 최대한 활용할 수 있도록 도구와 정보를 제공하는 것이 좋습니다.

alt_text

앱 개발자는 앱 품질뿐 아니라 API에 관심이 있습니다. Drupal 기반 개발자 포털에는 앱 개발자가 앱의 중요한 측정항목에 액세스할 수 있도록 설계된 선택적 앱 성능 페이지가 포함되어 있습니다. 이 페이지에서는 개발자에게 다음 정보를 제공합니다.

  • 오류: 내 앱에 어떤 API 오류가 표시되나요?
  • 성능: 지금 API가 느린가요? 현재 특히 느리거나 속도가 저하된 API 메서드는 무엇인가요?
  • 가용성: 현재 API가 사용 중인지, 아니면 사용 중지되었나요?
  • 할당량: API에 할당량이 있나요? 앱 개발자로서 할당량에 대해 어떻게 해야 하나요?

자세한 내용은 다음을 참고하세요.

또한, 다음과 같은 방법으로 개발자와 분석을 공유할 수 있습니다.

완전한 분석 데이터를 생성하려면 어떻게 해야 하나요?

완전한 분석이란 무엇을 의미하나요? 예를 들어 API 프록시를 만들면 Edge에서 해당 프록시에 대한 분석 데이터를 수집합니다. 하지만 API 프록시라고 하는 개발자 또는 앱의 측정항목은 어떤가요? Edge에서 누가 API를 호출했는지 알 수 없는 경우 해당 데이터를 수집할 수 없습니다.

Edge가 API 프록시를 호출하는 개발자와 개발자 앱을 파악할 수 있으려면 몇 가지 단계가 필요합니다. 다음은 더 자세한 정보에 대한 링크가 있는 단계의 목록입니다.

  1. 서비스 요금제와 함께 API 프록시를 그룹화한 API 제품을 하나 이상 만듭니다. API 제품 관리를 참조하세요.
  2. Edge에 앱 개발자를 등록합니다. 앱 개발자 등록을 참조하세요.
  3. 앱을 등록하고 개발자를 위한 API 키를 생성합니다. 앱 등록 및 API 키 관리를 참고하세요.
  4. API 키 또는 보안 토큰을 확인하는 API 프록시에 보안 정책을 추가합니다. 다음 API 키 정책 확인, OAuthV2 정책, JWT 정책 확인 주제를 참조하세요.
  5. Edge Microgateway를 사용하는 경우 애널리틱스 플러그인을 사용 설정했는지 확인합니다(기본적으로 사용 설정됨). 분석 플러그인이 사용 중지된 경우 Edge Micro Gateway는 Edge 애널리틱스로 분석 데이터를 전송하지 않습니다.

다음 튜토리얼에서는 개발자 및 앱에 대한 분석을 확인할 수 있는 필수 단계인 API 키를 요구하여 API 보호OAuth로 API 보호를 안내합니다.

API 분석과 API 모니터링 비교

Edge API 모니터링 및 API 분석을 모두 활용할 수 있습니다. API Monitoring은 분석 데이터를 검사하여 API 성능에 대한 유용한 정보를 실시간으로 제공하므로 문제를 빠르게 진단하고 비즈니스 연속성을 위한 해결 조치를 쉽게 수행할 수 있습니다. API 모니터링은 API와 백엔드의 문제점을 신속하게 찾을 수 있도록 설계되었습니다. API 분석은 여러 팀에서 사용할 수 있도록 광범위한 분석 데이터를 캡처하도록 설계되었지만 일반적으로 실시간이 아닌 시나리오의 분석에 사용됩니다.

API 모니터링과 API 애널리틱스의 주요 차이점 중 하나는 API 모니터링에 기본 제공되는 알림 메커니즘입니다. 알림을 사용하여 HTTP 상태 코드 (2xx/4xx/5xx), 지연 시간 또는 오류 코드 기준을 지정할 수 있으며 이를 초과하면 운영팀에 알림이 전송됩니다. 이메일, Slack, 페이저, 웹훅과 같은 다양한 채널을 통해 알림을 전송할 수 있으므로 문제에 즉시 대응할 수 있습니다.

이러한 서비스 간의 자세한 비교는 API Monitoring과 Edge API 분석 비교를 참조하세요.

추가 정보