自訂內部部署應用程式的 Python 資料收集器

您可以透過修改資料收集器套件中的檔案來設定環境變數,以自訂 Python 應用程式的監視。

提供了 global.environmentconfig.properties 這兩個檔案用來自訂資料收集器設定。 在這些檔案中變更設定之後,請重新啟動 Python 應用程式讓變更生效。

您可以透過修改 global.environment 檔來自訂資料收集器與 Cloud APM 伺服器之間的連線。 如果您想要使用其他 Cloud APM 伺服器而非預設伺服器,或者變更了金鑰檔或其密碼,請修改 Cloud APM 伺服器以將資料收集器重新連接至 Cloud APM 伺服器

您可以透過修改 config.properties 檔並視需要來自訂資料收集器行為,例如啟用或停用方法追蹤。

global.environment 配置檔

表 1 顯示您可在 global.environment 配置檔中設定的變數以及關聯的說明。 可在安裝 Python 資料收集器etc 資料夾中找到 global.environment 檔,例如 /root/.pyenv/versions/3.5.2/lib/python3.5/site-packages/ibm_python_dc/etc 目錄。

表 1. global.environment 檔中受支援的環境變數
變數名稱 重要性 說明
APM_BM_GATEWAY_URL 選用
  • https:
    //<server ip or hostname>:
    443
  • http:
    //<server ip or hostname>:80
目標內部部署伺服器閘道 URL。
APM_KEYFILE_PSWD 選用 金鑰檔的密碼 與金鑰檔配對的金鑰檔密碼。
註: 僅當您將閘道配置為使用 HTTPS 時才設定此變數。
APM_KEYFILE_URL 選用 http://<hosted http server>:<port>/keyfile.p12 用來下載金鑰檔的 URL。
註: 僅當您將閘道配置為使用 HTTPS 時才設定此變數。

config.properties

表 2 顯示您可在 config.properties 配置檔中設定的環境變數以及關聯的說明。 可在 Python 資料收集器的安裝目錄中找到 config.properties 檔,例如,/root/.pyenv/versions/3.5.2/lib/python3.5/site-packages/ibm_python_dc 目錄。

表 2. config.properties 檔中受支援的環境變數
變數名稱 重要性 說明
KPG_ENABLE_DEEPDIVE 選用
  • False
  • True
  • False:預設值。 如果您將此變數設為 False,則不會收集診斷資料。
  • True:如果您將此變數設為 True,將會收集診斷資料。

預設層次為 True

如果您未設定此變數,則不會收集診斷資料。

KPG_DD_CONFIG_FILE 選用 診斷監視配置檔案的檔名。 診斷監視配置檔案的檔名。 預設檔名為 kpg_dd_config.xml
註: 在此檔案中自訂設定之後,您必須將其置於應用程式根目錄中。

如果您未設定此變數,則將會使用資料收集器套件中的預設配置檔案 kpg_dd_config.xml

KPG_DD_APP_PATH 選用 Python 應用程式的路徑。 資料收集器為其收集診斷資料之 Python 應用程式或模組的路徑。 以分號 ; 來區隔您要監視之不同 Python 應用程式與模組的路徑。

如果您未設定此變數,則資料收集器將收集應用程式使用之要求與模組的診斷資料。 將不會收集 Python 檔案庫中的要求資料。

KPG_DD_SECURITY_FILTER 選用
  • True
  • False
  • True:預設值。 如果您將此變數設為 True,則會遮罩 SQL 陳述式中的值(例如密碼),且參數不會顯示在群組小組件要求環境定義中。
  • False:如果您將此變數設為 False,則不會遮罩 SQL 陳述式中的值,且參數將會顯示在群組小組件要求環境定義中。

如果您未設定此變數,則會遮罩 SQL 陳述式中的值(例如密碼),且參數不會顯示在群組小組件要求環境定義中。

KPG_GC_STATS 選用 True 已啟用 Python 記憶體回收的所有統計函數。 如果您將此值設為 True,則它相當於執行下列指令:

gc.set_debug(gc.DEBUG_STATS |
gc.DEBUG_COLLECTABLE |
gc.DEBUG_UNCOLLECTABLE | 
gc.DEBUG_INSTANCES | 
gc.DEBUG_OBJECTS )

若要停用 KPG_GC_STATS,請刪除此環境變數。 請勿將其設為 False

預設值為 True

註: 不得在正式產品環境中設定 KPG_GC_STATS=True。 它僅適用於除錯模式。 另請確保將足夠的記憶體指派給應用程式。
KPG_LOG_LEVEL 選用
  • DEBUG
  • ERROR
  • INFO
  • DEBUG:只會將有用的除錯資訊列印在日誌中,例如,收集的資料、傳送給伺服器的資料以及伺服器回應。
  • ERROR:只會將異常狀況以及非常意外的狀況相關資訊列印在日誌中。
  • INFO:旨在讓使用者瞭解資料收集器正在執行什麼內容的相關摘要資訊將會列印在日誌中。

預設值為 ERROR

KPG_LOG_TOCONSOLE 選用
  • Y
  • True
  • 任何其他非 False
日誌將列印至主控台,您可以透過執行指令 cf logs <appname> 來查看該日誌。

預設值為 True

KPG_SAVE_ALL 選用 True 所有未被參照的物件將儲存至 gc.garbage,您必須每分鐘清除一次 gc.garbage(由資料收集器執行)。 如果您將此值設為 True,則它相當於執行下列指令:
gc.set_debug(gc.SAVE_ALL)
若要停用 KPG_SAVE_ALL,請刪除此環境變數。 請勿將其設為 False

預設值為 True

註:
不得在正式產品環境中設定 KPG_SAVE_ALL=True。 它僅適用於除錯模式。 另請確保將足夠的記憶體指派給應用程式。
APM_GW_PROXY_CONNECTION 選用 http://<server ip or hostname>:port Python 資料收集器用來傳送監視資料的 HTTP 或 HTTPS Proxy。