피해야 할 패턴: Postgres 데이터베이스의 Apigee 소유 스키마에 커스텀 정보 추가

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

Edge API 분석은 Apigee Edge에서 제공하는 매우 강력한 기본 제공 기능입니다. API 전반에 걸쳐 전달되는 광범위한 데이터를 수집하고 분석합니다. 캡처된 분석 데이터는 매우 유용한 통찰력을 제공할 수 있습니다. 예를 들어 특정 기간의 API 트래픽 양 추세는 어떤가요? 가장 많이 사용되는 API는 무엇인가요? 어떤 API에서 오류율이 높은가요?

이러한 데이터와 통계를 정기적으로 분석하여 현재 사용량, 비즈니스 및 향후 투자 결정 등을 기준으로 API의 향후 용량 계획과 같은 적절한 조치를 취할 수 있습니다.

애널리틱스 데이터 및 스토리지

API 애널리틱스는 다음과 같은 다양한 유형의 데이터를 캡처합니다.

  • API에 관한 정보 - 요청 URI, 클라이언트 IP 주소, 응답 상태 코드 등
  • API 프록시 실적 - 성공/실패율, 요청 및 응답 처리 시간 등
  • 대상 서버 성능 - 성공/실패율, 처리 시간
  • 오류 정보 - 발생한 오류 수, 오류 코드, 실패 정책, Apigee 수, 대상 서버에서 발생한 오류입니다.
  • 기타 정보 - 개발자, 개발자 앱 등의 요청 수

이러한 모든 데이터는 Apigee Edge가 Postgres 데이터베이스 내에서 만들고 관리하는 analytics 스키마에 저장됩니다.

일반적으로 vanilla Edge 설치에서 Postgres는 다음과 같은 스키마를 가집니다.

analytics이라는 스키마는 Edge에서 각 조직 및 환경의 모든 분석 데이터를 저장하는 데 사용됩니다. 수익 창출이 설치되면 rkms 스키마가 표시됩니다. 다른 스키마는 Postgres 내부용입니다.

Apigee Edge가 런타임에 새 팩트 테이블을 동적으로 추가하므로 analytics 스키마가 계속 변경됩니다. Postgres 서버 구성요소는 Edge UI에 로드되고 표시되는 총괄 테이블로 팩트 데이터를 집계합니다.

안티패턴

SQL 쿼리를 사용하여 프라이빗 클라우드 환경의 Postgres 데이터베이스에 있는 Apigee 소유 스키마에 커스텀 열, 테이블 또는 뷰를 직접 추가하는 것은 부정적인 영향을 미칠 수 있으므로 권장하지 않습니다.

예를 통해 자세히 설명해 보겠습니다.

아래와 같이 애널리틱스 스키마 아래에 account이라는 커스텀 테이블이 생성되었다고 가정해 보겠습니다.

잠시 후 Apigee Edge를 하위 버전에서 높은 버전으로 업그레이드해야 한다고 가정해 보겠습니다. 프라이빗 클라우드 Apigee Edge를 업그레이드하려면 여러 다른 구성요소와 함께 Postgres를 업그레이드해야 합니다. Postgres 데이터베이스에 추가된 커스텀 열, 테이블 또는 뷰가 있는 경우 Apigee Edge에서 커스텀 객체를 생성하는 것이 아니므로 Postgres 업그레이드가 실패하며 이 객체를 참조하는 오류가 발생합니다. 따라서 Apigee Edge 업그레이드도 실패하여 완료할 수 없습니다.

마찬가지로, Postgres 데이터베이스를 포함한 Edge 구성요소의 백업 및 복원이 수행되는 Apigee Edge 유지보수 활동 중에도 오류가 발생할 수 있습니다.

영향

  • Apigee Edge에서 생성되지 않은 커스텀 객체를 참조하는 오류가 발생하여 Postgres 구성요소 업그레이드가 실패하므로 Apigee Edge 업그레이드를 완료할 수 없습니다.
  • Apigee 애널리틱스 서비스 유지보수(백업/복원)를 수행하는 동안 비일관성 및 장애 발생.

권장사항

  • 열, 테이블, 뷰, 함수, 절차 등의 커스텀 정보를 Apigee 소유 스키마(예: analytics 등)에 직접 추가하지 마세요.
  • 커스텀 정보를 지원해야 하는 경우 통계 수집기 정책을 사용하여 analytics 스키마에 커스텀 정보를 열 (필드)로 추가할 수 있습니다.

추가 자료