Python のモニター

Instana ホストエージェントをインストールした後、 Instana Python パッケージ( Python Tracerまたはインプロセスコレクターとも呼ばれます)をインストールすることで、 Python アプリケーションを監視できます。 このパッケージは、 Python アプリケーションからパフォーマンス指標と分散トレースを収集し、ボトルネックの特定やアプリケーションパフォーマンスの最適化を支援します。 これらのメトリクスとトレースは、 Instana のUIで確認できます。

スタン・ラヴス Python

詳細については、 「 Instana ホストエージェント」 を参照してください。

使用法

Instana Python パッケージはゼロ構成のツールであり、Python プロセスから主要なメトリックと分散トレースを自動的に収集します。

注:Instana、 Python、 3.0.0 およびそれ以降のバージョンでは、 OpenTelemetry API を通じてカスタムトレースがサポートされています。 詳細については、 Python および OpenTelemetry をご覧ください。

インストール方法

以下のセクションで説明されているように、自動インストールまたは手動インストールを行うことができます:

自動インストール

Instana Instana AutoTrace™ を使用すると、 Python アプリケーションへの監視設定が自動的にリモートで行われます。ただし、パッケージを手動でインストールしたい場合は、以下の 「手動インストール 」を参照してください。

Kubernetes

Instana ( AutoTrace )のWebhookは、 Kubernetes のMutating Webhook Admission Controllerを実装したものであり、 Kubernetes クラスタ全体において、 Instana を使用して Python アプリケーションを監視するために必要なすべての設定を自動的に行います。

Kubernetes クラスターに Instana ( AutoTrace )のWebhookをインストールすれば、そのクラスター上で実行されている Python アプリケーションのトレースを行うために、手動での操作は一切必要ありません。

Python アプリケーションと Instana エージェントが Kubernetes によって管理されている場合は、この構成に必要な設定に関する情報について、 Kubernetes のネットワークアクセスに関するドキュメントを確認してください。

注:Instana ( AutoTrace )のWebhookは、 2.0.0Python センサー以降のみをインストールし、 Python ( 2.7 )などのレガシーランタイムには対応していません。

関連コンポーネントのサポート対象バージョンを確認するには、 「サポート対象のコンポーネントとバージョン」 を参照してください。 レガシーランタイムで作業する必要がある場合は、以下を参照してください。手動インストールセクション。

手動インストール

注: 非推奨となった OpenTracing API をサポートする Instana Python パッケージのインストール方法については、 Python OpenTracing (非推奨) を参照してください。

次のコマンドを実行することで、 Instana ( Python )パッケージをvirtualenv、pipenv、またはコンテナに手動でインストールできます:

pip install instana

既存のインストール済み環境を更新するには、次のコマンドを使用します。

pip install -U instana

次に、組織のニーズに基づいて、以下の 2 つのセクションのいずれかのアクションを実行します。

コード変更なしのアクティブ化

Instana では、アプリケーションのコードを一切変更せずに Instana Python パッケージをアクティブ化できます。 これにより、アプリケーション・コードの変更に関わるプロセスの多く (プル要求、品質保証、ステージング、本稼働環境へのデプロイなど) を回避できます。

コードを変更せずに Instana パッケージをアクティブにするには、次の環境変数にご使用の Python アプリケーションを設定するだけです。

export AUTOWRAPT_BOOTSTRAP=instana

Instana Python パッケージはアプリケーションのブート時に自動的にロードされ、Python アプリケーションをインスツルメントします。

注: この有効化方法は、`gevent` ベースのアプリケーションでは機能しません。なぜなら、有効化を行うには、まず `gevent` を有効化し、` monkey.patch_all ()` 関数を呼び出す必要があるからです。 Python3.12 以降で`AUTOWRAPT_BOOTSTRAP`環境変数を使用するには、`setuptools`パッケージをインストールする必要があります。

コード変更を伴うアクティブ化

あるいは、instana パッケージを Python アプリケーション・コード内に手動でインポートするには、以下をアプリケーション・コードに追加します。

import instana

Django、Flask、エンドユーザーモニタリング(EUM)などに関する詳細については、「 フレームワーク 」のセクションをご覧ください。

構成

すぐに使用可能なメトリックと分散トレースについては、構成は不要です。 ただし個々のコンポーネントは構成可能です。 詳細については、 「 Python 」 の設定を参照してください。

Cloud Foundry

注: このセクションでは、 Cloud Foundry FoundationのDiegoセル上で Instana エージェントが実行されていることを前提としています。 基盤となる Diego セルでエージェントが実行されていない場合、Cloud Foundry アプリケーションのモニタリングはサポートされません。

さらに、Tile バージョン 1.177.0 以降では instana_buildpack により Cloud Foundry での Python アプリケーションのセットアップが自動化されます。 詳細については、『 Instana Buildpack 』のドキュメントを参照してください。

Instana エージェントの設定方法、および関連する Cloud Foundry やPivotal Platformの機能については、『 Cloud Foundry 』および『Pivotal Platform』のドキュメントをご参照ください。

Python Cloud Foundry アプリケーションをモニターするには、以下のステップを実行する必要があります。

  • instana Python パッケージを requirements.txt ファイルに追加する
  • 以下に示すように、値 instana を持つ AUTOWRAPT_BOOTSTRAP 環境変数をアプリケーション・マニフェストに追加します。
  • Cloud Foundry アプリケーションに対して cf push を実行する。
---
applications:
- name: test-python-flask
  buildpacks:
    - python_buildpack
  env:
    AUTOWRAPT_BOOTSTRAP: instana

ソフトウェア開発キット(SDK)

Instana のSDKを使用すれば、他のツールやサービスとシームレスに連携させることができます。

Instana のネイティブ SDK

Instana の Python トレーサーパッケージには、 Python 用のトレーシングSDKが含まれています。 このSDKは、公開されているオープンソースの API として提供されています。 ソースコードの全文およびCodeForgeに関する詳細については、 Instana の「 Python 」トレーサーパッケージをご覧ください。 Python Tracing SDK のインストールに関する詳細については、 「インストール方法 」のセクションを参照してください。 Python アプリケーションの計測方法の例については、 Python Tracing SDKを参照してください。

OpenTelemetry

Instana Python 3.0.0 また、それ以降のバージョンでは、 OpenTelemetry ( OTel )API を通じてカスタムトレースがサポートされています。 OTel アプリケーションからメトリクス、ログ、トレースなどのテレメトリデータを計測、収集、分析できるようにするオブザーバビリティ・フレームワークです。 詳細については、「 OpenTelemetry 」ポータルをご覧ください。

OpenTracing

Instana Python 2.5.3 また、以前のバージョンでは、非推奨となった OpenTracing API を通じてカスタムトレースをサポートしています。 詳細については、 Python および OpenTracing をご覧ください。