在 Azure 入口網站中建立和管理動作群組

當 Azure 監視器資料表示基礎結構或應用程式可能有問題時,就會觸發警示。 Azure 監視器、Azure 服務健康狀態和 Azure Advisor 接著會使用動作群組來通知使用者相關警示並採取動作。 動作群組是 Azure 訂用帳戶擁有者定義的通知喜好設定集合。

本文將說明如何在 Azure 入口網站中建立和管理動作群組。 根據您的需求,您可以設定各種警示,以使用相同或不同的動作群組。

每個動作是由下列屬性所組成:

  • 類型:已傳送的通知或已執行的動作。 範例包括傳送語音通話、簡訊或電子郵件。 您也可以觸發各種類型的自動化動作。 如需通知和動作類型的詳細資訊,請參閱本文稍後的動作特定資訊
  • Name:動作群組內的唯一識別碼。
  • 詳細資料:對應的詳細資料,會依類型而有所不同。

如需如何使用 Azure Resource Manager 範本設定動作群組的資訊,請參閱動作群組 Resource Manager 範本

動作群組是全域服務,因此不會相依於特定 Azure 區域。 來自用戶端的要求可由任何區域中的動作群組服務來處理。 例如,如果動作群組服務的其中一個區域關閉,流量會自動路由並由其他區域處理。 動作群組作為全域服務,可協助提供 災害復原解決方案。

使用 Azure 入口網站建立動作群組

  1. 移至 Azure 入口網站

  2. 搜尋並選取 [監視]。 [監視器] 頁面會將您的所有監視設定與資料合併在一個檢視中。

  3. 選取 [警示],然後選取 [動作群組]。

    螢幕擷取畫面:Azure 入口網站中的 [警示] 頁面,其中已標註 [動作群組] 按鈕。

  4. 選取 [建立]。

    螢幕擷取畫面:Azure 入口網站中的 [動作群組],其中已標註 [建立] 按鈕。

  5. 輸入資訊,如下列各節所述。

設定基本動作群組設定

  1. 在 [專案詳細資料] 下

    • 選取 [訂用帳戶] 和 [資源群組]的值。

    • 選取區域

      選項 行為
      全球 動作群組服務會決定儲存動作群組的位置。 動作群組會在至少兩個區域中保存,以確保區域復原能力。 可以在任何地理區域中處理動作。

      服務健康情況警示結果而執行的語音、簡訊和電子郵件動作,可復原 Azure 即時網站事件。
      地區 動作群組儲存在選取的區域內。 動作群組是區域備援。 在區域內執行動作的處理。

      如果您想要確保動作群組的處理是在特定的地理界限內執行,請使用此選項。

    動作群組會儲存於您所選取的 [訂閱]、[區域] 和 [資源群組] 中。

  2. 在 [執行個體詳細資料] 下方,輸入 [動作群組名稱] 和 [顯示名稱] 的值。 使用群組傳送通知時,會使用顯示名稱來取代完整的動作群組名稱。

    螢幕擷取畫面:[建立動作群組] 對話方塊。值會顯示在 [訂閱]、[資源群組]、[動作群組名稱] 和 [顯示名稱] 方塊中。

設定通知

  1. 若要開啟 [通知] 索引標籤,請選取 [下一步:通知]。 或者,在頁面頂端,選取 [通知] 索引標籤。

  2. 定義觸發警示時要傳送的通知清單。 針對每項通知提供下列各項資訊:

    • 通知類型:選取您想傳送的通知類型。 可用的選項包括:

      • 電子郵件 Azure Resource Manager 角色:傳送電子郵件給指派至特定訂閱層級 Azure Resource Manager 角色的使用者。
      • 電子郵件/簡訊/推播/語音:將各種通知類型傳送給特定收件者。
    • 名稱:輸入通知的唯一名稱。

    • 詳細資料:根據選取的通知類型,輸入電子郵件地址、電話號碼或其他資訊。

    • 一般警示結構描述:您可以選擇開啟一般警示結構描述,這可讓您在監視器中的所有警示服務上擁有單一可擴充且整合的警示承載。 如需此結構描述的詳細資訊,請參閱一般警示結構描述

    螢幕擷取畫面:[建立動作群組] 對話方塊的 [通知] 索引標籤,顯示電子郵件通知的設定資訊。

  3. 選取 [確定]。

設定動作

  1. 若要開啟 [動作] 索引標籤,請選取 [下一步:動作]。 或在頁面頂端,選取 [動作] 索引標籤。

  2. 定義觸發警示時要觸發的動作清單。 針對每個動作提供下列各項資訊:

    • 動作類型:從下列動作類型中選取:

      • Azure 自動化 Runbook
      • Azure Functions 函式
      • 傳送至 Azure 事件中樞的通知
      • 傳送至 IT 服務管理 (ITSM) 工具的通知
      • Azure Logic Apps 工作流程
      • 安全 Webhook
      • Webhook
    • 名稱:輸入動作的唯一名稱。

    • 詳細資料:輸入所選動作類型的適當資訊。 例如,您可以輸入 Webhook URI、Azure 應用程式的名稱、ITSM 連線或自動化 Runbook。 針對 ITSM 動作,也請輸入 [工作項目] 及 ITSM 工具所需其他欄位的值。

    • 一般警示結構描述:您可以選擇開啟一般警示結構描述,這可讓您在監視器中的所有警示服務上擁有單一可擴充且整合的警示承載。 如需此結構描述的詳細資訊,請參閱一般警示結構描述

    螢幕擷取畫面:[建立動作群組] 對話方塊的 [動作] 索引標籤,其中顯示 [動作類型] 清單中的數個選項。

建立動作群組

  1. 如果您要將索引鍵/值組指派給動作群組,請選取 [下一步:標籤] 或 [標籤] 索引標籤。否則請略過此步驟。 您可以藉由使用標籤,將 Azure 資源分類。 標籤適用於所有 Azure 資源、資源群組和訂閱。

    螢幕擷取畫面:[建立動作群組] 對話方塊的 [標籤] 索引標籤,其中顯示 [名稱] 和 [值] 方塊中的值。

  2. 若要檢閱設定,請選取 [檢閱 + 建立]。 此步驟會快速檢查輸入內容,以確保您已輸入所有必要資訊。 如果發生問題,則會在這裡回報。 在您檢閱設定之後,請選取 [建立] 以建立動作群組。

    螢幕擷取畫面:[建立動作群組] 對話方塊的 [檢閱 + 建立] 索引標籤,顯示所有已設定的值。

注意

當您設定一個動作,以透過電子郵件或 SMS 來通知某人時,他們會收到確認指出已新增至動作群組。

測試 Azure 入口網站中的動作群組 (預覽)

在 Azure 入口網站中建立或更新動作群組時,您可以測試動作群組。

  1. 如前幾節所述定義動作。 然後,選取 [檢閱 + 建立]。

  2. 在列出您所輸入資訊的頁面上,選取 [測試動作群組]。

    螢幕擷取畫面:[建立動作群組] 對話方塊的 [檢閱 + 建立] 索引標籤,其中顯示 [測試動作群組] 按鈕。

  3. 選取範例類型,以及您想要測試的通知和動作類型。 然後選取 [測試]。

    螢幕擷取畫面:[測試範例動作群組] 頁面,其中顯示電子郵件通知類型和 Webhook 動作類型。

  4. 如果您關閉視窗,或在測試執行時選取 [返回測試設定],系統會停止測試,且不會取得測試結果。

    螢幕擷取畫面:[測試範例動作群組] 頁面,其中對話方塊包含 [停止] 按鈕,並詢問使用者是否停止測試。

  5. 測試完成時,會顯示 [成功] 或 [失敗] 的測試狀態。 如果測試失敗,而您想要取得更多詳細資訊,請選取 [檢視詳細資料]。

    螢幕擷取畫面:[測試範例動作群組] 頁面,其中顯示錯誤的詳細資料,紅色背景上的白色「X」表示測試失敗。

您可以使用 [錯誤詳細資料] 區段中的資訊來了解問題。 然後您可以再次編輯和測試動作群組。

當您執行測試並選取通知類型時,您會收到一則主旨含有「測試」的訊息。 測試提供了一種方法,讓您在生產環境中啟用動作群組之前,檢查動作群組是否如預期運作。 測試電子郵件通知中的所有詳細資料和連結皆來自範例參考集。

Azure Resource Manager 角色成員資格需求

下表描述「測試動作」功能所需的角色成員資格需求:

使用者角色成員資格 現有的動作群組 現有的資源群組和新動作群組 新資源群組和新動作群組
訂用帳戶參與者 支援 支援 支援
資源群組參與者 支援 支援 不適用
動作群組資源參與者 支援 不適用 不適用
Azure 監視器參與者 支援 支援 不適用
自訂角色 支援 支援 不適用

注意

您可以在每個時間週期執行次數有限的測試。 若要檢查哪些限制適用於您的情況,請參閱語音、簡訊、電子郵件、Azure App 推播通知和 Webhook 文章的速率限制

當您在入口網站中設定動作群組時,可以加入或退出常見的警示結構描述。

管理您的動作群組

建立動作群組之後,您可以在入口網站中檢視群組:

  1. 從 [監視] 頁面,選取 [警示]。

  2. 選取 [管理動作]。

  3. 選取您要管理的動作群組。 您可以:

    • 新增、編輯或移除動作。
    • 刪除動作群組。

動作特定資訊

下列各節提供您可以在動作群組中設定的各種動作和通知的相關資訊。

注意

若要檢查每種動作或通知類型的數值限制,請參閱監視的訂閱服務限制

自動化 Runbook

若要檢查自動化 Runbook 承載的限制,請參閱自動化限制

您在每個動作群組中的 Runbook 動作數量可能會有限制。

Azure 應用程式推播通知

若要啟用對 Azure 行動應用程式的推播通知,請在設定 Azure 行動應用程式時提供您使用的電子郵件地址作為帳戶識別碼。 如需 Azure 行動應用程式的詳細資訊,請參閱取得 Azure 行動應用程式

您在每個動作群組中的 Azure 應用程式動作數量可能會有限制。

電子郵件

請確定已適當設定您的電子郵件篩選。 電子郵件會從下列電子郵件地址寄出:

  • azure-noreply@microsoft.com
  • azureemail-noreply@microsoft.com
  • alerts-noreply@mail.windowsazure.com

您在每個動作群組中的電子郵件動作數量可能會有限制。 如需速率限制的相關資訊,請參閱語音、簡訊、電子郵件、Azure App 推播通知和 Webhook 文章的速率限制

傳送電子郵件給 Azure Resource Manager 角色

當您使用這種類型的通知時,可以將電子郵件傳送給訂閱角色的成員。 電子郵件只會傳送給 Azure Active Directory (Azure AD) 使用者角色成員。 電子郵件不會傳送給 Azure AD 群組或服務主體。

通知電子郵件只會傳送至主要電子郵件地址。

如果您的「主要電子郵件」未收到通知,請採取下列步驟:

  1. 在 Azure 入口網站中,移至 [Active Directory]。

  2. 選取左邊的 [所有使用者]。 右側會出現使用者清單。

  3. 選取您想要檢閱其「主要電子郵件」的使用者。

    螢幕擷取畫面:Azure 入口網站 [所有使用者] 頁面,其中在左側已選取 [所有使用者],顯示一個使用者的相關資訊,但無法解讀。

  4. 在使用者設定檔中,查看 [連絡資訊] 底下是否有電子郵件的值。 如果欄位空白:

    1. 在頁面頂端選取 [編輯]。
    2. 輸入電子郵件地址。
    3. 在頁面頂端,選取 [儲存]。

    螢幕擷取畫面:Azure 入口網站中的使用者設定檔頁面,其中已標註 [編輯] 按鈕和 [電子郵件] 方塊。

您在每個動作群組中的電子郵件動作數量可能會有限制。 若要檢查哪些限制適用於您的情況,請參閱語音、簡訊、電子郵件、Azure App 推播通知和 Webhook 文章的速率限制

您在設定 Azure Resource Manager 角色時:

  1. 將「User」類型的實體指派給該角色。
  2. 訂閱層級進行角色指派。
  3. 請確保在使用者的 Azure AD 設定檔中為其設定電子郵件地址。

注意

在客戶將新的 Azure Resource Manager 角色新增至其訂閱之後,可能需要 24 小時才能開始接收通知。

事件中樞

事件中樞動作會將通知發佈至事件中樞。 如需事件中樞的詳細資訊,請參閱 Azure 事件中樞 — 巨量資料串流平台和事件擷取服務。 您可以從事件接收器來訂閱警示通知串流。

函式

使用 Functions 的動作會在 Functions 中呼叫現有的 HTTP 觸發程序端點。 如需 Functions 的詳細資訊,請參閱 Azure Functions。 若要處理要求,您的端點必須處理 HTTP POST 動詞。

定義函式動作時,函式的 HTTP 觸發程序端點和存取金鑰會儲存在動作定義中,例如:https://azfunctionurl.azurewebsites.net/api/httptrigger?code=<access_key>。 如果您變更函式的存取金鑰,則必須移除並重新建立動作群組中的函式動作。

您在每個動作群組中的 Function 動作數量可能會有限制。

ITSM

ITSM 動作需要 ITSM 連線。 若要了解如何建立 ITSM 連線,請參閱 ITSM 整合

您在每個動作群組中的 ITSM 動作數量可能會有限制。

Logic Apps

您在每個動作群組中的 Logic Apps 動作數量可能會有限制。

安全 Webhook

當您使用安全 Webhook 動作時,您可以使用 Azure AD 來保護動作群組與受保護 Web API (即您的 Webhook 端點) 之間的連線。 如需 Azure AD 應用程式和服務主體的概觀,請參閱 Microsoft 身分識別平台 (v2.0) 概觀。 請遵循下列步驟來利用安全 Webhook 功能。

注意

如果您使用 Webhook 動作,則目標 Webhook 端點必須能夠處理不同警示來源發出的各種 JSON 承載。 如果 Webhook 端點預期特定結構描述 (例如,Microsoft Teams 結構描述),請使用 Logic Apps 動作來轉換警示結構描述,以符合目標 Webhook 的預期。

  1. 為受保護的Web API 建立 Azure AD 應用程式。 如需詳細資訊,請參閱受保護的 Web API:應用程式註冊。 將受保護的 API 設為由精靈應用程式呼叫,並公開應用程式權限,而非委派權限。 如需這些權限的詳細資訊,請參閱如果您的 Web API 是由服務或精靈應用程式呼叫

    注意

    將受保護的 Web API 設為接受 V2.0 存取權杖。 如需此設定的詳細資訊,請參閱 Azure Active Directory 應用程式資訊清單

  2. 若要讓動作群組能夠使用您的 Azure AD 應用程式,請使用遵循此程序的 PowerShell 指令碼。

    注意

    您必須被指派 Azure AD 應用程式系統管理員角色,才能執行此指令碼。

    1. 修改 PowerShell 指令碼的 Connect-AzureAD 呼叫,以使用您的 Azure AD 租用戶識別碼。
    2. 修改 PowerShell 指令碼的 $myAzureADApplicationObjectId 變數,以使用 Azure AD 應用程式的物件識別碼。
    3. 執行修改過的指令碼。

    注意

    服務主體必須指派 Azure AD 應用程式擁有者角色,才能在動作群組中建立或修改安全 Webhook 動作。

  3. 設定安全 Webhook 動作。

    1. 複製指令碼中的 $myApp.ObjectId 值。
    2. 在 Webhook 動作定義中的 [物件識別碼] 方塊中,輸入您複製的值。

    螢幕擷取畫面:Azure 入口網站中 [安全 Webhook] 對話方塊,其中顯示 [物件識別碼] 方塊。

安全 Webhook PowerShell 指令碼

Connect-AzureAD -TenantId "<provide your Azure AD tenant ID here>"

# Define your Azure AD application's ObjectId.
$myAzureADApplicationObjectId = "<the Object ID of your Azure AD Application>"

# Define the action group Azure AD AppId.
$actionGroupsAppId = "461e8683-5575-4561-ac7f-899cc907d62a"

# Define the name of the new role that gets added to your Azure AD application.
$actionGroupRoleName = "ActionGroupsSecureWebhook"

# Create an application role with the given name and description.
Function CreateAppRole([string] $Name, [string] $Description)
{
    $appRole = New-Object Microsoft.Open.AzureAD.Model.AppRole
    $appRole.AllowedMemberTypes = New-Object System.Collections.Generic.List[string]
    $appRole.AllowedMemberTypes.Add("Application");
    $appRole.DisplayName = $Name
    $appRole.Id = New-Guid
    $appRole.IsEnabled = $true
    $appRole.Description = $Description
    $appRole.Value = $Name;
    return $appRole
}

# Get your Azure AD application, its roles, and its service principal.
$myApp = Get-AzureADApplication -ObjectId $myAzureADApplicationObjectId
$myAppRoles = $myApp.AppRoles
$actionGroupsSP = Get-AzureADServicePrincipal -Filter ("appId eq '" + $actionGroupsAppId + "'")

Write-Host "App Roles before addition of new role.."
Write-Host $myAppRoles

# Create the role if it doesn't exist.
if ($myAppRoles -match "ActionGroupsSecureWebhook")
{
    Write-Host "The Action Group role is already defined.`n"
}
else
{
    $myServicePrincipal = Get-AzureADServicePrincipal -Filter ("appId eq '" + $myApp.AppId + "'")

    # Add the new role to the Azure AD application.
    $newRole = CreateAppRole -Name $actionGroupRoleName -Description "This is a role for Action Group to join"
    $myAppRoles.Add($newRole)
    Set-AzureADApplication -ObjectId $myApp.ObjectId -AppRoles $myAppRoles
}

# Create the service principal if it doesn't exist.
if ($actionGroupsSP -match "AzNS AAD Webhook")
{
    Write-Host "The Service principal is already defined.`n"
}
else
{
    # Create a service principal for the action group Azure AD application and add it to the role.
    $actionGroupsSP = New-AzureADServicePrincipal -AppId $actionGroupsAppId
}

New-AzureADServiceAppRoleAssignment -Id $myApp.AppRoles[0].Id -ResourceId $myServicePrincipal.ObjectId -ObjectId $actionGroupsSP.ObjectId -PrincipalId $actionGroupsSP.ObjectId

Write-Host "My Azure AD Application (ObjectId): " + $myApp.ObjectId
Write-Host "My Azure AD Application's Roles"
Write-Host $myApp.AppRoles

SMS

如需速率限制的相關資訊,請參閱語音、簡訊、電子郵件、Azure App 推播通知和 Webhook 文章的速率限制

如需在動作群組中使用簡訊通知的重要資訊,請參閱動作群組中的簡訊警示行為

您在每個動作群組中的簡訊動作數量可能會有限制。

注意

如果您無法在 Azure 入口網站中選取您的國家/地區代碼,代表您國家/地區的簡訊未受到支援。 如果您的國家/區域代碼無法使用,您可以在分享您的想法投票新增您的國家/區域。 同時,有個因應措施是將您的動作群組設定為向第三方簡訊提供者 (可在您的國家/區域提供支援) 呼叫 Webhook。

如需支援國家/地區定價的相關資訊,請參閱 Azure 監視器定價

支援簡訊通知的國家/地區

國碼 (地區碼) 國家
61 澳洲
43 奧地利
32 比利時
55 巴西
1 加拿大
56 智利
86 中國
420 捷克共和國
45 丹麥
372 愛沙尼亞
358 芬蘭
33 法國
49 德國
852 香港
91 印度
353 愛爾蘭
972 以色列
39 義大利
81 日本
352 盧森堡
60 馬來西亞
52 墨西哥
31 荷蘭
64 紐西蘭
47 挪威
351 葡萄牙
1 波多黎各
40 羅馬尼亞
7 俄羅斯
65 新加坡
27 南非
82 南韓
34 西班牙
41 瑞士
886 台灣
971 阿拉伯聯合大公國
44 英國
1 美國

語音

如需速率限制的重要資訊,請參閱語音、簡訊、電子郵件、Azure App 推播通知和 Webhook 貼文的速率限制

您在每個動作群組中的語音動作數量可能會有限制。

注意

如果您無法在 Azure 入口網站中選取您的國家/地區代碼,代表不支援您國家/地區的語音通話。 如果您的國家/區域代碼無法使用,您可以在分享您的想法投票新增您的國家/區域。 同時,有個因應措施是將您的動作群組設定為向第三方語音電話提供者 (可在您的國家/區域提供支援) 呼叫 Webhook。

動作群組目前支援語音通知的唯一國家/地區代碼是美國的「+1」。

如需支援國家/地區定價的相關資訊,請參閱 Azure 監視器定價

Webhook

注意

如果您使用 Webhook 動作,則目標 Webhook 端點必須能夠處理不同警示來源發出的各種 JSON 承載。 如果 Webhook 端點預期特定結構描述 (例如,Microsoft Teams 結構描述),請使用 Logic Apps 動作來轉換警示結構描述,以符合目標 Webhook 的預期。

Webhook 動作群組會使用下列規則:

  • 一個 Webhook 呼叫最多會嘗試三次。

  • 第一次呼叫會等候 10 秒以取得回應。

  • 第二次和第三次嘗試會等候 30 秒以取得回應。

  • 如果符合下列任何條件就會重試呼叫:

    • 在逾時期間內未收到回應。
    • 傳回下列其中一個 HTTP 狀態碼:408、429、503 或 504。
  • 如果三次嘗試呼叫 Webhook 失敗,則 15 分鐘內不會有任何動作群組呼叫端點。

針對來源 IP 位址範圍,請參閱動作群組 IP 位址

後續步驟