地域別集計を使用すると、地域、大陸、国、都市などの地理的属性に基づいて API 呼び出しの分析データを収集できます。この分析データから、API リクエストのロケーションを示す GeoMap を Edge UI に表示できます。
地域別集計では、サードパーティのデータベースから地理データを抽出し、Edge が収集した分析データに追加します。地理情報には、API プロキシに対して行われたリクエストの都市、国、大陸、タイムゾーン、地域が含まれます。
地域別集計を使用するには、この地理情報が含まれている MaxMind GeoIP2 データベースを購入する必要があります。詳細については、https://www.maxmind.com/en/geoip2-databases をご覧ください。
地域別集計の有効化
デフォルトでは、地域別の集計は有効になっていません。地域別集計を有効にするには、次のことを行う必要があります。
- すべての Qpid サーバーに MaxMind データベースをインストールし、それを使用するように Qpid サーバーを構成します。
- Edge UI で地図表示を有効にします。
すべての Edge Qpid サーバーに MaxMind データベースをインストールする
次の手順で、すべての Edge Qpid サーバーに MaxMind データベースをインストールします。
- MaxMind GeoIP2 データベースを取得します。
- Qpid サーバーノードに次のフォルダを作成します。
/opt/apigee/maxmind
- MaxMind GeoIP2 データベースを
/opt/apigee/maxmind
にダウンロードします。 - データベース ファイルの所有者を「apigee」ユーザーに変更します。
chown apigee:apigee /opt/apigee/maxmind/GeoIP2-City_20160127.mmdb
- データベースに対する権限を 744 に設定します。
chmod 744 /opt/apigee/maxmind/GeoIP2-City_20160127.mmdb
/opt/apigee/customer/application/qpid-server.properties
で次のトークンを設定します。 このファイルが存在しない場合は作成します。conf_ingestboot-service_vdim.geo.ingest.enabled=true conf_ingestboot-service_vdim.geo.maxmind.db.path=/opt/apigee/maxmind/GeoIP2-City_20160127.mmdb
MaxMind GeoIP2 データベースを別の場所に保存した場合は、それに応じて path プロパティを編集します。
このデータベース ファイルにはバージョン番号が含まれています。後で更新されたデータベース ファイルを受け取った場合は、バージョン番号が異なる可能性があります。または、データベース ファイルへのシンボリック リンクを作成し、
qpid-server.properties
のシンボリック リンクを使用します。たとえば、「GeoIP2-City-current.mmdb」と「GeoIP2-City_20160127.mmdb」のシンボリック リンクを作成します。後で別のファイル名の新しいデータベースを受け取った場合は、Qpid サーバーを再構成して再起動するのではなく、シンボリック リンクを更新するだけで済みます。
qpid-server.properties
ファイルの所有権を「apigee」ユーザーに変更します。chown apigee:apigee /opt/apigee/customer/application/qpid-server.properties
- Qpid サーバーを再起動します。
/opt/apigee/bin/apigee-service/bin/apigee-service edge-qpid-server restart
- Qpid ノードごとにこのプロセスを繰り返します。
- 地域別集計が機能していることを確認するには:
- サンプル API プロキシで複数の API プロキシ呼び出しをトリガーします。
- 集計が完了するまで 5 ~ 10 分ほど待ちます。
- コンソールを開いて Edge Postgres サーバーに接続します。
psql -h /opt/apigee/var/run/apigee-postgresql/ -U apigee -d apigee
- テーブル analytics.agg_geo に対して SELECT クエリを実行し、地理的属性を含む行を表示します。
select * from analytics.agg_geo;
クエリ結果に MaxMind GeoIP2 データベース
ax_geo_city, ax_geo_country, ax_geo_continent, ax_geo_timezone, ax_geo_region
から抽出された列が表示されます。agg_geo
テーブルにデータが入力されない場合は、潜在的な例外を検出するため、/opt/apigee/var/log/edge-qpid-server/logs/
の Qpid サーバーログを確認します。
Edge UI で GeoMap を有効にする
Edge UI で GeoMap を有効にする手順は次のとおりです。
- 地図を有効にするには、
/opt/apigee/customer/application/ui.properties
で次のトークンを設定します。このファイルが存在しない場合は作成します。conf_apigee_apigee.feature.disablegeomap=false
- ui.properties ファイルの所有権を「apigee」ユーザーに変更します。
chown apigee:apigee /opt/apigee/customer/application/ui.properties
- Edge UI を再起動します。
/opt/apigee/bin/apigee-service/bin/apigee-service edge-ui restart
- Edge UI で [Analytics] > [GeoMap] を選択し、地域別集計データを表示します。
MaxMind GeoIP2 データベースの更新
MaxMind は MaxMind GeoIP2 データベースを定期的に更新します。更新されたデータベースを受け取った場合は、次の手順で Edge にインストールします。
- 更新された MaxMind GeoIP2 データベースを取得します。
- MaxMind GeoIP2 データベースを
/opt/apigee/maxmind
にダウンロードします。 - データベース ファイルの名前を確認します。
/opt/apigee/customer/application/qpid-server.properties
で定義されている古いファイルと同じ場合は、次の手順に進みます。 ただし、ファイル名が異なる場合は、上記のようにqpid-server.properties
ファイルを編集して新しいデータベース ファイルの名前を指定し、Qpid サーバーを再起動する必要があります。別の方法として、ファイルへのシンボリック リンクを作成することもできます。たとえば、「GeoIP2-City-current.mmdb」と「GeoIP2-City_20160127.mmdb」のシンボリック リンクを作成します。後で別のファイル名の新しいデータベースを受け取った場合は、Qpid サーバーを再構成するのではなく、シンボリック リンクを更新するだけで済みます。
- データベース ファイルの所有者を「apigee」ユーザーに変更します。
chown apigee:apigee /opt/apigee/maxmind/GeoIP2-City_20160127.mmdb
- データベースに対する権限を 744 に設定します。
chmod 744 /opt/apigee/maxmind/GeoIP2-City_20160127.mmdb
- Qpid サーバーを再起動します。
/opt/apigee/bin/apigee-service/bin/apigee-service edge-qpid-server restart
- Qpid ノードごとにこのプロセスを繰り返します。