快速入門:使用 Azure Resource Graph 和 Log Analytics 建立警示
在本快速入門中,您會了解如何使用 Azure Log Analytics,在 Azure Resource Graph 查詢上建立警示。 您可以使用 Azure Resource Graph 查詢、Log Analytics 工作區和受控識別來建立警示。 警示的條件會以指定的間隔傳送通知。
您可以使用查詢,為您部署的 Azure 資源設定警示。 您可以使用 Azure Resource Graph 資料表建立查詢,也可以結合 Azure Resource Graph 資料表和來自 Azure 監視器記錄的 Log Analytics 資料。
在本文的範例中,在相同資源群組中建立資源並使用相同區域,例如 West US 3。 本文中的範例在單一 Azure 租用戶中執行查詢並為 Azure 資源建立警示。 Azure 資料總管叢集不屬於本文的範圍。
本文包含兩個警示範例:
- Azure Resource Graph:使用 Azure Resource Graph
Resources
資料表來建立查詢,為您部署的 Azure 資源取得資料並建立警示。
- Azure Resource Graph 和 Log Analytics:使用 Azure Resource Graph
Resources
資料表和來自 Azure 監視器記錄 Heartbeat
資料表的 Log Analytics 資料。 此範例會使用虛擬機器來說明如何設定查詢和警示。
注意
Azure Resource Graph 警示與 Log Analytics 整合處於公開預覽狀態。
必要條件
- 如果您沒有 Azure 帳戶,請在您開始之前先建立 免費帳戶。
- 部署在 Azure 中的資源,例如虛擬機器或儲存體帳戶。
- 若要使用 Azure Resource Graph 和 Log Analytics 查詢的範例,您需要至少一部具有 Azure 監視器代理程式的 Azure 虛擬機器。
建立工作區
在受監視的訂用帳戶中建立 Log Analytics 工作區。
登入 Azure 入口網站。
在搜尋欄位中,輸入「Log Analytics 工作區」,然後選取 [Log Analytics 工作區]。
如果您已使用 Log Analytics 工作區,則可以從 Azure 服務加以選取。
選取 [建立]:
- 訂用帳戶︰選取您的 Azure 訂用帳戶
- 資源群組:demo-arg-alert-rg
- 名稱:demo-arg-alert-workspace
- 地區:美國西部 3
選取 [檢閱 + 建立],並等候顯示 [驗證已通過]。
選取 [建立] 來開始部署。
部署完成後,請選取 [移至資源]。
建立虛擬機器
您不需要為使用 Azure Resource Graph 資料表的範例建立虛擬機器。
注意
如果您有現有的虛擬機器,或知道如何建立虛擬機器,本節是選讀的。 此範例會使用虛擬機器,來示範如何使用 Azure Resource Graph 資料表和 Log Analytics 資料建立查詢。
若要取得記錄資訊,當您將虛擬機器連線到 Log Analytics 工作區時,Azure 監視器代理程式會安裝在虛擬機器上。 如果沒有虛擬機器,您可以為此範例建立虛擬機器。 若要避免不必要的成本,請在完成範例時刪除虛擬機器。
下列指示是 Linux 虛擬機器的基本設定。 有關如何建立虛擬機器的詳細步驟不在本文的討論範圍內。 您的組織可能需要對虛擬機器進行不同的安全性或網路設定。
在 Azure 中,建立 Ubuntu Linux 虛擬機器。
選取 建立。
在 [建立虛擬機器] 中,您可以接受預設設定,但有下列例外狀況:
基本概念
- 資源群組:demo-arg-alert-rg
- 虛擬機器名稱:輸入虛擬機器名稱,例如 demovm01。
- 可用性選項:無需基礎結構備援
- 大小:Standard_B1s
- 系統管理員帳戶:您必須建立認證,但在本範例中,您不需要登入:
- 驗證類型:SSH 公開金鑰
- 使用者名稱:建立使用者名稱
- SSH 公開金鑰來源:產生新金鑰組
- 金鑰組名稱:接受預設名稱
- 公用輸入連接埠:無
磁碟
網路功能
- 公用 IP:無
- 選取 [刪除虛擬機器時刪除 NIC]。
管理
- 選取 [啟用自動關機]。
- 選取您所在時區的關機時間。
- 如果您想要關機通知,請新增您的電子郵件地址。
監視、進階和標籤
選取 [檢閱 + 建立],然後選取 [建立]。
系統會提示您 [產生新金鑰組]。 選取 [下載私密金鑰並建立資源]。 在您完成虛擬機器之後,從電腦中刪除私密金鑰。
在部署虛擬機器之後,選取 [移至資源]。
注意
如果您知道如何將虛擬機器連線到 Log Analytics 工作區和 Azure 監視器代理程式,則本節是選擇性的。
設定用於監視虛擬機器的資料收集規則。
- 在 Azure 搜尋欄位中,輸入 [資料收集規則],然後選取 [資料收集規則]。
- 選取 [建立]:
- 規則名稱:輸入名稱,例如 demo-data-collection-rule。
- 訂用帳戶︰選取您的訂用帳戶。
- 資源群組:選取 demo-arg-alert-rg。
- 地區 = 美國西部 3。
- 平台類型:選取 [全部]。
- 選取 [下一步:資源]:
- 選取 [新增資源]。
- 訂用帳戶︰選取您的訂用帳戶。
- 範圍:選取您的資源群組和虛擬機器名稱。
- 選取套用。
- 選取 [下一步:收集並傳遞]:
- 選取新增資料來源。
- 資料來源類型:選取 [效能計數器]。
- 選取 [下一步:目的地] 和 [新增目的地]:
- 目標類型:[Azure 監視器記錄]。
- 訂用帳戶︰選取您的訂用帳戶。
- 帳戶或命名空間:選取您的 Log Analytics 工作區 demo-arg-alert-workspace。
- 選取新增資料來源。
- 選取 [檢閱 + 建立],然後選取 [建立]。
- 部署完成之後,選取 [移至資源]。
驗證是否為虛擬機器設定監視:
- 移至您的資料收集規則並檢閱 [設定]:
- 資料來源:顯示資料來源效能計數器和目標 Azure 監視器記錄。
- 資源:顯示虛擬機器、資源群組和訂用帳戶。
- 移至您的 Log Analytics 工作區 demo-arg-alert-workspace。 選取 [設定]>[代理程式]>[Linux 伺服器],且您的 Linux 電腦會連線到 Azure 監視器 Linux 代理程式。 顯示代理程式可能需要幾分鐘的時間。
- 移至您的虛擬機器,然後選取 [設定]>[延伸模組 + 應用程式],並驗證
AzureMonitorLinuxAgent
是否顯示佈建成功。
建立查詢
從 Log Analytics 工作區中,建立 Azure Resource Graph 查詢,以取得 Azure 資源的計數。 此範例會使用 Azure Resource Graph Resources
資料表。
從 [Log Analytics 工作區] 頁面左側選取 [記錄]。 如果顯示 [查詢] 視窗,則將其關閉。
在 [新增查詢] 中使用下列程式碼:
arg("").Resources
| count
Log Analytics 中的資料表名稱必須是駝峰式大小寫,每個單字的第一個字母大寫,例如 Resources
或 ResourceContainers
。 您也可以使用小寫,例如 resources
或 resourcecontainers
。
選取執行。
[結果] 會顯示 Azure 訂用帳戶中資源的 [計數]。 請記下該數字,因為您需要其來滿足警示規則的條件。 當您手動執行查詢時,計數會以使用者身分識別為基礎,而且引發的警示會使用受控識別。 計數可能會在手動執行或引發的警示之間有所不同。
從您的查詢中移除計數。
arg("").Resources
從 Log Analytics 工作區中,建立 Azure Resource Graph 查詢,以從您的虛擬機器取得最後一個活動訊號資訊。 此範例會使用 Azure Resource Graph Resources
資料表和來自 Azure 監視器記錄 Heartbeat
資料表的 Log Analytics 資料。
移至您的 demo-arg-alert-workspace Log Analytics 工作區。
從 [Log Analytics 工作區] 頁面左側選取 [記錄]。 如果顯示 [查詢] 視窗,則將其關閉。
在 [新增查詢] 中使用下列程式碼:
arg("").Resources
| where type == 'microsoft.compute/virtualmachines'
| project ResourceId = id, name, PowerState = tostring(properties.extended.instanceView.powerState.code)
| join (Heartbeat
| where TimeGenerated > ago(15m)
| summarize lastHeartBeat = max(TimeGenerated) by ResourceId)
on ResourceId
| project lastHeartBeat, PowerState, name, ResourceId
Log Analytics 中的資料表名稱必須是駝峰式大小寫,每個單字的第一個字母大寫,例如 Resources
或 ResourceContainers
。 您也可以使用小寫,例如 resources
或 resourcecontainers
。
您可以使用 TimeGenerated
的其他時間範圍。 例如,使用 12h
、24h
、48h
之類的小時,而不是使用 15m
之類的分鐘。
選取執行。
查詢應該會傳回虛擬機器的最後一個活動訊號、電源狀態、名稱和資源識別碼。 如果未顯示任何結果,請繼續進行後續步驟。 新組態可能需要 30 分鐘才能讓監視資料可用於查詢和警示。
建立警示規則
從 Log Analytics 工作區中,選取 [新增警示規則]。 來自 Log Analytics 工作區的查詢會複製到警示規則。 [建立警示規則] 具有數個需要更新才能建立警示的索引標籤。
範圍
驗證範圍是否預設為您的 Log Analytics 工作區,名為 demo-arg-alert-workspace。
僅當您的範圍未設定為預設值時,才執行下列步驟:
- 移至 [範圍] 索引標籤,然後選取 [選取範圍]。
- 在 [選取的資源] 畫面底部,移除目前的範圍。
- 選取 [選取範圍] 選項。
- 從資源清單中展開 demo-arg-alert-rg,然後選取 demo-arg-alert-workspace。
- 選取套用。
- 選取 [下一步: 條件]。
Condition
表單具有數個要完成的欄位:
- 訊號名稱:自訂記錄搜尋
- 搜尋查詢:顯示查詢程式碼
- 如果您已變更範圍,則需要從 [建立查詢] 區段新增查詢。
測量
- 量值:資料表資料列
- 彙總類型:計數
- 彙總細微性:5 分鐘
警示邏輯
- 運算子:大於
- 閾值:使用的數字小於從資源計數所傳回的數字。
- 例如,如果您的資源計數是 50,則使用 45。 此值會在評估您的資源時觸發警示,因為您的資源數目大於閾值值。
- 評估頻率:5 分鐘
選取 [下一步:動作]。
動作
選取 [建立動作群組]:
- 訂閱:選取您的 Azure 訂閱。
- 資源群組:demo-arg-alert-rg
- 地區:[全域] 允許動作群組服務選取位置。
- 動作群組名稱:demo-arg-alert-action-group
- 顯示名稱:demo-action (限制為 12 個字元)
選取 [下一步: 通知]:
- 通知類型:選取 [電子郵件/SMS 訊息/推播/語音]。
- 名稱:email-alert
- 選取 [電子郵件] 核取方塊,然後輸入您的電子郵件地址。
- 選取 [確定]。
選取 [檢閱 + 建立]、驗證摘要是否正確,然後選取 [建立]。 您會返回 [建立警示規則] 頁面的 [動作] 索引標籤。 [動作群組名稱] 會顯示您所建立的動作群組。 您會收到電子郵件通知,以確認您已新增至動作群組。
選取 [下一步: 詳細資料]。
詳細資料
在 [詳細資料] 索引標籤上使用下列資訊:
- 訂閱:選取您的 Azure 訂閱。
- 資源群組:demo-arg-alert-rg
- 嚴重性:接受預設值 [3 - 資訊]。
- 警示規則名稱:demo-arg-alert-rule
- 警示規則描述:Azure 資源計數的電子郵件警示
- 地區:美國西部 3
- 身分識別:選取「系統指派的受控識別」。
選取 [檢閱 + 建立]、驗證摘要是否正確,然後選取 [建立]。 您會回到 [Log Analytics 工作區] 的 [記錄] 頁面。
指派角色
將「Log Analytics 讀者」指派給系統指派的受控識別,以便其有權引發傳送電子郵件通知的警示。
- 在 Log Analytics 工作區中,選取 [監視]>[警示]。 如果系統提示您 [將會捨棄您未儲存的編輯],請選取 [確定]。
- 選取 [警示規則]。
- 選取 demo-arg-alert-rule。
- 選取 [設定]>[身分識別]>[系統指派]:
- 狀態:開啟
- 物件識別碼:在 Microsoft Entra ID 中顯示企業應用程式 (服務主體) 的 GUID。
- 權限:選取 [Azure 角色指派]:
- 驗證您的訂閱已選取。
- 選取 [新增角色指派]:
- 範圍:訂用帳戶
- [訂用帳戶]:選取 Azure 訂用帳戶名稱。
- 角色:Log Analytics 讀者
- 選取 [儲存]。
「Log Analytics 讀者」需要幾分鐘的時間,才會顯示在 [Azure 角色指派] 頁面上。 選取 [重新整理] 以更新頁面。
使用瀏覽器的上一頁按鈕返回 [身分識別],然後選取 [概觀] 返回警示規則。 選取資源群組 (名為 demo-arg-alert-rg) 的連結。
儘管超出本文的範圍,但對於 Azure 資料總管叢集,請將 [讀者] 角色新增至系統指派的受控識別。 如需詳細資訊,請選取本文末尾的連結 Azure 資料總管叢集的角色指派。
從 Log Analytics 工作區中,選取 [新增警示規則]。 來自 Log Analytics 工作區的查詢會複製到警示規則。 [建立警示規則] 具有數個需要更新的索引標籤。
範圍
驗證範圍是否預設為您的 Log Analytics 工作區,名為 demo-arg-alert-workspace。
僅當您的範圍未設定為預設值時,才執行下列步驟:
- 移至 [範圍] 索引標籤,然後選取 [選取範圍]。
- 在 [選取的資源] 畫面底部,刪除目前的範圍。
- 從資源清單中展開 demo-arg-alert-rg,然後選取 demo-arg-alert-workspace。
- 選取套用。
- 選取 [下一步: 條件]。
Condition
表單具有數個要完成的欄位:
- 訊號名稱:自訂記錄搜尋
- 搜尋查詢:顯示查詢程式碼
- 如果您已變更範圍,則需要從 [建立查詢] 區段新增查詢。
測量
- 量值:資料表資料列
- 彙總類型:計數
- 彙總細微性:5 分鐘
警示邏輯
選取 [下一步:動作]。
動作
選取 [建立動作群組]:
- 訂閱:選取您的 Azure 訂閱。
- 資源群組:demo-arg-alert-rg
- 地區:[全域] 允許動作群組服務選取位置。
- 動作群組名稱:demo-arg-la-alert-action-group
- 顯示名稱:demo-argla (限制為 12 個字元)
選取 [下一步: 通知]:
- 通知類型:選取 [電子郵件/SMS 訊息/推播/語音]
- 名稱:email-alert-arg-la
- 選取 [電子郵件] 核取方塊,然後輸入您的電子郵件地址
- 選取 [確定]
選取 [檢閱 + 建立]、驗證摘要是否正確,然後選取 [建立]。 您會返回 [建立警示規則] 頁面的 [動作] 索引標籤。 [動作群組名稱] 會顯示您所建立的動作群組。 您會收到電子郵件通知,以確認您已新增至動作群組。
選取 [下一步: 詳細資料]。
詳細資料
在 [詳細資料] 索引標籤上使用下列資訊:
- 訂閱:選取您的 Azure 訂閱。
- 資源群組:demo-arg-alert-rg
- 嚴重性:選取 [2 - 警示]。
- 警示規則名稱:demo-arg-la-alert-rule
- 警示規則描述:Azure 虛擬機器 ARG-LA 查詢的電子郵件警示
- 地區:美國西部 3
- 身分識別:選取「系統指派的受控識別」
選取 [檢閱 + 建立]、驗證摘要是否正確,然後選取 [建立]。 您會回到 [Log Analytics 工作區] 的 [記錄] 頁面。
指派角色
將「Log Analytics 讀者」指派給系統指派的受控識別,以便其有權引發傳送電子郵件通知的警示。
- 在 Log Analytics 工作區中,選取 [監視]>[警示]。 如果系統提示您 [將會捨棄您未儲存的編輯],請選取 [確定]。
- 選取 [警示規則]。
- 選取 demo-arg-la-alert-rule。
- 選取 [設定]>[身分識別]>[系統指派]:
- 狀態:開啟
- 物件識別碼:在 Microsoft Entra ID 中顯示企業應用程式 (服務主體) 的 GUID。
- 權限:選取 [Azure 角色指派]
- 驗證您的訂閱已選取
- 選取 [新增角色指派]:
- 範圍:訂用帳戶
- [訂閱]:選取 Azure 訂閱名稱
- 角色:Log Analytics 讀者
- 選取 [儲存]。
「Log Analytics 讀者」需要幾分鐘的時間,才會顯示在 [Azure 角色指派] 頁面上。 選取 [重新整理] 以更新頁面。
使用瀏覽器的上一頁按鈕返回 [身分識別],然後選取 [概觀] 返回警示規則。 選取資源群組 (名為 demo-arg-alert-rg) 的連結。
儘管超出本文的範圍,但對於 Azure 資料總管叢集,請將 [讀者] 角色新增至系統指派的受控識別。 如需詳細資訊,請選取本文末尾的連結 Azure 資料總管叢集的角色指派。
驗證警示
將角色指派給您的警示規則之後,您就會開始收到警示訊息的電子郵件。 此規則已建立為每隔五分鐘傳送警示一次,且需要幾分鐘的時間才能取得第一個警示。
您也可以在 Azure 入口網站中檢視警示:
移至資源群組 demo-arg-alert-rg。
在您的資源清單中選取 demo-arg-alert-workspace。
選取 [監視]>[警示]。
警示清單隨即顯示。
將角色指派給您的警示規則之後,您就會開始收到警示訊息的電子郵件。 此規則已建立為每隔五分鐘傳送警示一次,且需要幾分鐘的時間才能取得第一個警示。
您也可以在 Azure 入口網站中檢視警示:
移至資源群組 demo-arg-alert-rg。
選取您的虛擬機器。
選取 [監視]>[警示]。
警示清單隨即顯示。
對於新組態,可能需要 30 分鐘記錄資訊才可供使用並建立警示。 在此期間,您可能會注意到虛擬機器的警示規則會在工作區的監視警示中顯示警示。 當虛擬機器的記錄資訊可用時,警示將顯示在虛擬機器的監視警示中。
清除資源
如果您想要保留警示設定,但阻止警示引發並傳送電子郵件通知,您可以將其停用。 移至您的警示規則 demo-arg-alert-rule 或 demo-arg-la-alert-rule,然後選取 [停用]。
如果您不需要此警示或在此範例中所建立的資源,請使用下列步驟刪除資源群組:
- 移至您的資源群組 demo-arg-alert-rg。
- 選取 [刪除資源群組]。
- 輸入資源群組名稱以確認。
- 選取 [刪除]。
如果您建立了虛擬機器,刪除在部署期間下載到電腦的私密金鑰。 檔案名稱具有 .pem
副檔名。
相關內容
如需查詢語言或如何探索資源的詳細資訊,請移至下列文章。