OpenTelemetryオペレーターを使用して自動計装を注入する
KubernetesでPythonサービスを実行する場合、OpenTelemetryオペレーターを活用することで、各サービスを直接修正することなく自動計装を注入できます。 詳細はOpenTelemetryオペレーターによる自動計装のドキュメントを参照してください
Python 固有のトピック
バイナリwheel付きライブラリ
私たちが計装を行ったり、計装ライブラリで必要とするPythonのパッケージの中には、バイナリコードが同梱されていることがあります。
たとえば、grpcio
や psutil
(opentelemetry-instrumentation-system-metrics
で使われている) がそうです。
バイナリコードは、特定のCライブラリのバージョン(glibcまたはmusl)と特定のPythonのバージョンに関連付けられています。 OpenTelemetryオペレーターは、glibc Cライブラリに基づいた単一のPythonバージョン用のイメージを提供します。 もしこれを使いたいのであれば、Python自動計装用のオペレーターDockerイメージを自分で構築する必要があるかもしれません。
オペレーター v0.113.0以降、glibcとmuslベースの自動計装の両方を持つイメージをビルドし、実行時に設定することが可能です。
Django アプリケーション
Django のように独自の実行ファイルから実行されるアプリケーションでは、デプロイファイルに2つの環境変数を設定する必要があります。
PYTHONPATH
には Django アプリケーションのルートディレクトリへのパスを指定します(例: “/app”)。DJANGO_SETTINGS_MODULE
に Django 設定モジュールの名前を指定します(例: “myapp.settings”)。
gevent アプリケーション
OpenTelemetry Python 1.37.0/0.58b0 リリース以降、デプロイファイルで OTEL_PYTHON_AUTO_INSTRUMENTATION_EXPERIMENTAL_GEVENT_PATCH
環境変数を patch_all
に設定すると、自動計装コードはそれ自体を初期化する前に、同じ名前のgeventのモンキーパッチメソッドを呼び出します。
フィードバック
このページは役に立ちましたか?
Thank you. Your feedback is appreciated!
Please let us know how we can improve this page. Your feedback is appreciated!