針對 Azure Chaos Studio 的問題進行疑難解答
當您使用 Azure Chaos Studio 時,您偶爾可能會遇到一些問題。 本文說明常見問題和疑難解答步驟。
一般疑難排解提示
當您針對 Chaos Studio 的問題進行疑難解答時,下列來源很有用:
- 活動記錄: Azure 活動記錄 具有訂用帳戶中所有建立、更新和刪除作業的記錄。 這些記錄包括 Chaos Studio 作業,例如啟用目標或功能、安裝代理程式,以及建立或執行實驗。 活動記錄中的失敗表示使用 Chaos Studio 不可或缺的用戶動作可能無法完成。 大部分的服務直接錯誤也會藉由執行 Azure Resource Manager 作業來插入錯誤,因此活動記錄也會記錄某些服務直接錯誤實驗期間插入的錯誤。
- 實驗詳細數據:實驗執行詳細數據會顯示個別實驗執行的狀態和錯誤。 在實驗詳細數據中開啟特定錯誤會顯示失敗的資源,以及失敗的錯誤訊息。 深入瞭解如何 存取實驗詳細數據。
- 代理程式記錄:如果您使用代理程式型錯誤,您可能需要透過 RDP 或 SSH 連線到虛擬機器(VM),以瞭解代理程式為何無法執行錯誤。 存取代理程式記錄的指示取決於作業系統:
- Chaos Windows 代理程式:代理程式記錄位於 [應用程式] 類別的 [Windows 事件記錄檔] 中,且來源
AzureChaosAgent
為 。 代理程式會將錯誤活動和定期健康情況檢查(能夠向 Chaos Studio 代理程式服務進行驗證和通訊)事件新增至此記錄檔。 - Chaos Linux 代理程式:Linux 代理程式會使用 systemd 來管理代理程式程式做為 Linux 服務。 若要檢視代理程式的 systemd 紀錄(代理程式服務記錄的事件),請執行 命令
journalctl -u azure-chaos-agent
。
- Chaos Windows 代理程式:代理程式記錄位於 [應用程式] 類別的 [Windows 事件記錄檔] 中,且來源
- VM 擴充功能狀態:如果您使用代理程式型錯誤,請確認 VM 擴充功能已安裝且狀況良好。 在 Azure 入口網站 中,移至您的 VM,然後移至 [擴充功能] 或 [擴充功能 + 應用程式]。 選取延伸
ChaosAgent
模組並尋找下列欄位:
新增資源時發生問題
當您新增資源時,可能會遇到下列問題。
資源不會顯示在 Azure 入口網站 的目標清單中
如果您沒有在 Chaos Studio 目標清單中看到想要啟用的資源,可能是因為下列任何問題:
- 資源不在 Chaos Studio 的支援區域中。
- 資源不是 Chaos Studio 中支援的資源類型。
- 資源位於訂用帳戶或資源群組中,在目標清單的篩選條件中篩選掉。 變更訂用帳戶和資源群組篩選,以查看您的資源。
目標或功能啟用失敗,或未在目標清單中正確顯示
如果您在啟用目標或功能時看到錯誤,請嘗試下列步驟:
- 確認您具有所新增資源的適當許可權。 啟用目標或功能需要資源範圍內的 Microsoft.Chaos/* 許可權。 參與者等內建角色具有通配符讀取和寫入許可權,其中包括所有 Microsoft.Chaos 作業的許可權。
- 等候幾分鐘的時間,讓目標和功能清單更新。 Azure 入口網站 會使用 Azure Resource Graph 來收集新增目標和功能的相關信息。 更新最多可能需要五分鐘的時間才能傳播。
- 如果資源仍然顯示 [未啟用],請嘗試下列步驟:
- 再次嘗試啟用資源。
- 如果資源啟用仍然失敗,請移至活動記錄,並尋找失敗的目標建立作業,以查看詳細的錯誤資訊。
- 如果資源顯示 [已啟用 ] 但新增功能失敗,請嘗試下列步驟:
- 在 目標清單中選取 [管理資源上的動作 ]。 檢查未核取的任何功能,然後選取 [ 儲存]。
- 如果功能啟用仍然失敗,請移至活動記錄,並尋找失敗的目標建立作業,以查看詳細的錯誤資訊。
必要條件問題
某些問題是因為缺少必要條件所造成。
虛擬機上的代理程式型錯誤失敗
代理程式型錯誤可能會因為缺少必要條件的各種原因而失敗:
- 在 Linux VM 上,CPU 壓力、物理記憶體壓力、磁碟 I/O 壓力和任意壓力-ng 壓力錯誤都需要在 VM 上安裝壓力-ng 公用程式。 如需如何安裝 stress-ng 的詳細資訊,請參閱錯誤先決條件小節。
- 在 Linux 或 Windows VM 上,在代理程式型目標啟用期間提供的使用者指派受控識別也必須新增至 VM。
- 在Linux或 Windows VM 上,實驗的系統指派受控識別必須授與 VM 上的讀取者角色。 (虛擬機參與者之類的看似提升許可權的角色不包含 Chaos Studio 代理程式讀取 VM 上 Microsoft 代理程式目標 Proxy 資源所需的 */讀取作業。
混亂代理程式不會安裝在虛擬機擴展集上
如果虛擬機擴展集升級原則設定為 手動,在虛擬機擴展集升級原則上安裝 Chaos 代理程式可能會失敗,而不會顯示錯誤。 檢查虛擬機器擴展集升級原則:
- 登入 Azure 入口網站。
- 選取 虛擬機器擴展集。
- 在左窗格中,選取 升級原則。
- 檢查升級 模式 ,以查看其是否設定為 手動 - 必須手動升級現有的實例。
如果升級原則設定為 [手動],您必須升級 Azure 虛擬機器擴展集 實例,以便 Chaos 代理程式安裝完成。
從 Azure 入口網站 升級實例
您可以從 Azure 入口網站 升級 虛擬機器擴展集 實例:
- 登入 Azure 入口網站。
- 選取 虛擬機器擴展集。
- 在左窗格中,選取 [實例]。
- 選取所有實例,然後選取 [ 升級]。
使用 Azure CLI 升級實例
您可以使用 Azure CLI 升級 虛擬機器擴展集 實體:
從 Azure CLI,使用
az vmss update-instances
手動升級您的實例:az vmss update-instances --resource-group myResourceGroup --name myScaleSet --instance-ids {instanceIds}
如需詳細資訊,請參閱 使用最新的擴展集模型讓 VM 更新。
AKS 混亂網格錯誤失敗
Azure Kubernetes Service (AKS) Chaos Mesh 錯誤可能會因為缺少必要條件的各種原因而失敗:
- Chaos Mesh 必須先安裝在 AKS 叢集上,才能使用 AKS Chaos Mesh 錯誤。 如需指示,請參閱 AKS 上的混亂網格錯誤教學課程。
- Chaos Mesh 必須是 2.0.4 版或更新版本。 您可以連線到 AKS 叢集並執行
helm version chaos-mesh
來取得 Chaos Mesh 版本。 - Chaos Mesh 必須與 命名空間
chaos-testing
一起安裝。 不支援 Chaos Mesh 的其他命名空間名稱。 - AKS 叢集 管理員 角色必須指派給混亂實驗的系統指派受控識別。
建立或設計實驗時發生問題
當您建立或設計實驗時,可能會遇到問題。
當我新增錯誤時,我的資源不會顯示在 [目標資源] 清單中
當您新增錯誤時,如果您沒有在 [目標資源] 清單中看到想要以錯誤為目標的資源,可能是因為下列任一問題:
- 訂用帳戶篩選條件會設定為排除部署目標所在的訂用帳戶。 選取訂用帳戶篩選並修改選取的訂用帳戶。
- 尚未新增資源。 移至 [ 目標] 檢視並啟用目標。 然後關閉 [ 新增錯誤] 窗格,然後重新開啟它,以查看更新的目標清單。
- 尚未針對該錯誤的目標類型啟用資源。 請參閱錯誤連結庫,以查看哪個目標類型用於錯誤。 然後移至 [ 目標] 檢視並啟用該目標類型。 此類型是以代理程式為基礎的 microsoft 代理程式錯誤,或所有其他目標類型的服務直接存取。 然後關閉 [ 新增錯誤] 窗格,然後重新開啟它,以查看更新的目標清單。
- 資源尚未啟用該錯誤的功能。 請參閱錯誤連結 庫 ,以查看錯誤的功能名稱。 然後移至 [ 目標] 檢視,然後選取 [管理目標資源上的動作 ]。 選取對應至您嘗試執行之錯誤之功能的複選框,然後選取 [ 儲存]。 然後關閉 [ 新增錯誤] 窗格,然後重新開啟它,以查看更新的目標清單。
- 資源最近已新增,且尚未出現在 Resource Graph 中。 [ 目標資源] 清單是從 Resource Graph 查詢。 啟用新的目標之後,最多可能需要五分鐘的時間,更新才會傳播至 Resource Graph。 等候幾分鐘,然後重新開啟 [ 新增錯誤] 窗格。
當我建立實驗時,我收到「microsoft:agent 提供者需要受控識別」錯誤
當代理程式尚未部署到您的 VM 時,就會發生此錯誤。 如需安裝指示,請參閱 建立和執行使用代理程式型錯誤的實驗。
當我建立實驗時,我收到「不支援內容類型 』null' 的錯誤。 僅支援 'application/json'
如果您使用 Azure Resource Manager 範本或 Chaos Studio REST API 來建立實驗,可能會遇到此錯誤。 錯誤指出實驗定義中有格式不正確的 JSON。 檢查是否有任何語法錯誤,例如不相符的大括弧或括弧 ({} 和 [])。 若要檢查,請使用 JSON linter,例如 Visual Studio Code。
執行實驗時發生問題
當您執行實驗時,可能會遇到問題。
啟動後實驗的執行狀態為「失敗」
從 Azure 入口網站 的 [實驗] 清單中,選取實驗名稱以查看實驗概觀。 在 [歷程記錄] 區段中,選取失敗實驗執行旁邊的 [詳細數據],以查看詳細的錯誤資訊。
我的代理程式型錯誤失敗,並出現錯誤「確認目標已正確新增,且已將適當的讀取許可權提供給實驗 msi」
如果您使用已知問題 Azure 入口網站 新增代理程式,可能會發生此錯誤。 啟用代理程式型目標並不會將使用者指派的受控識別指派給 VM 或虛擬機擴展集。
若要解決此問題,請移至 Azure 入口網站 中的 VM 或虛擬機擴展集,然後移至 [身分識別]。 開啟 [ 使用者指派] 索引標籤,並將使用者指派的身分識別新增至 VM。 完成之後,您可能需要重新啟動 VM,代理程式才能連線。
我的代理程式型錯誤失敗,並出現「代理程式已執行另一項工作」錯誤
如果您嘗試同時執行多個代理程序錯誤,就會發生此錯誤。 目前代理程式一次只支援執行單一代理程序錯誤,而且如果您定義同時執行多個代理程式錯誤的實驗,將會失敗。
設定受控識別時發生問題
當我嘗試將系統指派/使用者指派的受控識別新增至現有的實驗時,它無法儲存。
如果您嘗試將使用者指派或系統指派的受控識別新增至已指派受控識別的實驗,實驗將無法部署。 您必須先刪除所需實驗上現有的使用者指派或系統指派的受控識別,再新增所需的受控識別。
當我執行設定為自動建立和指派自定義角色的實驗時,我會收到「無法解析目標資源」錯誤。 ErrorCode:AccessDenied。 目標資源(s):”
選取實驗的 [自定義角色許可權] 複選框時,Chaos Studio 會建立並指派具有實驗身分識別必要許可權的自定義角色。 不過,這受限於下列角色指派和角色定義限制:
- 每個 Azure 訂用帳戶都有 4000 個角色指派的限制。
- 每個 Microsoft Entra 租使用者的限制為 5000 個角色定義(或 2000 個中國 Azure 的角色定義)。
達到其中一個限制時,就會發生此錯誤。 若要解決此問題,請改為手動將許可權授與實驗身分識別。