簡介
本文介紹如何使用Docker容器中的AppDynamics Python代理來檢測基本的Python Flask應用程式。
必要條件
需求
-
已安裝Docker和Docker Compose
-
AppDynamics控制器(SaaS或內部部署)
-
訪問憑據(帳戶名稱、訪問金鑰、控制器主機)
-
包含Python代理支援的AppDynamics許可證
-
工作應用程式或使用「相關資訊」部分的GitHub連結中提供的應用程式
採用元件
- Python:3.9
- AppDynamics Python代理:25.6
- 基本Docker映像:python:3.9-slim(基於Debian)
- 平台:linux/amd64(如果您在ARM MAC電腦上運行,請確保與AppDynamics二進位制檔案相容)
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
背景資訊
AppDynamics Python代理通過包裝程式pyagent啟動Python入口點來監控您的應用。代理將收集有關HTTP請求、函式計時和錯誤的遙測資料,並將其報告給AppDynamics控制器。
設定
步驟 1:安裝代理並準備代碼
app.py
from flask import Flask
import os
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!";
if __name__ == "__main__":
port = int(os.environ.get("PORT", 3000))
app.run(debug=True,host='0.0.0.0',port=port)
appdynamics.cfg
[controller-info]
host=your-controller-url
port=443
ssl=true
account=your-account-name
accesskey=your-access-key
application=Hello_World_Python
tier=Hello_World_Python_Tier
node=Hello_World_Python_Node
步驟 2:Dockerfile安裝程式
FROM --platform=linux/amd64 python:3.9-slim
ENV APPD_AGENT_VERSION=25.6.0.7974
COPY . /app
WORKDIR /app
RUN chmod +x ./app.py
RUN pip install -U "appdynamics==${APPD_AGENT_VERSION}" -r requirements.txt
CMD pyagent run -c appdynamics.cfg -- python ./app.py
步驟 3:Docker撰寫檔案
version: "2"
services:
apps:
build:
context: .
image: python-flask-appdynamics-demo
platform: linux/amd64
ports:
- "3000:3000"
驗證
步驟 1:構建和運行
docker build --no-cache -t python-flask-appdynamics-demo .
docker run -p 3000:3000 python-flask-appdynamics-demo
步驟 2:轉到AppDynamics儀表板

疑難排解
問題
|
可能起因
|
解析
|
未在儀表板中顯示應用
|
錯誤的訪問金鑰或控制器資訊
|
檢查appdynamics.cfg憑據
|
AppDynamics未記錄
|
未觸發Pyagent
|
檢查CMD是否使用pyagent run ...
|
相關資訊
AppDynamics文檔
安裝Python代理
GitHub Python AppDynamics演示
需要進一步協助?
如果您遇到問題或遇到問題,請建立包含以下詳細資訊的asupport票證:
- 錯誤詳細資訊或螢幕截圖:提供特定錯誤消息或問題的螢幕截圖。
- 使用的命令:指定發生問題時正在運行的確切命令。
- Python代理日誌:如果生成,則從/tmp/appd/*/logs/提供代理日誌。