共用方式為


如何使用 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

在 Linux 中檢查 Python 版本之命令的螢幕擷取畫面。

如果已安裝多個版本,則可以安裝多個版本的 Python 並建立別名,請使用:

ls -ls /usr/bin/python*

檢查 Linux 中 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-*"

Bash 視窗的螢幕擷取畫面,其中顯示 AMA 安裝目錄 ls 命令的結果。

如果目錄不存在或安裝失敗,請遵循基本疑難排解步驟

如果目錄存在,請繼續執行疑難排解

執行疑難排解

在要診斷的機器上,執行代理程式疑難排解。

記錄模式啟用記錄的收集,然後可以壓縮成 .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 檔案輸出至您指定的輸出目錄。 請耐心等待,直到此流程完成為止。

Bash 視窗的螢幕擷取畫面,其中顯示使用 -L 選項執行 AgentTroubleshooter 產生記錄的結果。

常見問題集

我可以將疑難排解程式從新版代理程式複製到舊版代理程式,並在舊版代理程式上執行,以診斷舊版代理程式的問題嗎?

您無法藉由複製疑難排解程式來用它診斷舊版代理程式。 您必須擁有最新版的代理程式,疑難排解程式才能正常運作。

後續步驟