アンチパターン: Postgres データベースの Apigee 所有スキーマにカスタム情報を追加する

Edge for Private Cloud でのみ利用可能

Edge API Analytics は、Apigee Edge が提供する非常に強力な組み込み機能です。API を介して送受信されるさまざまなデータを収集して、分析します。キャプチャされた分析データは、非常に有用な情報を提供できます。たとえば、API トラフィックの量は一定期間にわたってどのように傾向を示しているのか。最も使用されている API はどれか。エラー率が高い API はどれかといったことです。

このデータと情報を定期的に分析して、現在の使用状況、ビジネスおよび将来の投資決定などに基づく API の将来のキャパシティプ ランニングなどの適切なアクションを実行できます。

分析データとその保存

API Analytics は、次のようなさまざまなタイプのデータを収集します。

  • API に関する情報 - リクエスト URI、クライアント IP アドレス、レスポンス ステータス コードなど
  • API プロキシのパフォーマンス - 成功 / 失敗率、リクエストとレスポンスの処理時間など
  • ターゲット サーバーのパフォーマンス - 成功 / 失敗率、処理時間
  • エラー情報 - エラーの数、障害コード、失敗したポリシー、エラーを起こした Apigee およびターゲット サーバーの数
  • その他の情報 - デベロッパー、デベロッパー アプリなどが行ったリクエストの数

これらのデータはすべて、Apigee Edge によって Postgres データベース内で作成および管理される analytics スキーマに保存されます。

通常、標準の Edge のインストールでは、Postgres には次のスキーマがあります。

analytics という名前のスキーマは、各組織および環境のすべての分析データを保存するために Edge によって使用されます。Monetization がインストールされている場合、rkms スキーマがあります。他のスキーマは、Postgres 内部用です。

Apigee Edge がランタイムに新しいファクト テーブルを動的に追加するため、analytics スキーマは常に変化します。Postgres サーバー コンポーネントは、ファクトデータをサマリー表に集約し、Edge UI にロードして表示します。

アンチパターン

Private Cloud 環境の Postgres データベースにある Apigee が所有するスキーマに、SQL クエリを使用してカスタムの列、テーブル、ビューを直接追加することは、好ましくない影響があるため、おすすめできません。

これを詳細に説明する例を見てみましょう。

以下に示すように、account という名前のカスタム テーブルが分析スキーマの下に作成されているとします。

しばらくして、Apigee Edge を下位バージョンから上位バージョンにアップグレードする必要があるとしましょう。Private Cloud Apigee Edge のアップグレードには、他の多くのコンポーネントの中で Postgres をアップグレードすることが含まれます。Postgres データベースに追加されたカスタムの列、テーブル、またはビューがある場合、Postgres のアップグレードは、Apigee Edge が作成したものではないカスタム オブジェクトを参照するエラーによって失敗します。したがって、Apigee Edge のアップグレードも失敗し、完了できません。

同様に、Apigee Edge のメンテナンス作業中にエラーが発生する可能性があります。ここでは Postgres データベースを含む Edge コンポーネントのバックアップと復元が実行されます。

影響

  • Apigee Edge が作成したものではないカスタム オブジェクトを参照するエラーによって Postgres コンポーネントのアップグレードが失敗するため、Apigee Edge のアップグレードを完了できません。
  • Apigee Analytics サービス メンテナンス(バックアップ / 復元)の実行中の不整合(および障害)。

ベスト プラクティス

  • 列、テーブル、ビュー、関数、およびプロシージャの形式のカスタム情報を、analytics などの Apigee が所有するスキーマに直接追加しないでください。
  • カスタム情報をサポートする必要がある場合、Statistics Collector ポリシーを使用して analytics スキーマに列(フィールド)として追加できます。

関連情報