Azure Event Grid是一個託管事件路由平臺,使我們能夠實時響應Azure中託管的應用程序或擁有的任何Azure資源中發生的更改。Event Grid處理來自Azure服務的內置Azure事件以及來自應用程序的自定義事件,並實時發佈它們。它可以每秒動態擴展和處理數百萬個事件,Azure爲生產工作負載提供99.99 SLA
Event Grid收到事件後,可通過事件處理程序(如Azure自動化,事件中心,Azure功能,Azure邏輯應用程序或自定義Web掛鉤)促進程序操作的觸發。
準備Azure Runbook賬戶:
點擊“新建”—“管理工具”—“自動化”:
輸入“自動化賬戶名稱”及”資源組名稱”,如下圖所示,點擊創建:
創建完成如下圖所示:
點擊“模塊”—“更新Azure模塊”:
點擊“是”:
點擊“模塊庫”,搜索“AzureRM.Tags”,點擊搜索結果:
點擊“導入”:
導入成功,如下圖所示:
將Event Grid導入Runbook
選擇我們剛剛創建自動化賬戶,點擊”Runbook”—“瀏覽庫”:
搜索“Event grid”,然後點擊“Integrating Azure Automation with Event grid”:
點擊導入,名稱保持默認:
導入完成,如下圖所示:
點擊“編輯”:
將第74行替換成如下所示:
Update-AzureRmVM -ResourceGroupName $VMResourceGroup -VM $VM -Tag $Tag | Write-Verbose
替換完成,點擊“發佈”:
創建Microsoft Teams webhook
在Microsoft Teams中,點擊“更多選項”—“應用商店”—“連接器”:
搜索“Incoming Webhook“:
設置將其添加到AzureTeam團隊,點擊安裝:
點擊“設置“:
設置名稱,點擊確定:
記錄URL然後點擊完成:
添加完成如下圖所示:
爲Runbook創建一個Webhook
打開“Watch-VMWrite“ Runbook,點擊“Add Webhook”:
輸入”WatchVMEventGrid”作爲名稱。將URL複製到剪貼板,並保存它:
選擇“配置參數並運行設置”,然後設置“CHANNELURL”爲Microsoft Teams webhook URL:
配置完成如下圖所示:
創建Event Grid訂閱
在自動化賬戶點擊“Event grid“,點擊創建:
在創建事件訂閱選項卡進行如下圖所示設置:
l 名稱:AzureAutomation
l 主題類型:選擇“ Azure訂閱”。
l 取消選中“訂閱所有事件類型”複選框。
l 定義的事件類型:取消選中“資源寫入成功”以外的所有選項。
l 終結點類型:Webhook。
單擊“ 選擇端點”:
在訂閱者終結點處設置爲Watch-VMWrite Runbook創建的webhook URL。
設置完成如下圖所示,點擊創建:
測試配置是否生效
創建測試虛擬:
創建完成如下圖所示:
此時在Microsoft Teams上回收到虛擬機創建完成的信息:
注意:
上述方法是針對整個訂閱級別的,若要針對某個具體的資源組可以使用如下方式:
在Filters下,輸入要查找創建的新VM的訂閱和資源組,如下所示:
/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/Microsoft.Compute/virtualMachines