通過本教程,您將學習如何將ACK叢集下的Python應用接入ARMS應用監控,體驗應用效能分析和調用鏈分析等功能,並配置警示。
如需將其他環境下的應用接入應用監控,請參見應用接入。
使用流程
為應用安裝探針。
安裝ack-onepilot組件:ack-onepilot是阿里雲Container ServiceKubernetes提供的系統組件,可以讓部署在Container ServiceKubernetes中的Java、Golang或Python應用接入ARMS。
更新Dockerfile:下載aliyun-bootstrap探針安裝器,安裝探針後使用探針啟動Python應用。
更新YAML:通過在應用的YAML中添加
labels,開啟監控並配置應用在ARMS中的展示名稱。
查看監控資料。
為監控資料配置警示。
準備環境和資源
ACK:
建立Kubernetes叢集。具體操作,請參見建立ACK託管叢集。
建立Python應用。
Python版本要求,請參見ARMS 應用監控支援的 Python 組件和架構。
Python應用需使用以下指令啟動:
aliyun-instrument gunicorn -w 4 -k uvicorn.workers.UvicornWorker -b 0.0.0.0:8000 app:app說明aliyun-instrument指令負責ARMS Python探針初始化配置及無侵入埋點。
如果有使用gevent協程,則需要設定環境變數
GEVENT_ENABLE=true。
如果您沒有可以使用的Python應用,可以參考以下樣本YAML建立。具體操作,請參見建立無狀態工作負載Deployment。
說明樣本YAML建立了以下資源:
空間名稱:arms-demo。以下所有資源均建立在arms-demo命名空間下。
無狀態應用:arms-python-client和arms-python-server。
服務:arms-python-client-svc和arms-python-server-svc。
其中,arms-python-server和arms-python-client的應用代碼分別為:
ARMS:
已開通應用監控計費版本。
應用監控每月提供50 GB的免費額度,當月未使用完的試用額度不會結轉至次月,當月超出免費額度的部分,按照寫入的資料量進行收費。收費詳情,請參見計費說明。
為應用安裝探針
1. 安裝ack-onepilot組件
登入Container Service管理主控台,在叢集列表頁面單擊目的地組群名稱。
在左側導覽列單擊組件管理,然後通過關鍵字搜尋ack-onepilot。
在ack-onepilot卡片上單擊安裝,然後在彈出的對話方塊單擊確定。
說明確保ack-onepilot版本在3.2.4及以上。

2. 更新Dockerfile
從PyPI倉庫下載探針安裝器。
pip3 install aliyun-bootstrap使用aliyun-bootstrap安裝探針。
# 對應的阿里雲帳號的RegionID ARMS_REGION_ID=xxx aliyun-bootstrap -a install通過ARMS Python探針啟動應用。
aliyun-instrument python app.py構建鏡像。
完整的Dockerfile樣本如下:
3. 更新YAML
在頁面選擇應用所在的命名空間,然後在目標應用右側選擇。
在編輯YAML中將以下
labels添加到spec.template.metadata層級下,然後單擊更新。labels: aliyun.com/app-language: python # Python應用必填,標明此應用是Python應用。 armsPilotAutoEnable: 'on' armsPilotCreateAppName: "<your-deployment-name>" #應用在ARMS中的展示名稱。例如,在arms-python-client和arms-python-server應用的YAML中添加配置,開啟監控並配置在ARMS中的展示名稱分別為arms-python-client和arms-python-server。
arms-python-client應用

arms-python-server應用

待容器完成自動重新部署後,等待1~2分鐘,在ARMS控制台的頁面單擊應用程式名稱,查看應用的監控指標。更多資訊,請參見查看監控詳情(新版)。

查看監控詳情
調用鏈分析
監控指標
應用概覽

應用拓撲

配置警示
通過配置警示,您可以制定針對特定應用的警示規則。當警示規則被觸發時,系統會以您指定的通知方式向警示連絡人或釘群發送警示資訊,以提醒您採取必要的解決措施。具體操作,請參見應用監控警示規則。

釋放資源
完成教程後:
如果仍需要繼續監控當前應用,請確保賬戶不要欠費。
如果無需繼續監控當前應用,請卸載探針。具體操作,請參見卸載Python探針。
相關文檔
ARMS應用監控支援在應用的業務日誌中關聯調用鏈的TraceId資訊,從而在應用出現問題時,能夠通過調用鏈的TraceId快速關聯到業務日誌,及時定位、分析並解決問題。更多資訊,請參見Java應用業務日誌關聯調用鏈TraceId。
阿里雲可觀測監控 Prometheus 版預設整合了ARMS應用監控資料來源,您可以直接在可觀測監控 Prometheus 版下擷取應用監控相關資料、查看應用監控預置大盤,並根據需求進行二次開發。更多資訊,請參見通過Prometheus監控擷取ARMS應用監控資料。
> YAML 編輯


