Splunk AppDynamics は、Geo サーバーをホスティングしています。このサーバーはリクエストで報告された IP アドレスに基づいてユーザーの地理的な場所を解決します。以下の場合は、独自の Geo サーバをホスティングすることをお勧めします。

  • 意味のある位置情報が、パブリック IP アドレスからではなくユーザのプライベート IP アドレスから得られるようなイントラネット アプリケーションがある場合。
  • プライベートな場所からアクセスするユーザーと、パブリックな場所からアクセスするユーザーが混在するハイブリッドアプリケーションがある場合。カスタム Geo サーバでマップされている特定のプライベート IP 範囲以外からユーザがアクセスしているときに、デフォルトでパブリック Geo サーバが使用されるようにシステムを設定できます。

カスタム Geo サーバーは、HTTP ヘッダー AD-X-Forwarded-For をサポートしています。これを使用して、位置情報解決の目的として IP アドレスを明示的に宣言できます。カスタム Geo サーバは、HTTP ヘッダー X-Real-IP もサポートしています。

ブラウザRUM用カスタムGeoサーバーのインストールおよびホスト

カスタムGeoサーバーをホストするには

  1. Geoサーバーファイルのダウンロード
  2. Geoサーバーの場所の設定
  3. IPマッピングファイルの作成

Geo サーバホストの要件

  • 2 GB のメモリ
  • Java 8.x

Geoサーバーファイルのダウンロードとインストール

Splunk AppDynamicshttps://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
   └── ...
TEXT

Geo サーバをインストールするには、Tomcat サーバの TOMCAT_HOME/webappsgeo フォルダをコピーします。コントローラと同じコンテナにサーバをデプロイしないでください。  

Geoサーバーの場所の設定

コントローラ UI の [Browser RUM] 構成画面にある [Geo Server URL] フィールドに、ホストされている Geo サーバの URL(コンテキストルートを含む)を入力します(下図を参照)。

(warning)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 サーバセットアップの使用」を参照してください。

Browser Snapshots

有効な国名と地域名は、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"/>
XML

マッピングファイルの場所の変更

デフォルトでは、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>
XML

(info)以前のバージョンの Geo サーバでは <context-param> タグが使用されていました。これは次のものに変更されました:<init-param>.