如何使用 Linux 作業系統 (OS) Azure 監視器代理程式疑難排解
警告
本文參考 CentOS,這是處於終止服務 (EOL) 狀態的 Linux 發行版。 請據此考慮您的使用方式和規劃。 如需詳細資訊,請參閱 CentOS 生命週期結束指導。
Azure 監視器代理程式 (AMA) 疑難排解程式的設計目的是協助識別代理程式的問題,以及執行一般健康情況評估。 它可以執行各種檢查,以確保代理程式已正確安裝並連線,也可以從所診斷的機器收集 AMA 相關記錄。
注意
AMA 疑難排解是一個可執行檔,隨附於適用於 Linux 的 1.25.1。
必要條件
Python 需求
Linux AMA 疑難排解需要計算機上安裝 Python 2.6+ 或任何 Python 3 版本。
若要檢查電腦上是否已安裝 python,請複製下列命令,並在 Bash 中以 root 身分執行:
sudo python -V
sudo python3 -V
如果已安裝多個版本,則可以安裝多個版本的 Python 並建立別名,請使用:
ls -ls /usr/bin/python*
如果您的虛擬機器使用依預設不包含 Python 3 的發行版,則必須加以安裝。 下列範例命令將會在不同的發行版上安裝 Python 3:
sudo yum install -y python3
此外,需要執行下列 Python 套件 (所有套件都應該出現在預設安裝 Python 2 或 Python 3 上):
Python 套件 | Python 2 的必要項目? | Python 3 的必要項目? |
---|---|---|
copy | 是 | 是 |
Datetime | 是 | 是 |
json | 是 | 是 |
os | 是 | 是 |
平台 | 是 | 是 |
re | 是 | 是 |
requests | 否 | 是 |
shutil | 是 | 是 |
子流程 | 是 | 是 |
url lib | 是 | 否 |
xml.dom.minidom | 是 | 是 |
疑難排解是否存在檢查
檢查電腦上是否有要診斷的 AMA 代理程式疑難排解目錄,以確認代理程式疑難排解的安裝:
/var/lib/waagent/Microsoft.Azure.Monitor.AzureMonitorLinuxAgent-{version}
若要確認有 Azure 監視器代理程式疑難排解,請複製下列命令,並在 Bash 中以 root 身分執行:
ls -ltr /var/lib/waagent | grep "Microsoft.Azure.Monitor.AzureMonitorLinuxAgent-*"
如果目錄不存在或安裝失敗,請遵循基本疑難排解步驟。
如果目錄存在,請繼續執行疑難排解。
執行疑難排解
在要診斷的機器上,執行代理程式疑難排解。
記錄模式啟用記錄的收集,然後可以壓縮成 .tgz 格式進行匯出或檢閱。 互動式模式可讓使用者主動參與疑難排解案例,並直接在殼層內檢視輸出。
若開始 Azure 監視器代理程式疑難排解記錄模式,請複製下列命令,並在 Bash 中以 root 身分執行:
注意
您必須更新 {version} 以符合已安裝的版本號碼。 在下列範例中,版本是 1.28.11。
cd /var/lib/waagent/Microsoft.Azure.Monitor.AzureMonitorLinuxAgent-{version}/ama_tst/
sudo sh ama_troubleshooter.sh -L
輸入輸出記錄的路徑。 例如,您可以使用 /tmp.。
這會執行一系列活動,並將 .tgz 檔案輸出至您指定的輸出目錄。 請耐心等待,直到此流程完成為止。
常見問題集
我可以將疑難排解程式從新版代理程式複製到舊版代理程式,並在舊版代理程式上執行,以診斷舊版代理程式的問題嗎?
您無法藉由複製疑難排解程式來用它診斷舊版代理程式。 您必須擁有最新版的代理程式,疑難排解程式才能正常運作。