Contrastランナー
バージョン5.24.0より、Pythonエージェントは、 Pythonアプリケーションを検査するための新しいコマンドラインインターフェイス(別名、ランナー)を提供するようになりました。原則として、ランナーを使う場合、ミドルウェアを手動で設定する必要がなくなりました。代わりに、Contrastランナーが自動的にフレームワーク固有のエージェント組込みをアプリケーションに適用します。
注記
ランナーまたはラッパースクリプトを使用するインストゥルメントツールは、Contrastランナーと競合する可能性があります。Contrastランナーを他のインストゥルメントツールと共に使用する際にアプリケーションの起動に問題がある場合は、Contrastのミドルウェアを使用してアプリケーションを設定してください。
ランナーのコマンドはcontrast-python-run
は呼ばれ、 contrast-agent
パッケージの一部として提供されます。contrast-agent
パッケージを インストールしたら、ほとんどのPython環境で何も変更することなく、コマンドラインで使用できます。
ランナーの使用
ランナーを使用するには、アプリケーションを起動する元のコマンドの先頭に、contrast-python-run
コマンドを追加します。
例えば、以下のコマンドで起動するDjangoアプリケーションの場合:
python manage.py runserver
このアプリケーションにContrastを追加するには、以下のコマンドを実行します。
contrast-python-run -- python manage.py runserver
注記
ダッシュ2個の区切り文字「--」は、ランナーコマンドの引数と、元のコマンドの引数を分けるために使用します。
別の例として、以下のコマンドで起動するFlaskアプリケーションの場合:
FLASK_APP=apps/app.py flask run --host=localhost --port=8080
Contrastランナーを使用すると以下のようになります(環境変数の設定はランナーコマンドの前に行うことに注意)。
FLASK_APP=apps/app.py contrast-python-run -- flask run --host=localhost --port=8080
contrast-python-run
コマンドは、uwsgiやgunicornなどのWebサーバでデプロイしている場合にも使用できます。例:contrast-python-run -- gunicorn apps/app:app --preload -b localhost:8080
また、mod_wsgi-expressを使ってApacheにデプロイしている場合にも使用できます。例:
contrast-python-run -- mod_wsgi-express start-server app/wsgi.py --user=www-data --group www-data
ランナーは、Contrastの設定の通常の優先順位に従います。コマンドラインから直接ランナーで環境変数を使用することも可能です。
CONTRAST__AGENT__LOGGER__LEVEL=DEBUG contrast-python-run -- python manage.py runserver