AppDynamics による Docker コンテナへの完全な可視性

本日、当社は、Docker コンテナの内部および周辺についてアプリケーション中心のビューを提供する AppDynamics Docker モニタリングソリューション
を発表いたしました。分散したアプリケーションやビジネストランザクションのパフォーマンスを、複数のコンテナに渡っていても、
タグ付け、トレース、モニターすることができます。
以前、AppDynamics Docker モニタリングソリューションについて詳しく取り上げたので、ここでは
Docker の前提を簡単に整理し、もう一つのホットなトレンドであるマイクロサービスと Docker の相乗効果について強調している、私の同僚 Jonah Kowall による
「マイクロサービスの可視化と追跡」という最近のブログを紹介します。

Docker とは?
Docker は、どこでもアプリをビルド、出荷、実行できる分散アプリケーションの開発者やシステム管理者のための
オープンなプラットフォームです。Docker を使うと、ソフトウェアの分散化、テスト、実行を容易にするために、どのようなツールを使用したかに関わらず、

任意のプラットフォームでアプリケーションを実行できます。私は、このわずか 5 分の Docker のビデオが分かりやすい概要を即座に把握するのに、とても役立つことが分かりました。もし、
さらに詳しく学びたい場合は、Docker のウェブのページへアクセスし、この Docker 概要ビデオをご覧ください。
Docker は、多数のリソースなしでテストを行いたい人が、ソフトウェアの変更やパッケージ化を簡単に行えるようにします。AppDynamics では、
開発、テスト、デモ環境で完全に Docker を活用しています。たとえば、
我々のデモ環境のスクリーンショットでご覧いただけるように、jBoss、Tomcat、MongoDB、Angularjs、その他のさまざまなアプリケーション環境についての
Screen Shot 2015-05-11 at 11.15.07 AM.png
さまざまなデモ用ユースケースのプロビジョンで Docker を活用しています。

さらに、AppDynamics Docker レポからパッケージ化されたアプリケーションをダウンロード、展開、テストすることで、
AppDynamics のテストをドライブすることもできます。

AppDynamics で得られる Docker 環境への完全な可視性
AppDynamics は、Docker モニタリングソリューションを使用して Docker 環境で展開された、複数の小さい、分離された (マイクロ) サービスで構成されるアプリケーションやビジネストランザクションへの
可視性を提供します。AppDynamics Docker モニタリング拡張は、次のようなさまざまな指標をモニター、レポートします:
コンテナの総数、実行中のコンテナ、イメージ、CPU 氏擁立、メモリ使用率、ネットワークのトラフィック、
など。AppDynamics Docker モニタリング拡張は、データ収集プロトコルの選択の幅を広げる、Unix ソケットまたは TCP を使用して、
Docker リモート API から指標を収集します。
ここで、Docker の指標を、コンテナで実行中のアプリケーションからの指標と関連付けることができます。たとえば、下のスクリーンショットにあるように、Docker コンテナで展開した Web サーバーの全体的なパフォーマンス (赤色は毎分当たりのコール数) を、
Docker のパフォーマンス指標 (ネットワークの送信/受信や CPU 使用率)
と関連付けることができます。毎分当たりの Web サーバーへのコール数が増えると、
ネットワークのトラフィックや CPU 使用率も増えることが分かります。
docker_metric_browser_with_cpu.png

既に Docker 環境で実行されている指標と関連付けながら、すべての Docker の指標について、AppDynamics の中心的な機能 (例、動的ベースライニング、正常性ルール、ポリシー、アクションなど) を
活用することができます。
また、Docker モニタリング拡張は、下のスクリーンショットに示されているような主要な Docker 指標を使って、
すぐに使えるカスタムのダッシュボードを作ることもできます。 このすぐに使えるダッシュボードで、Docker 環境のモニタリングをすぐに始められます。
docker_custom_dashboard.png

AppDynamics Docker モニタリング拡張をダウンロードし、拡張ページの指示に従って、セットアップ、設定すると、
Docker 環境や、そこで実行されているアプリケーションに対するエンドツーエンドの可視性が得られます。