はじめに
シスコのオブサーバビリティ(アプリケーション可観測性)ソリューション,AppDynamics では,アプリケーション性能監視上発生したイベント,インシデントを E メール,HTTP リクエスト(Webhook)等により,様々な 3rd パーティ・ツールに通知することが可能ですが,それだけでなく,代表的な統合型 IT 運用マネジメントツール,ServiceNow とはイベントだけでなく,アプリケーション・トポロジー,ビジネス・トランザクション等より密接なデータ連携を行うことが可能です。
本投稿では,AppDynamics と ServiceNow との連携の概要について解説いたします。
AppDynamics と ServiceNow のデータ連携の全体の流れ
AppDynamics と ServiceNow の連携に関する,公式ドキュメントはこちらになり,データ連携の設定作業の全体の流れは以下のようになります。
- ServiceNow Store から AppDynamics Application Model and Alerting Integration をダウンロード,インストール
カスタム AppDynamics テーブルと,CMDB(Configuration Management Database)が作成されます - データ同期ユーティリティをダウンロード,インストール,設定
AppDynamics and ServiceNow® to アプリケーション・トポロジーを CMDB テーブルと同期します - データ同期ユーティリティ上で,アラートテンプレートをダウンロード,AppDynamics HTTP Request Template として登録
AppDynamics から ServiceNow イベント管理に通知を行うことが可能になります - Java 1.8+ 実行環境をデータ同期ユーティリティを実行するホストにインストール
- ヒープサイズ 512 MB で Java によりデータ同期ユーティリティを実行
AppDynamics – ServiceNow データ同期ユーティリティ
データ同期ユーティリティのダウンロード
AppDynamics Integration with ServiceNow から,データ同期ユーティリティ をダウンロードします。本投稿執筆時点での最新版は 20.7 ですが,こちらは ServiceNow Orlando リリース 以降に対応しています。
データ同期データ同期ユーティリティの実行
データ同期ユーティリティを Java 1.8+ が実行可能なホスト(Linux, Windows, macOS)上で実行します。
cd appdynamics-cmdb-service
nohup java -Xms512m -jar appdynamics-cmdb-service.jar &
データ同期ユーティリティ Web UI 上の設定
Web ブラウザで http://(データ同期ユーティリティ実行ホスト):8080/ にアクセス,公式ドキュメントに記載されている,ユーザ名とパスワードでログイン,以下の設定を行います。なお,4. は AppDynamics コントローラ上の作業です。
- AppDynamics Controllers タブ選択,Add Controller で AppDynamics コントローラへの接続情報を設定
- ServiceNow Instances タブ選択,Add Instance で ServiceNow インスタンスへの接続情報を設定
- Event Integration タブ選択,1. で作成した AppDynamics コントローラ を選択,Download Template で HTTP Request Template をダウンロード
- AppDynamics コントローラ上で Alert& Respond – HTTP Request Template で POST リクエストの Payload としてダウンロードしたテンプレートを設定
- Synchronize タブ選択,Controller と ServiceNow Instance を選択,同期するデータをチェック,Run Diagnostics 実行
- Diagnostics(診断)結果に問題なければ,Synchronize を実行
ServiceNow – AppDynamics 連携
これまでの設定により,ServiceNow 上で以下のようなアプリケーションデータの表示が可能になりました。
アプリケーション・トポロジー
ServiceNow インスタンス UI の左上,Filter navigator にて,AppDynamics を入力しますと,下図のように AppDynamics カスタムテーブルにアクセスできます。
ここでは,アプリケーション・トポロジーも確認できますが,リスト形式では依存関係がわかりづらいので,右上の Show dependency views ボタンをクリックしますと,下図のように,各アプリケーションコンポーネント(アプリケーションサーバ,データベース,リモートサービス,ビジネス・トランザクション等)の依存関係が表示できます。
アプリケーション性能に関連するイベント
Filter navigator にて,All Events を入力しますと,Event Management – All Events テーブルを確認できます。ここで,CI type が x_apd_appdynamics_ で始まっているものが,データ同期ユーティリティにより,AppDynamics から ServiceNow に同期されたイベントとなります。
上図の例では,Portal-Service Node におけるビジネスト・ランザクションでエラーが発生したというイベントが表示されています。
まとめ
本投稿では,アプリケーション性能監視ソリューション,AppDynamics と 統合型 IT 運用マネジメントツール,ServiceNow とのデータ連携の基本的な利用法について解説いたしました。この手法により,すでに ServiceNow を導入されている組織において,アプリケーションの運用に関するデータをより一元的に管理する助けになるかと存じます。