地域別集計と GeoMap の有効化

Edge for Private Cloud v4.18.01

地域別集計を使用すると、地域、大陸、国、都市などの地理的属性に基づいて API 呼び出しの分析データを収集できます。この分析データから、API リクエストの場所を示す GeoMap を Edge UI に表示できます。

地域別集計では、サードパーティのデータベースから地理データを抽出し、Edge によって収集された分析データに加えます。地理情報には、API プロキシに対するリクエストの都市、国、大陸、タイムゾーン、リージョンなどを含めることができます。

地域別集計を使用するには、この地理情報が含まれている MaxMind GeoIP2 データベースを購入する必要があります。詳細については、https://www.maxmind.com/en/geoip2-databases をご覧ください。

地域別集計の有効化

デフォルトでは、地域別集計は有効になっていません。地域別集計を有効にするには、以下を行う必要があります。

  • すべての Qpid サーバーに MaxMind データベースをインストールし、それを使用するように Qpid サーバーを構成します。
  • Edge UI で GeoMap の表示を有効にします。

すべての Edge Qpid サーバーに MaxMind データベースをインストールする

次の手順で、すべての Edge Qpid サーバーに MaxMind データベースをインストールします。

  1. Maxmind GeoIP2 データベースを取得します。
    : 地域別集計は、サードパーティのデータベースから地理データを Edge で収集した分析データに追加することで機能します。地域別集計を使用するには、この情報が含まれている MaxMind GeoIP2 データベースを購入する必要があります。詳細については、https://www.maxmind.com/en/geoip2-databases をご覧ください。
  2. Qpid サーバーノードに次のフォルダを作成します。
    /opt/apigee/maxmind
  3. Maxmind GeoIp2 データベースを /opt/apigee/maxmind にダウンロードします。
  4. データベース ファイルの所有権を「apigee」ユーザーに変更します。
    > chown apigee:apigee /opt/apigee/maxmind/GeoIP2-City_20160127.mmdb
  5. データベースの権限を 744 に設定します。
    > chmod 744 /opt/apigee/maxmind/GeoIP2-City_20160127.mmdb
  6. /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




    このデータベース ファイルにはバージョン番号が含まれています。後で更新されたデータベース ファイルを受け取った場合は、バージョン番号が異なる可能性があります。別の方法として、データベース ファイルへのシンボリック リンクを作成し、qpid-server.properties のシンボリック リンクを使用します。

    たとえば、「GeoIP2-City_current.mmdb」というシンボリック リンクを「GeoIP2-City_20160127.mmdb」に作成します。後でファイル名が異なる新しいデータベースを受け取った場合は、Qpid サーバーを再構成して再起動する代わりに、シンボリック リンクを更新するだけで済みます。
  7. qpid-server.properties ファイルの所有権を「apigee」ユーザーに変更します。
    > chown apigee:apigee /opt/apigee/customer/application/qpid-server.properties
  8. Qpid サーバーを再起動します。
    > /opt/apigee/bin/apigee-service/bin/apigee-service edge-qpid-server restart
  9. すべての Qpid ノードでこのプロセスを繰り返します。
  10. 地域別集計が機能していることを確認するには:
    1. サンプル API プロキシで複数の API プロキシ呼び出しをトリガーします。
    2. 集計が完了するまで 5 ~ 10 分ほど待ちます。
    3. コンソールを開いて、Edge Postgres サーバーに接続します。
      > psql -h /opt/apigee/var/run/apigee-postgresql/ -U apigee -d apigee
    4. テーブル analytics.agg_geo に対して SELECT クエリを実行して、地理的属性を含む行を表示します。
      apigee=# select * from analytics.agg_geo;

      Maxmind GeoIp2 データベースから抽出された次の列が、ax_geo_city、ax_geo_timezone、ax_geo_region、ax_geo_region.ax_geo_region.ax_geo_region.ax_geo_region.

      agg_geo テーブルにデータが挿入されない場合は、/opt/apigee/var/log/edge-qpid-server/logs/ にある Qpid サーバーのログで例外がないか調べます。

Edge UI で GeoMap を有効にする

Edge UI で GeoMap を有効にするには、次の手順を使用します。

  1. /opt/apigee/customer/application/ui.properties に次のトークンを設定して、GeoMap を有効にします。このファイルが存在しない場合は作成します。
    conf_apigee_apigee.feature.disablegeomap=false
  2. ui.properties ファイルの所有権を「apigee」ユーザーに変更します。
    > chown apigee:apigee /opt/apigee/customer/application/ui.properties
  3. Edge UI を再起動します。
    > /opt/apigee/bin/apigee-service/bin/apigee-service edge-ui restart
  4. Edge UI で、[Analytics] > [GeoMap] を選択して、地域別集計データを表示します。

MaxMind GeoIp2 データベースの更新

MaxMind は、Maxmind GeoIP2 データベースを定期的に更新します。更新されたデータベースを受け取った場合は、次の手順で Edge にインストールします。

  1. 更新された Maxmind GeoIP2 データベースを取得します。
  2. Maxmind GeoIp2 データベースを /opt/apigee/maxmind にダウンロードします。
  3. データベース ファイルの名前を確認します。古いファイルが ?/opt/apigee/customer/application/qpid-server.properties で定義されている場合は、次のステップに進みます。ただし、ファイルの名前が異なる場合は、qpid-server.properties ファイルを編集して新しいデータベース ファイルの名前を指定して、前述のように Qpid サーバーを再起動する必要があります。

    代わりに、ファイルへのシンボリック リンクを作成できます。たとえば、「GeoIP2-City-current.mmdb」というシンボリック リンクを「GeoIP2-City_20160127.mmdb」に作成します。後でファイル名が異なる新しいデータベースを受け取った場合は、Qpid サーバーを再構成することなく、シンボリック リンクを更新するだけで済みます。
  4. データベース ファイルの所有権を「apigee」ユーザーに変更します。
    > chown apigee:apigee /opt/apigee/maxmind/GeoIP2-City_20160127.mmdb
  5. データベースの権限を 744 に設定します。
    > chmod 744 /opt/apigee/maxmind/GeoIP2-City_20160127.mmdb
  6. Qpid サーバーを再起動します。
    > /opt/apigee/bin/apigee-service/bin/apigee-service edge-qpid-server restart
  7. すべての Qpid ノードでこのプロセスを繰り返します。