Download PDF
Download page ブラウザRUM用カスタムGeoサーバーのインストールおよびホスト.
ブラウザRUM用カスタムGeoサーバーのインストールおよびホスト
Related pages:
デフォルトでは、エンドユーザーの位置は公開地理データベースを使用して解決されます。AppDynamicsがホストしているデフォルトのGeoサーバーの代わりに、ユーザーの国、地域、都市用の別のGeoサーバーをホストすることもできます。
以下の場合は、独自のGeoサーバーをホスティングすることをお勧めします。
- 意味のある位置情報が、パブリックIPアドレスからではなくユーザーのプライベートIPアドレスから得られるようなイントラネットアプリケーションがある場合。
- プライベートな場所からアクセスするユーザーと、パブリックな場所からアクセスするユーザーが混在するハイブリッドアプリケーションがある場合。カスタムGeoサーバーでマップされている特定のプライベートIP範囲以外からユーザーがアクセスしているときに、デフォルトで公開Geoサーバーが使用されるようにシステムを設定できます。
Geo サーバホストの要件
- 2 GB のメモリ
- Java 8.x
Geoサーバーファイルのダウンロードとインストール
AppDynamics(https://download.appdynamics.com/download)から GeoServer.zip
ファイルをダウンロードします。
その zip ファイルを GeoServer
フォルダに以下の構成で解凍します。
├── GeoServer
├── schema.xsd <-- schema for geo-ip-mapping.xml configuration
├── geo
│ ├── WEB-INF
│ │ ├── classes
│ │ │ ├── logback.xml <-- configure logging in here
│ │ │ └── ...
│ │ ├── web.xml <-- other configurations here
│ │ └── ...
| ├── geo-ip-mappings.xml <-- configure geo ip mapping here
└── ...
Geo サーバをインストールするには、Tomcat サーバの TOMCAT_HOME/webapps
に geo
フォルダをコピーします。コントローラと同じコンテナにサーバをデプロイしないでください。
Geoサーバーの場所の設定
コントローラ UI の [Browser RUM] 構成画面にある [Geo Server URL] フィールドに、ホストされている Geo サーバの URL(コンテキストルートを含む)を入力します(下図を参照)。
JavaScript エージェントに対して手動インジェクションを使用している場合、使用しているスクリプトのコピーは、この URL が設定された後にダウンロードしたスクリプトである必要があります。
IPマッピングファイルの作成
IP マッピングファイル geo-ip-mappings.xml
では、ブラウザ RUM が地理データを提供する場所が指定されています。IP アドレスが地理的な場所にマップされています。
geo
サブディレクトリにあるサンプルファイルをテンプレートとして使用します。実行時の変更は再起動しなくても再ロードされます。
このファイルには、モニタリング対象となる各場所に対して 1 つの <mapping>
要素があります。このファイルの形式は次のとおりです。
<mappings> <mapping> <subnet from="192.168.1.1" mask="255.255.255.0"/> <location country="United States" region="California" city="San Francisco"/> </mapping> <default country="United States" region="California" city="San Francisco"/> </mappings>
サブネットベースではなくIP範囲ベースのマッピングも使用できます。
<mapping> <ip-range from="10.240.1.1" to="10.240.1.254"/> <location country="France" region="Nord-Pas-de-Calais" city="ENGLOS"/> </mapping>
このデータはブラウザスナップショットで表示され、特定の場所のブラウザスナップショットをフィルタするのに使用できます。<country>
、<region>
、および <city>
要素は必須です。country と region の値が地理データベースですでに定義されている実際の地理的場所と一致しない場合、その場所のマップサポートはマップパネルでは利用できませんが、地理的分布、エンドユーザ応答時間パネル、トレンドグラフ、ブラウザ分布パネルのグリッドビュー、および Metric Browser では、ブラウザ RUM メトリックがその位置に対して表示されます。<city>
要素はエンドユーザの静的な場所を表す文字列である場合があります。<default>
要素もあります。IP マッピングファイルでカバーされていない IP アドレスがある場合は、この値が使用されます。カバーされていない IP アドレスに対して公開 Geo サーバを使うには、「ハイブリッド(カスタム公開)Geo サーバセットアップの使用」を参照してください。
有効な国名と地域名は、Geoダッシュボードの地図で使用されている名前です。このダッシュボードで地域にカーソルを合わせると、その地域の正確な名前(スペルや大文字と小文字の区別など)が表示されます。「ブラウザ Geo ダッシュボードビュー」を参照してください。
ハイブリッド(カスタム公開)Geoサーバーセットアップの使用
ブラウザ RUM で公開 Geo サーバを使用して、マップされていない IP アドレスを評価する場合は、<default>
要素を削除します。その場合、マップされていない IP アドレスの検出はローカルではなく EUM クラウドで行われます。
ファイルの場所のカスタマイズ
特定のファイルをGeoServerディレクトリ内のどこに保存するかをカスタマイズできます。
ログの場所の変更
デフォルトでは、ログは TOMCAT_HOME/logs
に書き込まれますが、この場所は TOMCAT_HOME/webapps/geo/WEB-INF/classes/logback.xml
で変更できます。このファイルをテキストエディタで開いて LOG_HOME
プロパティを編集します。
<property name="LOG_HOME" value="{path-to-file}/logs"/>
マッピングファイルの場所の変更
デフォルトでは、Geo サーバは TOMCAT_HOME/webapps/geo/
にある geo-ip-mappings.xml
を探します。
この場所を変更するには、テキストエディタで TOMCAT_HOME/webapps/geo/WEB-INF/web.xml
を開いて AD_GEO_CONFIG_FILE
の値を変更します。
<web-app ...>
<!-- ... -->
<servlet>
<servlet-name>FrontControllerServlet</servlet-name>
<servlet-class>com.appdynamics.eum.geo.web.FrontControllerServlet</servlet-class>
<context-param>
<param-name>AD_GEO_CONFIG_FILE</param-name>
<param-value>{path-to-file}/geo-ip-mappings.xml</param-value>
</context-param>
<!-- ... -->
</servlet>
<!-- ... -->
</web-app>
以前のバージョンの Geo サーバでは <context-param>
タグが使用されていました。これは次のものに変更されました:<init-param>.
オンプレミスのEUMサーバーの場合のみ:geo-ip-mappings.xmlを使用
オンプレミスの EUM サーバを使用していて、かつ識別するサーバと同じネットワークからの社内ブラウザがある場合は、個別のカスタム Geo サーバをセットアップするのではなく、EUM サーバの geo-ip-mappings.xml
ファイルを前述のように変更することを選択できます。EUM サーバの bin
ディレクトリにサンプルがあります。EUM サーバは、Neustar IP データベースを使う前に、まずこのファイルを自動的に読み取り、その内容を使用して場所の解決を試みます。
場所の解決での優先順位
カスタムGeoサーバーは以下の優先順位(降順)に基づいて場所を解決します。
- JavaScriptエージェントをカスタマイズして設定されているIPアドレス。詳細については、「リクエストの送信元の場所の設定」を参照してください。
- 明示的なクエリパラメータ(例:
http://mycompany.com/geo/resolve.js?ip=196.166.2.1
)。 AD-X-Forwarded-For
ヘッダーを使用して指定されている IP アドレスX-Real-IP
ヘッダーを使用して指定されている IP アドレスX-Forwarded-For
ヘッダーを使用して指定されている IP アドレス- HTTPリクエストのリモートアドレス
デバッグ
このデバッグ機能はパフォーマンスに少し影響があるため、Geo サーバを実稼働に移す前にオフにしておきます。
デバッグを行いやすいように、Geoサーバーはデバッグ用Webインターフェースが有効な状態で提供されています。このインターフェイスにアクセスするには、Web ブラウザで http://<host>:<port>/geo/debug
に移動します。
最初のタブである [Configuration] タブには、現在使用しているマッピングファイルの内容が表示されます。
2 番目にある [History] タブには、直近に実行した地理的解決が数件表示されます。
デフォルトでは、最後の 20 件の解決が表示されますが、これは次で構成できます。TOMCAT_HOME/webapps/geo/WEB-INF/web.xml.
<web-app ..>
<!-- ... -->
<servlet>
<servlet-name>FrontControllerServlet</servlet-name>
<servlet-class>com.appdynamics.eum.geo.web.FrontControllerServlet</servlet-class>
<!-- ... -->
<init-param>
<param-name>HISTORY_MAX_COUNT</param-name>
<param-value>20</param-value>
</init-param>
</servlet>
<!-- ... -->
</web-app>
3 番目にある [Test] タブでは、任意の IP アドレスの解決を試すことで、マッピングファイルをテストできます。
このタブに移動すると、初回はお使いのブラウザのIPアドレスの地理的解決が表示されます。このタブのフォームを使用して、別のIPアドレスの解決を試すことができます。
デバッグの無効化
TOMCAT_HOME/webapps/geo/WEB-INF/web.xml
を開き、DEBUG_ENABLED
を false.
に設定します。
<web-app ..>
<!-- ... -->
<servlet>
<servlet-name>FrontControllerServlet</servlet-name>
<servlet-class>com.appdynamics.eum.geo.web.FrontControllerServlet</servlet-class>
<!-- ... -->
<init-param>
<param-name>DEBUG_ENABLED</param-name>
<param-value>false</param-value>
</init-param>
</servlet>
<!-- ... -->
</web-app>