Deployment Support

AppDynamics IoT モニタリングを使用することで、IoT アプリケーションのトランザクションを追跡して理解することができます。IoT デバイスは、使用するプラットフォームとそのビジネス機能の両方の観点で多様であるため、AppDynamics は言語 SDK に加えて REST API を開発し、IoT データの報告に最大限の柔軟性を提供しています。この API は、HTTPS をサポートし、インターネットに接続されている任意のデバイスから使用できます。

IoT モニタリングでは、アプリケーション開発者がコードをインストゥルメント化する必要があります。このプロセスを容易にするために、AppDynamics は C/C++ および Java SDK を開発したため、これらの言語をサポートするプラットフォームを使用している開発者は、REST API を使用する代わりに SDK の機能を利用できます。IoT SDK は、REST API を使用して IoT データを EUM サーバ に報告します。ここでは、次の図に示すように、データが集約され、AppDynamics コントローラとイベントサービス で使用可能になります。

IoT Monitoring Architecture Diagram

IoT モニタリングの利点

IoT モニタリングを使用すると、ビジネス目標に影響を与えるデバイス上で実行されているアプリケーションについて、ネットワークリクエスト、エラー、カスタムアプリケーションおよびドメイン固有のイベントをキャプチャして診断することができます。

IoT モニタリングを使用すると、デバイスについて以下をモニタできます。

  • 利用状態
  • ネットワーク パフォーマンス
    • 低速のやり取り
    • デバイスとバックエンドサービス間の遅延
  • 使用状況: ユーザとシステムの動作およびパターン
  • エラーと例外

IoT モニタリングの使用例

IoT アプリケーションは、通常、接続されたデバイス上で実行されている組み込みアプリケーションです。このセクションでは、IoT モニタリングが IoT アプリケーションの最も一般的なカテゴリのデータを収集および報告する方法について説明します。 

次のタブでは、これらの IoT アプリケーションカテゴリを表示し、それぞれの典型的な例で、サポートされている 3 つの IoT モニタリングイベントを使用してデータを報告する方法について説明します。

このカテゴリの IoT アプリケーションは、注文、支払いを処理し、製品インベントリを管理します。例としては、Point of Sale(POS)デバイス、スマートシェルフ、ゲートウェイ(特定の地域内の情報を集約するローカルサーバ)などがあります。 

デバイスの例デバイス情報ネットワークリクエストの例カスタムイベントの例処理されたエラー例外/クラッシュ
POS
  • デバイス ID

  • アプリケーションバージョン

  • ハードウェアバージョン

  • ファームウェアバージョン
  • チェックアウト
  • 支払トランザクション
  • 合計販売金額
  • 販売品目数
  • 適用されたディスカウント
  • チェックアウト時間の合計
  • 合計処理時間
  • クレジットカード拒否
  • クレジットカードの読み取り不可
  • 無効な暗証番号
  • クラッシュ
  • 再起動
  • 動作しない UI
  • timeouts
  • NULL ポイント例外

このカテゴリの IoT アプリケーションを使用すると、ユーザはさまざまなデバイス間でメディアコンテンツをシームレスに体験できます。セットトップボックス(STB)上の IoT アプリケーションは、ユーザが自分のコンピュータまたは電話機で視聴していた内容に基づいて、チャンネル/コンテンツをすばやく変更できます。 

デバイスの例デバイス情報ネットワークリクエストの例カスタムイベントの例処理されたエラー例外/クラッシュ
オーディオストリーミング
  • デバイス ID

  • アプリケーションバージョン

  • ハードウェアバージョン

  • ファームウェアバージョン
    • メディアプレイ
    • pause
    • リクエストの停止
    • 広告のパフォーマンス
    • メディアのダウンロード
    • メディアのスキップ
    • サブスクリプションの詳細
    • 合計再生時間
    • 再生エラー
    • 使用できない曲
    • ダウンロードエラー
  • クラッシュ
  • 再起動
  • 動作しない UI
  • timeouts
  • NULL ポイント例外

自動車のヘッドユニットは多くの場合コンピュータであるため、IoT アプリケーションを使用してユーザのサブスクリプションを管理し、ユーザエクスペリエンスをモニタします。 

デバイスの例デバイス情報ネットワークリクエストの例カスタムイベントの例処理されたエラー例外/クラッシュ
インフォテインメント システム
  • デバイス ID

  • アプリケーションバージョン

  • ハードウェアバージョン

  • ファームウェアバージョン
    • メディアプレイ
    • pause
    • リクエストの停止
    • 広告のパフォーマンス
    • メディアのダウンロード
    • メディアのスキップ
    • サブスクリプションの詳細
    • 合計再生時間
    • アプリケーションのロードエラー
    • 接続エラー
    • 音声エラー
    • 起動エラー
  • クラッシュ
  • 再起動
  • 動作しない UI
  • timeouts
  • NULL ポイント例外

これらの IoT アプリケーションによって、セキュリティが向上し、インテリジェント ビルディングやスマートホームのエネルギーおよびメンテナンスコストが削減されます。例としては、ホームセキュリティデバイスとスマートサーモスタット、スマートキーレスロック、スマートライトなどがあります。 

デバイスの例デバイス情報ネットワークリクエストの例カスタムイベントの例処理されたエラー例外/クラッシュ
ホーム セキュリティ
  • デバイス ID

  • アプリケーションバージョン

  • ハードウェアバージョン

  • ファームウェアバージョン
    • ホームセンサーステータス
    • ゲートウェイデバイスとセンサー間の通信
    • ヘルスアラート
    • センサーヘルス
    • アラートの数
    • 接続ステータス
    • アラームをトリガーする合計ラウンドトリップ時間
    • セキュリティステータスを設定する合計時間
    • デバイスのウェイクアップ/スリープ
    • アラーム通知
    • 接続の問題
  • クラッシュ
  • 再起動
  • 動作しない UI
  • timeouts
  • NULL ポイント例外

このカテゴリの IoT アプリケーションは、旅行の体験をモニタして改善します。空港のキオスクや手荷物トラッキングデバイスで使用されている IoT アプリケーション、乗客の快適さをモニタするためにキャビンシートに組み込まれているアプリケーションなどがあります。

デバイスの例デバイス情報ネットワークリクエストの例カスタムイベントの例処理されたエラー例外/クラッシュ
空港のキオスク
  • デバイス ID

  • アプリケーションバージョン

  • ハードウェアバージョン

  • ファームウェアバージョン
    • 乗客レコードの取得
    • 支払い処理
    • トランザクションを完了したユーザの数
    • 発行された搭乗パスの数
    • ユーザアクティビティの合計時間
    • 各画面で費やした合計時間
    • 乗客レコードが見つかりません
    • プリンタエラー
    • 接続の問題
  • クラッシュ
  • 再起動
  • 動作しない UI
  • timeouts
  • NULL ポイント例外

IoT SDK

IoT モニタリングでは、C/C++ および Java 言語の SDK が提供されます。IoT SDK の機能には次のようなものがあります。

  • カスタムイベント、エラーイベント、およびネットワークリクエストを使用してインストゥルメンテーション データを報告するための API

  • EUM サーバに送信する前のすべてのイベントの JSON 形式へのシリアル化

  • EUM サーバとの通信に使用される SDK にアプリケーション HTTPS スタックをプラグインする API

  • ビジネストランザクション(BT)の相関性
  • コントローラ UI からモニタリングがオフになっている場合の自動無効化

C++ および Java 以外の言語の場合は、REST API を使用して、カスタムイベント、エラーイベント、およびネットワークリクエストを送信できます。

IoT モニタリング UI

IoT モニタリングでは、コントローラ UI を介して次の機能も提供されます。

  • デバイス、ネットワークリクエスト、およびエラーと例外をモニタするためのダッシュボード
  • 報告されたアプリケーションデータを可視化するための事前定義されたウィジェットとカスタムウィジェット
  • AppDynamics アプリケーション分析によるデバイス アプリケーション データの分析
  • ネットワークリクエストの命名および除外の設定

IoT モニタリングワークフロー

IoT SDK および REST API を使用すると、さまざまな種類の多数デバイスのアプリケーションデータを報告できます。この柔軟性により、報告するデータの種類、報告するデータの量、およびデータが EUM サーバに送信されるタイミングを大幅にカスタマイズできます。

カスタマイズされたデータをモニタするには、アプリケーションとデバイスのインストゥルメンテーションによって生成されたデータをよく理解する必要があります。このページの目的は、アプリケーションデータを理解し、デバイスアプリケーションをインストゥルメント化し、カスタムダッシュボードを作成するプロセスを説明することより、デバイスのパフォーマンスとアクティビティをモニタできるようになることです。

デバイスをモニタするためのガイドラインとして、次の手順を実行することをお勧めします。

  1. モニタリング目標を定義します。
  2. キャプチャする必要があるデータを特定します。
  3. データの報告に使用するイベントを決定します。
  4. EUM アプリケーションキーを取得します。
  5. イベントを報告します。
  6. デバイスの可用性、使用状況、およびパフォーマンスをモニタします。
  7. ウィジェットを構築します。
  8. フィルタを使用して問題を診断します。
  9. モニタリングを改善してトラブルシューティングします。

モニタリング目標の定義

AppDynamics IoT モニタリングを使用すると、デバイスの可用性、パフォーマンス、および使用状況をモニタできます。すべての関係者(開発者、DevOps、事業部門)のニーズを考慮してモニタリング目標に優先順位を付け、モニタする必要があるリソースをリストする計画を立てる必要があります。また、誰がデバイスアプリケーションをインストゥルメント化し、誰がモニタリングを実行し、何らかの問題が発生したときに誰が通知を受ける必要があるのかを検討する必要もあります。

キャプチャするデータの特定

次に、デバイスを分析し、モニタリング目標を達成するために使用できるアプリケーションデータを特定する必要があります。たとえば、デバイスが車の場合、ネットワークリクエストを調べてデバイスが使用可能か確認したり、そのコンポーネントまたは道路の状態の損傷についてカスタムデータを報告したりすることができます。 

データの報告に使用するイベントタイプの決定

アプリケーションデータは、次の表に示す 3 つのタイプのイベントを使用して報告します。この情報に基づいて、特定したデータとモニタリング目標に最も適したイベントタイプをマッピングします。 

イベントタイプモニタリングの目的
カスタム利用
ビジネス
ネットワークリクエスト提供地域
パフォーマンス
利用
エラー(Error)パフォーマンス

EUM アプリケーションキーの取得

EUM アプリケーションキーの取得」に記載されている手順に従います。 

イベントの報告

IoT SDK または REST API を使用すると、いずれかのイベントタイプを使用して重要なデータポイントをキャプチャおよび報告することができます。C/C++ または Java 以外の言語を使用している場合は、IoT REST API を使用します。これにより、任意のプラットフォームからデータを柔軟に報告できます。 

SDK をインストールし、IoT アプリケーションをインストゥルメント化する方法については、以下の手順に従います。

IoT アプリケーションのモニタ

IoT アプリケーションをモニタするには、3 つの IoT ダッシュボードの機能と目的を理解する必要があります。各ダッシュボードと使用方法の概要については、「IoTダッシュボードを使用したアプリケーションのモニタリング」を参照してください。

データモデルに基づくウィジェットの構築

各ダッシュボードには、基本的なパフォーマンスとアクティビティのモニタリングのために事前定義された一連のウィジェットがあります。ただし、IoT Monitoring のモニタリング機能を最適化するには、独自のウィジェットを作成する必要があります。報告したイベントに基づいて、カスタムウィジェットを作成し、デバイスのアクティビティとパフォーマンスをモニタします。IoT Widget Builder Wizard を使用したウィジェットの構築方法については、「カスタム ダッシュボード ウィジェットの構築」セクションを参照してください。

問題の診断

予測される動作からの逸脱を検出するときは、結果をフィルタ処理する条件を追加できます。これにより、特定のデバイスまたは考えられる原因に対して結果を絞り込むことができます。

問題のトラブルシューティングとモニタリングの改善

パフォーマンスの問題については、デバイスの詳細を開いてエラーを分析し、ネットワークリクエストを低速化することができます。デバイスの詳細を使用すると、関心のあるエラーイベントをトレースし、スタックトレースをダウンロードすることもできます。開発者はこの情報を使用して、問題の根本原因を特定し、考えられる解決策を考案することができます。ポイントツーセール デバイスの例に戻ると、失敗した支払いのほとんどの原因がネットワーク リクエスト エラーであることが判明する場合があります。

使用状況情報を使用すると、モニタリングまたはデバイス自体を改善することができます。たとえば、インベントリ管理アプリケーションが複数のストアで特定の製品の販売数が少ないことを示しているとします。これにより、この製品がこれらのストアでしばしば在庫切れになっていることが判明します。カスタムイベントを使用して製品が販売された時点を報告し、カスタムウィジェットを作成してどのストアで在庫を補充する必要があるかを通知することにより、IoT アプリケーションのモニタリングを改善することができます。

IoT 分析

すべての IoT データは、AppDynamics プラットフォーム イベント サービスによって処理および保存されます。別の製品コンポーネントである AppDynamics Analytics には、コネクテッドデバイスデータと呼ばれるイベントタイプがあります。このイベントタイプは、同じイベントサービスに基づいていて、同じデータを使用します。分析 UI からこのイベントタイプを表示すると、以下を含む追加機能が提供されます。

    • 追加の事前定義されたウィジェット(じょうごウィジェットなど)
    • データを検索するための ADQL
    • カスタムウィジェットの作成
    • 複数のダッシュボードタイプの操作
    • データストレージの保持期間延長

IoT 分析では、IoT モニタリングライセンスとは別のライセンスは必要ありません。

接続されたデバイスの分析データを表示するには、ユーザにアプリケーションの Connected Devices Permissions (特定のアプリケーションキーによって識別されます)が必要です。

IoT のライセンスと制限事項

現在、AppDynamics は IoT PRO ライセンスのみを提供しています。ライセンスの権限付与と制限事項については、AppDynamics アカウント担当者にお問い合わせください。