練習 - 使用計量警示來警示 Azure 環境中的效能問題

已完成

您服務的貨運公司希望將來在 Azure 平台上更新其應用程式時,不會發生任何問題。 為了改善 Azure 中的警示功能,您選擇使用 Azure 計量警示。

在本練習中,您會建立 Linux 虛擬機器 (VM)。 此虛擬機器會執行會以 100% CPU 使用率執行的應用程式。 您會在 Azure 入口網站與 Azure CLI 中建立監視規則,以在高 CPU 使用率時對您發出警示。

建立 VM

此 VM 會執行強調 CPU 並產生觸發警示所需計量監視資料的特定設定。

  1. 從建立設定指令碼開始。 若要建立具有 VM 設定的 cloud-init.txt 檔案,請在 Azure Cloud Shell 中執行下列命令:

    cat <<EOF > cloud-init.txt
    #cloud-config
    package_upgrade: true
    packages:
    - stress
    runcmd:
    - sudo stress --cpu 1
    EOF
    
  2. 若要設定 Ubuntu Linux VM,執行下列 az vm create 命令。 此命令會使用您在上一個步驟中所建立的 cloud-init.txt 檔案來設定新建立的 Ubuntu Linux VM。

    az vm create \
        --resource-group "<rgn>[sandbox resource group name]</rgn>" \
        --name vm1 \
        --location eastUS \
        --image Ubuntu2204 \
        --custom-data cloud-init.txt \
        --generate-ssh-keys
    

使用 Azure 入口網站建立計量警示

注意

等到 VM 成功建立之後,再繼續進行此練習。 當您在 Azure Cloud Shell 視窗中取得已完成的 JSON 輸出時,VM 建立流程就完成了。

您可以使用 Azure 入口網站或 CLI 來建立計量警示。 在本練習中,我們會討論這兩者,並從 Azure 入口網站開始。

  1. 使用啟用沙箱時所用的相同帳戶來登入 Azure 入口網站

  2. 在 Azure 入口網站的功能表上,搜尋並選取 [監視器]。 在 [監視器概觀] 頁面上,選取 [警示]

  3. 開啟 [+ 建立] 功能表,並選取 [警示規則]

  4. [選取資源] 窗格上,設定警示規則的範圍。 您可以依訂閱、資源類型或資源位置來篩選。

  5. 在 [資源類型] 下拉式清單中,開始輸入「虛擬機器」並選取 [虛擬機器]

  6. 勾選 vm1 旁的核取方塊,然後選取窗格底部的 [套用]

    此螢幕擷取畫面顯示 [選取資源] 窗格,其中已選取 [vm1]。

  7. 選取頁面底部的 [下一步: 條件]

  8. [訊號名稱] 下拉式清單中,選取 [百分比 CPU]

  9. [警示邏輯] 區段中,針對每個設定輸入 (或確認) 下列的值。

    設定
    警示邏輯
    臨界值 靜態
    彙總類型 最大值
    運算子 大於
    臨界值 90
    何時評估
    檢查間隔 1 分鐘
    回顧期間 1 分鐘

    此螢幕擷取畫面顯示計量條件邏輯的設定。

  10. 選取頁面頂端的 [詳細資料] 索引標籤。 在 [警示規則詳細資料] 中,針對每個設定輸入下列值。

    設定
    嚴重性 2 - 警告
    警示規則名稱 Cpu90PercentAlert
    描述 虛擬機器正以等於或大於 90% 的 CPU 使用率來執行
  11. 展開 [進階選項] 區段,並為每個設定確認下列值。

    設定
    在建立時啟用 是 (已核取)
    自動解決警示 是 (已核取)

    此螢幕擷取畫面顯示已完成填寫 [警示規則詳細資料] 區段的設定。

  12. 選取 [檢閱 + 建立] 來驗證您的輸入,然後選取 [建立]

您已成功建立計量警示規則,該規則會在 VM 上的 CPU 百分比超過 90% 時觸發警示。 該規則每分鐘會檢查一次,並檢閱一分鐘的資料。 計量警示規則最多需要 10 分鐘才會變成作用中狀態。

透過 CLI 建立計量警示

您也可以使用 CLI 設定計量警示。 此流程可能比使用入口網站更快速,特別是當您打算設定多個警示時。

讓我們建立一個類似於您在 Azure 入口網站中設定的新計量警示。

  1. 在 Cloud Shell 中執行下列命令,以取得您稍早建立之虛擬機器的資源識別碼:

    VMID=$(az vm show \
            --resource-group "<rgn>[sandbox resource group name]</rgn>" \
            --name vm1 \
            --query id \
            --output tsv)
    
  2. 執行下列命令以建立新的計量警示。 當 VM CPU 大於 80% 時,便會觸發警示。

    az monitor metrics alert create \
        -n "Cpu80PercentAlert" \
        --resource-group "<rgn>[sandbox resource group name]</rgn>" \
        --scopes $VMID \
        --condition "max percentage CPU > 80" \
        --description "Virtual machine is running at or greater than 80% CPU utilization" \
        --evaluation-frequency 1m \
        --window-size 1m \
        --severity 3
    

在 Azure 監視器中檢視計量警示

在此練習中,您會設定 Ubuntu VM,並將其設定為對 CPU 進行壓力測試。 您也建立了計量規則,以偵測最大 CPU 百分比超過 80% 和 90% 的時機。

注意

可能需要 10 分鐘的時間,您才會在 Azure 入口網站中看到警示。

  1. 返回 Azure 入口網站

  2. 在 Azure 入口網站功能表上,選取 [監視],然後選取左功能表窗格中的 [警示]

    此步驟會顯示 [警示摘要] 窗格,讓您可在其中查看警示數目的計數。 如果您沒有看到您的警示列出,請稍候幾分鐘,然後選取 [重新整理]

    此螢幕擷取畫面顯示 [警示摘要] 窗格。

  3. 您已設定嚴重性為 2 與 3 的計量警示。 選取其中一個警示來檢視嚴重性等級。

  4. 選取其中一個警示以顯示警示詳細資料。