Analytics のトラブルシューティング

improve this page | report issue

概説

以下に、MobileFirst Analytics を使用する際に発生する可能性がある問題を解決するために役立つ情報を記載しています。

Analytics コンソール内にデータがありません

以下の可能性を調べてください。

  • MobileFirst Analytics Serverにログを転送する MobileFirst Server を指すようにアプリケーションが設定されていることを確認します。 mfpclient.plist (iOS) ファイル、mfpclient.properties (Android) ファイル、または config.xml (Cordova) ファイルで必ず以下の値を設定するようにしてください。
    protocol = http または https
    host = ご使用の MobileFirst Server の IP アドレス
    port = 分析を報告するために server.xml ファイルに設定されている HTTP ポート
    wlServerContext = デフォルトでは「/mfp/」
  • 必ず MobileFirst Server が MobileFirst Analytics Serverを指すようにしてください。
    /analytics-service
    /analytics
  • send メソッドを呼び出していることを確認します。
    • iOS:
      • Objective-C: [[WLAnalytics sharedInstance] send];
      • Swift: WLAnalytics.sharedInstance().send()
      • Android: WLAnalytics.send();
      • Cordova: WL.Analytics.send();
      • Web: ibmmfpfanalytics.send();

「異常終了の概要」表には異常終了のデータがありますが、「異常終了の要約」表には何もありません。なぜですか?

アプリケーションが再度実行されたら、異常終了のログをサーバーに送信する必要があります。 異常終了の後、アプリケーションがログを送信していることを確認します。 念のため、アプリケーションの開始時にログを送信して、前に未送信の情報があれば報告されるようにしてください。

「サーバー使用状況フロー」グラフおよび「ネットワーク要求」グラフにデータがありません。なぜですか?

Network デバイス・イベントで分析を収集するようにアプリケーションを構成してください。

ibmmfpfanalytics.logger.config({analyticsCapture: true});
  • Cordova を使用するクロスプラットフォーム・アプリケーションの場合、ネイティブ・アプリケーションと構成が同じであるため、iOS または Android のガイドに従ってください。
  • iOS でネットワーク分析データの収集を有効にするには、Application Delegate の application:didFinishLaunchingWithOptions メソッドに次のコードを追加します。
    Objective-C
    WLAnalytics *analytics = [WLAnalytics sharedInstance];
    [analytics addDeviceEventListener:NETWORK];
    Swift
    WLAnalytics.sharedInstance()
    WLAnalytics.sharedInstance().addDeviceEventListener(NETWORK)
  • Android でネットワーク分析データの収集を有効にするには、Application サブクラスの onCreate メソッドに次のコードを追加します。
    Java
    WLAnalytics.init(this);
    WLAnalytics.addDeviceEventListener(DeviceEvent.NETWORK);

アプリケーション・セッションのデータがありません。なぜですか?

Lifecycle デバイス・イベント・リスナーを使用して分析を収集するようにアプリケーションを構成してください。

  • Cordova を使用するクロスプラットフォーム・アプリケーションの場合、ネイティブ・アプリケーションと構成が同じであるため、iOS または Android のガイドに従ってください。
  • iOS でネットワーク分析データの収集を有効にするには、Application Delegate の application:didFinishLaunchingWithOptions メソッドに次のコードを追加します。

    Objective-C
    WLAnalytics *analytics = [WLAnalytics sharedInstance];
    [analytics addDeviceEventListener:LIFECYCLE];
    Swift
    WLAnalytics.sharedInstance()
    WLAnalytics.sharedInstance().addDeviceEventListener(LIFECYCLE)
  • Android でネットワーク分析データの収集を有効にするには、Application サブクラスの onCreate メソッドに次のコードを追加します。
    Java
    WLAnalytics.init(this);
    WLAnalytics.addDeviceEventListener(DeviceEvent.LIFECYCLE);

複数のユーザーが Analytics コンソールにアクセスすると、コンソールが応答しなくなります


Mobile Foundation Analytics が WebSphere Liberty バージョン 8.5.5.6 より前にデプロイされている場合に、複数のユーザーがコンソールにアクセスすると、コンソールはフリーズしたり、その後のユーザー要求に応答しなくなったりします。

  • この状況は、要求を処理するための Executor スレッドを WebSphere Liberty が使い尽くしたために発生します。 これによってデッドロック状況が発生します。
  • Liberty コア・スレッドのデフォルトの数は、ハードウェア・スレッドの数です。
  • この問題を解決するには、Liberty executor スレッド数のパラメーターを、デフォルトより大きい値に構成します。
    以下の構成を Liberty の server.xml に追加します。
    <executor name="LargeThreadPool" id="default" coreThreads="80" maxThreads="80" keepAlive="60s" stealPolicy="STRICT" rejectedWorkPolicy="CALLER_RUNS" />
  • これらの調整設定は通常、Websphere Liberty 8.5.5.6 の場合は不要です。

追加参照

Last modified on July 17, 2018