背景
先日、同じ部署の先輩から
「Dynatraceってエージェントソフトを入れるだけで色々可視化できるって聞いたけど、どこまで可視化できるの?」
という質問をいただきました。
私はよくDynatraceを触っていることもあり、かなり可視化できることを知っていますが、馴染みのない人にとってはどこまで可視化できるか疑問に思うのも頷けます。
そこで、今回はDynatraceのエージェントソフトである OneAgent をLinuxサーバにインストールして可視化できる内容について整理してみたいと思います。
監視対象システム
今回はDynatrace社がGithubで公開しているDockerのデモアプリ(通称EasyTravel)を利用します。
デモアプリのデプロイ手順については以下のGithubのREADMEをご参照ください。
Docker composeを実行すると合計8台のコンテナが起動します。
各コンテナではmongDBやnginxなど様々なテクノロジーが利用されています。
easytravel@dynatrace-docker-demo:~$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
72ffdd82afbb dynatrace/easytravel-headless-loadgen "/bin/sh -c /run-pro…" 33 seconds ago Up 32 seconds headless-angular-loadgen
e0a785b86770 dynatrace/easytravel-loadgen "/bin/sh -c /run-pro…" 33 seconds ago Up 32 seconds loadgen
d9522a2a8bc8 dynatrace/easytravel-headless-loadgen "/bin/sh -c /run-pro…" 33 seconds ago Up 32 seconds headless-customer-loadgen
ef4689f5d8e4 dynatrace/easytravel-nginx "/docker-entrypoint.…" 34 seconds ago Up 33 seconds 0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp, 0.0.0.0:9079->9079/tcp, :::9079->9079/tcp www
37f722b9f91a dynatrace/easytravel-frontend "/bin/sh -c /run-pro…" 35 seconds ago Up 34 seconds 0.0.0.0:32779->8080/tcp, :::32779->8080/tcp frontend
39e4848bb0e0 dynatrace/easytravel-angular-frontend "/bin/sh -c /run-pro…" 35 seconds ago Up 34 seconds 0.0.0.0:32778->8080/tcp, :::32778->8080/tcp angular-frontend
8fcf77e76b12 dynatrace/easytravel-backend "/bin/sh -c /run-pro…" 36 seconds ago Up 35 seconds 0.0.0.0:8091->8080/tcp, :::8091->8080/tcp backend
e7ec67cbfcc3 dynatrace/easytravel-mongodb "/bin/sh -c ${SCRIPT…" 36 seconds ago Up 35 seconds 0.0.0.0:32777->27017/tcp, :::32777->27017/tcp, 0.0.0.0:32776->28017/tcp, :::32776->28017/tcp mongodb
今回、こちらのLinuxサーバにOneAgentをインストールして様々な情報を確認したいと思います。
SmartScape
以下の画像はSmartScapeでOneAgentをインストールしたホストの縦のつながりを可視化したものです。
DynatraceではOneAgentをインストールすることによってデータセンタ、ホスト、プロセス、サービス、アプリケーションの各レイヤーの構成要素を自動で検出して縦のつながりを可視化します。
また、同一レイヤーでトランザクションが発生した場合、そちらも自動で検知して自動で可視化します。
以下の画像はサービスレイヤーで各サービスの依存関係がマッピングされた状態を表しています。
SmartScapeはDynatraceが特許を取得している技術であり、以前ご紹介した 問題の根本原因分析にも活用されています。
ホスト
ホストレイヤーに関する情報を確認します。
以下の画像はOneAgentをインストールしたホストの詳細画面です。
ご覧いただいてわかる通りCPU使用率、メモリ使用量、ネットワークトラフィックといった種々のメトリクスのグラフを表示することができます。
また、プルダウンから表示したいグラフの種類を変更することができ、ここに表示されている以外のグラフも確認することができます。
以下の画像はホスト上で稼働しているプロセスの情報を表示しています。
各プロセスが使用しているCPUやメモリ量の一覧を確認できます。
詳細な情報を確認したい場合はプロセスをクリックすることで詳細画面に遷移します。
以下の画像はホスト上で稼働しているコンテナの情報を表示しています。
先ほど同様、各コンテナの詳細について確認したい場合はコンテナ名をクリックすることで詳細画面に遷移します。
以下の画像は発生したイベントとログ情報を表示しています。
Dynatraceではメトリクスだけでなくログも収集してSaaSで確認することができます。
OneAgentをインストールするだけでここまで確認できるってすごいですね!
プロセス
こちらは先ほどのホスト画面に表示されていたプロセスのうち、Tomcatを選択した画面です。
プロセスが消費したリソースだけでなく各種メトリクス、可用性、イベント、ログ情報と様々な情報を確認することが可能です。
一旦まとめ
このようにDynatraceではOneAgentをインストールするだけですぐに監視をおこなうことができます。
しかし、Dynatraceの凄さはこれだけではないのです!!!...と思ったのですが、区切りがいいので今回はここで締めたいと思います。
(全3部作になりそうな予感がします)
次回はサービス、分散トレースにフォーカスしてお伝えしたいと思います。