Monitoring Python -Instana Python 套件

Stan 喜歡 Python

The Instana Python package: Python Distributed Tracing & Metrics Sensor.

使用情形

Instana Python 套件是一個零配置工具,可自動從 Python 程序收集關鍵度量及分散式追蹤資料。

安裝

自動安裝

Instana 從遠端透過 Instana AutoTrace™自動監控您的 Python 應用程式。 不過,如果您偏好手動安裝套件,請參閱 手動安裝 ,如下所示。

Kubernetes

Instana AutoTrace WebHook 是 Kubernetes 轉換 WebHook 許可控制器的實作,它會在整個 Kubernetes 叢集中自動設定使用 Instana 監視 Python 應用程式所需的一切。

如果您在 Kubernetes 叢集上安裝 Instana AutoTrace WebHook ,則不需要執行任何手動步驟來追蹤在那些叢集裡執行的 Python 應用程式。

如果您的 Python 應用程式及 Instana 代理程式是由 Kubernetes管理,請檢查 Kubernetes 網路存取權 上的說明文件,以取得此設定中所需配置的相關資訊。

附註: Instana AutoTrace WebHook 只會安裝 Python 感應器 2.0.0 及更新版本,不會提供對舊式執行時期 (例如 Python 2.7) 的支援。 若要檢查支援哪些版本的相關元件,請參閱 支援的元件及版本。 如果您需要使用舊式執行時期,請參閱下列 手動安裝 小節。

已淘汰: 舊式 Python AutoTrace

透過主機代理程式機制自動安裝 Python AutoTracing 已 淘汰

監視 Python 應用程式的偏好方法是 AutoTrace WebHook ,它提供增加的穩定性及可防止未來的解決方案。 不過,此方法僅適用於 Kubernetes/OpenShift。 如果您的應用程式不在 Kubernetes上,您可以執行下列步驟:

  1. 手動檢測 Python 應用程式。
  2. 暫時啟用已淘汰的 透過主機代理程式的舊式自動安裝機制 (僅限Linux x86 ) ,直到發生手動檢測為止。 附註: 這需要檢測機器能夠呼叫到 pip附註: 這些步驟在氣隙環境或限制輸出的類似環境中無法運作。

手動安裝

適用於 Python 3.7 以及更新版本的執行時期

您可以執行下列指令,將 Instana Python 套件手動安裝至 virtualenv、pipenv 或儲存器:

pip install git+https://github.com/instana/python-sensor@v2.0.7

若為 Python 3.6 及更早版本的運行環境

Instana Python 套件 (在 PyPI上管理) ( 2.0.0 版及更舊版本) 適用於舊式 Python 執行時期版本 (小於或等於 3.6)。 若要安裝 PyPI管理的 Instana Python 套件,請執行下列指令:

pip install instana

若要更新現有安裝,請執行下列指令:

pip install -U instana

然後,根據您組織的需求,繼續完成下列兩個區段之一的動作。

在沒有程式碼變更的情況下啟動

Instana 提供一種方法來啟動 Instana Python 套件,而無需修改應用程式中的單一程式碼行。 這可讓您避免涉及應用程式碼變更的許多處理程序,例如拉取要求、品質保證、暫置及部署至正式作業。

若要啟動 Instana 套件而不進行任何程式碼變更,只需為 Python 應用程式設定下列環境變數:

export AUTOWRAPT_BOOTSTRAP=instana

Instana Python 套件將在應用程式開機時自動載入,並檢測您的 Python 應用程式。

  • 附註: 此啟動方法將不適用於以 gevent為基礎的應用程式。 這是因為必須先啟動 gevent 並呼叫 monkey.patch_all()

使用程式碼變更來啟動

或者,若要手動將 instana 套件匯入至 Python 應用程式碼內,請將下列內容新增至應用程式碼:

import instana

如需 Django、Flask、End-user Monitoring (EUM) 及其他相關資訊,請參閱 Frameworks 一節。

配置

對於現成度量和分散式追蹤,不需要任何配置。 不過,個別元件是可配置的。 如需相關資訊,請參閱 Python 配置

Cloud Foundry

附註: 本節假設 Instana 代理程式在 Cloud Foundry 基礎的 Diego Cell 上執行。 如果沒有在基礎 Diego Cell 上執行代理程式,則不支援監視 Cloud Foundry 應用程式。 此外,從 Tile 1.177.0版開始, instana_buildpack 會自動在 Cloud Foundry上設定 Python 應用程式。 如需相關資訊,請參閱 Instana 建置套件 說明文件。

如需如何設定 Instana 代理程式及相關 Cloud Foundry 或 Pivotal Platform 功能的相關資訊,請參閱 Cloud Foundry 及 Pivotal Platform 文件。

監視 Python Cloud Foundry 應用程式需要下列步驟:

  • instana Python 套件新增至 requirements.txt 檔案
  • 將值為 instanaAUTOWRAPT_BOOTSTRAP 環境變數新增至應用程式資訊清單,如下所示:
  • cf push Cloud Foundry 應用程式
---
applications:
- name: test-python-flask
  buildpacks:
    - python_buildpack
  env:
    AUTOWRAPT_BOOTSTRAP: instana

軟體開發套件

Instana 原生 SDK

Instana 的 Python 追蹤器套件包含 Python的追蹤 SDK。 SDK 採用公用開放程式碼 API 的形式。 如需完整原始碼和程式碼 forge 的相關資訊,請參閱 Python 追蹤器套件。 如需安裝 Python 追蹤 SDK 的相關資訊,請參閱 安裝 一節。 如需如何檢測 Python 應用程式的範例,請參閱 Python 追蹤 SDK

OpenTracing

Instana Python 套件支援透過舊式 OpenTracing API 進行自訂追蹤。 如需相關資訊,請參閱 Python OpenTracing

疑難排解

請參閱我們的專用 疑難排解文件

版本

如需 Instana Python 套件版本歷程 (包括對套件所做的變更) ,請參閱 Github 版本 頁面。

另請參閱