Geoサーバーのホスティング
Splunk AppDynamics は、Geo サーバーをホスティングしています。このサーバーはリクエストで報告された IP アドレスに基づいてユーザーの地理的な場所を解決します。以下の場合は、独自の Geo サーバをホスティングすることをお勧めします。
- 意味のある位置情報が、パブリック IP アドレスからではなくユーザのプライベート IP アドレスから得られるようなイントラネット アプリケーションがある場合。
- プライベートな場所からアクセスするユーザーと、パブリックな場所からアクセスするユーザーが混在するハイブリッドアプリケーションがある場合。カスタム Geo サーバでマップされている特定のプライベート IP 範囲以外からユーザがアクセスしているときに、デフォルトでパブリック Geo サーバが使用されるようにシステムを設定できます。
カスタム Geo サーバーは、HTTP ヘッダー AD-X-Forwarded-For をサポートしています。これを使用して、位置情報解決の目的として IP アドレスを明示的に宣言できます。カスタム Geo サーバーは、HTTP ヘッダー X-Real-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(コンテキストルートを含む)を入力します(下図を参照)。
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> の値が地理データベースですでに定義されている実際の地理的場所と一致しない場合、その場所のマップサポートはマップパネルでは利用できませんが、地理的分布、エンドユーザー応答時間パネル、トレンドグラフ、ブラウザ分布パネルのグリッドビュー、およびメトリックブラウザでは、ブラウザ 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>
<context-param> タグが使用されていました。これは、<init-param> に変更されました。