DynatraceでPythonアプリケーションのパフォーマンスを監視する♪
Dynatrace で Pythonアプリケーションを監視するための、Oneエージェントエクステンション(下記)がリリースされたので紹介します。
https://github.com/dlopes7/autodynatrace
2020年5月末の時点で、これは、Dynatrace社員によって開発された(公式ではない)プライベートなエクステンションになりますが、簡単にPythonアプリケーションのパフォーマンスを可視化できますので、是非お試しください!
対応モジュール
celery
concurrent.futures
confluent_kafka
cx_Oracle
django
flask
grpc
pika (RabbitMQ)
pymongo
pysnmp
redis
ruxit (Dynatrace plugin framework)
sqlalchemy
urllib3
custom annotations
手順
1. 監視対象のPythonが動作するホスト上に、Oneエージェントをインストールします。Dynatraceのメニュー”Deploy Dynatrace”から、コマンド3つをコピーして叩くだけですね!(Linuxの場合)
2. 以下のコマンドで、エクステンションモジュールをインストールします
pip install autodynatrace
3. 監視対象のPythonのコードに以下を追加して、エクステンションモジュールを組み込みます
import autodynatrace
4. 監視対象のPythonを実行します
結果
以下、Flask から SQLAlchemy で SQLite をupdate するシンプルなアプリでの例になります。
1. Dynatraceメニューの”Hosts”から、監視対象のホストを表示します。Pythonプロセスが検出されています。これはエクステンションが使用されていない場合でも同じですね。このPythonプロセスをクリックします
2. ここからがエクステンション導入効果になります。Pythonプロセス上でFlaskがサービスとして検出されています!(嬉しい♪)Flaskをクリックし、サービスとしてのパフォーマンスを見てみます。
3. 中央のInfoGraphicに、前後の通信相手がきっちり捉えられています。サービスとしての応答時間、エラー率、スループットも監視されていますね
(Dynatraceの場合、AIがこれらメトリックの異常を自動で監視します)
FlaskがコールしているSQLiteをクリックしてみると...
Databaseとしてのパフォーマンスが監視されています!下図のように"Anlyze outlier"(外れ値分析)から、特別処理時間が遅かったSQLクエリを簡単に割り出すこともできます
Dynatraceの理念 = Do more with less! (より少ない手間でより多くを行う)
このエクステンションにも宿っているようですね♪
Dynatraceを試してみたい!という方へ!
https://www.dynatrace.com/ja/ から、フリートライアル(2週間)のお申し込みができます。数分後にはDynatraceのテナントをご利用頂けます
Author And Source
この問題について(DynatraceでPythonアプリケーションのパフォーマンスを監視する♪), 我々は、より多くの情報をここで見つけました https://qiita.com/HH_Dynatrace/items/5ce28c2aeb9c931a1908著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .