このページでは、EUM サーバーの管理構成および高度な構成のオプションについて説明します。 

データ保存期限の構成

EUMで使用される分析機能の一環として、サーバーはクラッシュレポートやリソーススナップショットなど一部のデータをローカルのBlobstoreに保存します。デフォルト設定は 30 日ですが、次の手順に従って保存期間を長くまたは短く変更できます。

  1. テキストエディタで $APPDYNAMICS_HOME/EUM/eum-processor/bin/eum.properties を開きます。
  2. テキストエディタで $APPDYNAMICS_HOME/EUM/eum-processor/bin/eum.sample.properties を開きます。
  3. onprem.crashReportExpirationDays プロパティと onprem.resourceSnapshotExpirationDays プロパティをサンプルファイルから eum.properties にコピーし、目的の値に設定します。単位は日数です。
  4. サーバーを再起動します。

ビーコンから読み取るページURLの最大長の設定

デフォルトでは、EUMコレクタがビーコンを受信し、EUMプロセッサはビーコン内のページURLの512文字のみを読み取ります。ページURLが512文字を超えている場合、EUMプロセッサはそのページURLを切り捨てます。EUM プロセッサがそれより長いページ URL を読み取るように beaconReader.maxUrlLength で構成できます。設定可能な最大長は2048であり、この値はビーコンを作成するJavaScriptエージェントでの制約です。

EUMプロセッサが読み取るページURLの最大長を変更するには

  1. テキストエディタで $APPDYNAMICS_HOME/EUM/eum-processor/bin/eum.properties を開きます。
  2. 目的の長さ(2048 以内)をプロパティ beaconReader.maxUrlLength に追加します。

    beaconReader.maxUrlLength=<max_length>
    BASH
  3. サーバーを再起動します。

EUMサーバーのGeoサーバーの更新

オンプレミスの EUM サーバーには、IP アドレスの地理的位置を管理するために Neustar の IP GeoPoint データベースが付属しています。Neustar の IP GeoPoint の日次更新を AppDynamics のダウンロードサイトから取得できます。

データベースを最新バージョンにしておくには、以下のようにして、データベースのコピーを手動で更新する必要があります。

  1. AppDynamics のダウンロードサイトで、Neustar データファイル(neustar.dat)を検索してダウンロードします。
  2. neustar.dat$APPDYNAMICS_HOME/EUM/eum-processor/bin で置き換えます。
  3. $APPDYNAMICS_HOME/EUM/eum-processor.log で、新しいデータファイルがロードされていることを確認します。 
  4. $APPDYNAMICS_HOME/EUM/eum-processor/bin/eum-processor-launcher.vmoptions ファイルで JVM の [-Xmx] オプションを更新します。

    • サーバーのJVM最大メモリ(-Xmx)を800 MB以上増やします。

  1. AppDynamics のダウンロードサイトで、Neustar データファイル(neustar.dat)を検索してダウンロードします。
  2. neustar.dat$APPDYNAMICS_HOME\EUM\eum-processor\bin で置き換えます。
  3. $APPDYNAMICS_HOME\EUM\eum-processor.log で、新しいデータファイルがロードされていることを確認します。 
  4. $APPDYNAMICS_HOME\EUM\eum-processor\bin\eum-processor-launcher.vmoptions ファイルで JVM の -Xmx オプションを更新します。

    • サーバーのJVM最大メモリ(-Xmx)を800 MB以上増やします。

EUMエージェント用ポートの構成

オンプレミスのEUMサーバーは、デフォルトではEUMエージェントからデータを収集するためのポートと同じポートを使用して、APIサーバーを介してコントローラにデータを送信します。以下の手順に従って、EUM サーバーが別のポートを使用して EUM エージェントからデータを収集するように構成できます。 

  1. テキストエディタで $APPDYNAMICS_HOME/EUM/eum-processor/bin/eum.properties を開きます。
  2. 以下の行を $APPDYNAMICS_HOME/EUM/eum-processor/bin/eum.properties に追加し、EUM サーバーがリスンするポートで <PORT> を置き換えます。

    processorServer.collectorHttpPort=<PORT>
    processorServer.collectorHttpsPort=<PORT>
    TEXT
  3. EUMサーバーを再起動します。
  4. Controller Admin UI で、プロパティ eum.beacon.hosteum.beacon.https.hosteum.cloud.host、および eum.mobile.screenshot.host のポートを、processorServer.collectorHttpPortprocessorServer.collectorHttpsPort に割り当てられているポートと同じになるように変更します。そうすることによって、ビーコンがコレクタと通信できるようになります。

    たとえば、processorServer.collectorHttpPort=7050processServer.collectorHttpsPort=7051 を設定している場合、HTTP ではプロパティ eum.beacon.hosteum.mobile.screenshot.host のポートを 7050 に、HTTPS では eum.beacon.https.host のポートを 7051 に設定します(下図を参照)。

Controller Settings

EUMスナップショットの数の制限

アプリケーションでページあたりの Ajax リクエストの数が大きい場合、EUM サーバーは多数のスナップショットを保持し、その中にはベース、仮想、および Ajax のページだけでなく iFrame も含まれている可能性があります。グローバルの最大値を設定してスナップショットの保持時間を制限するか、ネットワークの応答時間に応じてスナップショットをフィルタすることで、EUM サーバーが保持するスナップショットの数を制限できます。

スナップショットのグローバル制限の設定

1 分あたりに保持されるスナップショットの数のグローバル上限を構成 browserBeaconSampling.maxSamples で設定します。デフォルトは 1000 です。上限に達すると、すべてのスナップショットが無差別にドロップされます。この上限は eum.properties ファイルを使用してグローバルに構成できます。

  1. テキストエディタで $APPDYNAMICS_HOME/EUM/eum-processor/bin/eum.properties を開きます。
  2. 以下の行を eum.properties に追加し、保持するスナップショットのグローバルな最大数で <global_limit> を置き換えます。

    browserBeaconSampling.maxSamples = <global_limit>
    CODE
  3. EUMサーバーを再起動します。

イベントスナップショットの存続期間の短縮

EUMスナップショットの数を制限するもうひとつの方法は、イベントスナップショットが保持される日数を短くすることです。イベントスナップショットは、クラッシュレポート、コードの問題、および IoT のエラーにのみ適用され、ローカルの blob ストアである $APPDYNAMICS_HOME/EUM/eum-processor/store に保存されます。

デフォルトでは、EUM サーバーはイベントスナップショットを 90 日間保持します。イベントサービスでイベントが保持される期間が短い(例:14 日間)場合は、EUM サーバーの保持期間をイベントサービスの保持期間と同じ期間に変更しても構いません。ただし、EUM サーバーでイベントスナップショットが保持される期間がイベントサービスより短い場合は、コントローラ UI でその期間より前のイベントを表示するときにエラーが発生することがあります。

イベントスナップショットの寿命を短くしても、コントローラまたはイベントサービスの保持期間は変更されません。

イベントスナップショットの存続期間の設定

  1. テキストエディタで $APPDYNAMICS_HOME/EUM/eum-processor/bin/eum.properties を開きます。
  2. 以下の行を eum.properties, に追加し、イベントスナップショットを保持する日数で <no_of_days> を置き換えます。デフォルト値は90です。

    eventSnapshotStore.lifespanInDays = <no_of_days>
    CODE
  3. EUMサーバーを再起動します。

ネットワーク応答時間に基づいたスナップショットのフィルタリング

ネットワーク応答時間に基づいてスナップショットをフィルタリングするためのしきい値を設定します。ネットワーク応答時間が構成しきい値以下であれば、そのスナップショットは保持されます。このしきい値は browserBeaconSampling.hierarchyAwareSamplerPageUXThreshold で設定します。

サポートされているしきい値と保持されるスナップショットは以下のとおりです。デフォルトは Slow です。

  • Normal - このしきい値を使用すると、すべてのスナップショットが保持されます。

  • Slow - このしきい値を使用すると、ネットワーク応答時間が「Slow」、「Very Slow」、または「Stall」であるスナップショットが保持されます。

ネットワーク応答時間のしきい値の設定

  1. テキストエディタで $APPDYNAMICS_HOME/EUM/eum-processor/bin/eum.properties を開きます。
  2. 以下の行を eum.properties に追加し、スナップショットの保持期間としてサポートされているしきい値(Normal または Slow)のいずれかで <threshold> を置き換えます。

    browserBeaconSampling.hierarchyAwareSamplerPageUXThreshold = "<threshold>"
    CODE
  3. EUMサーバーを再起動します。

アクセスログの有効化

EUM サーバーの下層のアプリケーションサーバーに対するサーバーアクセスログはデフォルトでは無効になっています。このログを有効にするには、テキストエディタで $APPDYNAMICS_HOME/EUM/eum-processor/conf/local-eum-processor.yml を開いて、server エントリ内にある以下のセクションを見つけます。

 requestLog:
        appenders: []
CODE

以下の情報を追加します。

requestLog:
        timeZone: UTC
        appenders:
          - type: file
            archive: true
            currentLogFilename: ../logs/access.log
            archivedLogFilenamePattern: ../log/accedd-%d.log.gz
CODE

ファイルを保存し、EUMサーバーを再起動します。

EUMサーバー構成ファイル

ファイル $APPDYNAMICS_HOME/EUM/eum-processor/bin/eum.properties でプロパティを設定することによって EUM サーバーを構成できます。参照サンプルファイル $APPDYNAMICS_HOME/EUM/eum-processor/bin/eum.sample.properties$APPDYNAMICS_HOME/EUM/eum-processor/bin/eum.properties, にコピーし、必要に応じて設定を変更してから、新しい設定が適用されるように EUM サーバーを再起動することをお勧めします。 

次の表は、サポートされている EUM プロパティと、その説明、デフォルト値、および必須かどうかの一覧を示しています。データベースプロパティの値はスキーマオブジェクト名で示されている MySQL 構文ルールに適合している必要があります。 

EUMプロパティデフォルト必須かどうか説明

onprem.dbHost

dbHost
必須データベースホストの名前。

onprem.dbPort

3388ありデータベースホストへのポート。

onprem.dbSchema

eum_dbありEUMデータベースの名前。

onprem.dbUser

eum_userありEUMデータベース用のユーザー名。

onprem.dbPassword

なしはいEUMデータベースのユーザーパスワード。このパスワードでは「^」、「/」、「$」以外のASCII文字を使用できます。
onprem.eventSnapshotDiskAllowance-1いいえイベントスナップショットの保存に割り当てられる最大ディスク容量。デフォルト値の -1 は、イベントスナップショットを保存するために無制限のディスク容量を割り当てます。イベントスナップショットを保存するための最大バイト数を表す正の整数を指定できます。

onprem.fileStoreRoot

../storeなしスナップショットなどのEUMデータを保存するディレクトリのパス。

onprem.crashReportExpirationDays

年中無休なしクラッシュレポートが保持される日数。
onprem.resourceSnapshotExpirationDays15なしリソーススナップショットが保持される日数。

onprem.resourceSnapshotDiskAllowance

21474836480(20 GB)

なし

リソーススナップショットの保存に割り当てられる最大ディスク容量。デフォルトの最大ディスク容量は20 GB(21474836480バイト)です。リソーススナップショットを保存するための最大バイト数を表す正の整数を指定できます。

processorServer.httpPort

7001なしEUMプロセッサへのHTTPポート。EUMプロセッサは、コレクタ、アグリゲータ、クラッシュプロセッサ、モニターリングサービスが含まれている1つのプロセスで実行されます。

processorServer.httpsPort

7002なしEUMプロセッサへのHTTPSポート。

processorServer.httpsProduction

trueなしEUMプロセッサに対しHTTPSを有効(true)または無効にするフラグ。

processorServer.keyStorePassword

該当なしいいえEUMプロセッサのキーストアのパスワード。

processorServer.keyStoreFileName

bin/ssugg.keystoreなしEUMプロセッサのキーストア用パスワードを保存するファイルのパス。

processorServer.collectorHttpPort

7001なしEUMコレクタのHTTPポート。デフォルトでは、EUMコレクタはEUMプロセッサと同じポートを共有しますが、異なるポートに構成できます。EUMコレクタはJavaScriptエージェントから送信されたメトリックを受信します。

processorServer.collectorHttpsPort

7002なしEUMコレクタのHTTPSポート。

analytics.enabled

trueあり分析サーバーを有効または無効にするフラグ。

analytics.serverScheme

httpなし分析サーバーに接続するためのネットワークプロトコル。これは analytics.enabled=true の場合のみ必要です。

analytics.serverHost

events.service.hostnameなし分析サーバーのホスト名。これは analytics.enabled=true の場合のみ必要です。

analytics.port

9080なし分析サーバーへのポート。これは analytics.enabled=true の場合のみ必要です。
analytics.accountAccessKey
access-keyなし分析サーバーに接続するためのアクセスキー。これは analytics.enabled=true の場合のみ必要です。
analytics.eventTypeLifeSpan.0.eventType
BrowserRecord
なし

保存されるイベントのタイプ。

以下の値がサポートされています。

  • BrowserRecord
  • MobileSnapshot
  • SessionRecord
  • MobileSessionRecord

このプロパティが設定されている場合は analytics.eventTypeLifeSpan.0.lifeSpan も設定する必要があります。

analytics.eventTypeLifeSpan.0.lifeSpan
8
なし

analytics.eventTypeLifeSpan.0.eventType で指定されているイベントレコードが保持される日数。このプロパティが設定されている場合は analytics.eventTypeLifeSpan.0.eventType も設定する必要があります。 

analytics.eventTypeLifeSpan.1.eventType
MobileSnapshot
なし

保存されるイベントのタイプ。

以下の値がサポートされています。

  • BrowserRecord
  • MobileSnapshot
  • SessionRecord
  • MobileSessionRecord

このプロパティが設定されている場合は analytics.eventTypeLifeSpan.1.lifeSpan も設定する必要があります。

analytics.eventTypeLifeSpan.1.lifeSpan
8
なし

analytics.eventTypeLifeSpan.1.eventType で指定されているイベントレコードが保持される日数。このプロパティが設定されている場合は analytics.eventTypeLifeSpan.1.eventType も設定する必要があります。

analytics.eventTypeLifeSpan.2.eventType

SessionRecord

なし

保存されるイベントのタイプ。

以下の値がサポートされています。

  • BrowserRecord
  • MobileSnapshot
  • SessionRecord
  • MobileSessionRecord

このプロパティが設定されている場合は analytics.eventTypeLifeSpan.2.lifeSpan も設定する必要があります。

analytics.eventTypeLifeSpan.2.lifeSpan
8いいえanalytics.eventTypeLifeSpan.2.eventType で指定されているイベントレコードが保持される日数。このプロパティが設定されている場合は analytics.eventTypeLifeSpan.2.eventType も設定する必要があります。
analytics.eventTypeLifeSpan.3.eventType
MobileSessionRecordなし

保存されるイベントのタイプ。

以下の値がサポートされています。

  • BrowserRecord
  • MobileSnapshot
  • SessionRecord
  • MobileSessionRecord

このプロパティが設定されている場合は analytics.eventTypeLifeSpan.3.lifeSpan も設定する必要があります。

analytics.eventTypeLifeSpan.3.lifeSpan
8
analytics.eventTypeLifeSpan.3.eventType で指定されているイベントレコードが保持される日数。このプロパティが設定されている場合は analytics.eventTypeLifeSpan.3.eventType も設定する必要があります。
onprem.mobileAppBuildTimeSeriesRequestCountRollupDays
7
なしEUM コレクタは、構成されている日数の間ビーコントラフィックで dSYM ファイルを検索します。その構成されている期間内にdSYMファイルが見つからなかった場合はコントローラUIに警告メッセージが表示されます。
onprem.maxNumberOfMobileBuildsWithoutDsym
10
なしコントローラUIで表示可能な不足dSYMファイルの最大数。
collection.sessionEnabled
true
なしブラウザ/モバイルセッションのコレクションを有効または無効にするフラグ。EUM サーバーをバージョン 4.2 以前から 4.3 以降にアップグレードしている場合、デフォルトは false です。
collection.accessControlAllowOrigins.{n}
*なし

デフォルトでは、EUM コレクタは Access-Control-Allow-Origin: * を使用して応答します。

次のように、URL に割り当てられた整数プロパティを使用して、CORS を特定のドメインに制限できます。

  • collection.accessControlAllowOrigins.0=http://example1.com
  • collection.accessControlAllowOrigins.1=http://example2.com
  • collection.accessControlAllowOrigins.2=http://example3.com
eventSnapshotStore.lifespanInDays
90いいえ

EUM サーバーのローカル blob ストア($APPDYNAMICS_HOME/EUM/eum-processor/store)に保存されているイベントスナップショットが保持される日数。イベントスナップショットは、クラッシュレポート、コードの問題、および IoT のエラーにのみ適用されます。

sessionization.webSessionRetentionMins
5なしブラウザセッションの終了後にそのセッションが保持される分数。この設定によって、開始時刻と終了時刻が異なるブラウザセッションを保持できるようになります。保持時間を長くするほど、メモリに保持される終了済みセッションの数が多くなって、メモリ使用量が多くなります。
sessionization.mobileSessionRetentionMins5[いいえ(No)]モバイルセッションの終了後にそのセッションが保持される分数。この設定によって、開始時刻と終了時刻が異なるモバイルセッションを保持できるようになります。保持時間を長くするほど、メモリに保持される終了済みセッションの数が多くなって、メモリ使用量が多くなります。
throttling.resourceSnapshot.maxTotalPerMinPerAccount
1000なし1つのアカウントで保持される1分ごとの総リソーススナップショットの最大数。
throttling.resourceSnapshot.maxNormalPerMinPerAccount
800なし1 つのアカウントで保持される 1 分ごとの、ユーザーエクスペリエンスが「Normal」であるページのリソーススナップショットの最大数。通常は、このプロパティの値を throttling.resourceSnapshot.maxTotalPerMinPerAccount の値より小さくして、ユーザーエクスペリエンスが「Slow」、「Very Slow」、または「Stall」であるページのリソーススナップショットも保持できるようにします。
throttling.session.maxTrackedSessionsPerAccount
50000なし1つのアカウントでメモリに保存されている、アクティブなセッションと期限前に終了したセッションの最大数。最大数に達すると、新たなセッションを作成するイベントはドロップされます。この設定は、セッションに使用されるメモリをアカウントレベルで制御するのに役立ちます。

EUM サーバーバージョン 4.5.1 以降では、プロパティ crashProcessing.sessionEnabled はサポートされなくなりました。代わりに、セッションとクラッシュの関連付けはデフォルトで有効になっています。EUM サーバーの以前のバージョン(4.5.1 より前)を使用していて、4.5.1 以降にアップグレードする場合は、EUM サーバーがエラーをスローしないようにするために、crashProcessing.sessionEnabled プロパティを eum.properties ファイルから削除する必要があります。