Azure Event Grid是一个托管事件路由平台,使我们能够实时响应Azure中托管的应用程序或拥有的任何Azure资源中发生的更改。Event Grid处理来自Azure服务的内置Azure事件以及来自应用程序的自定义事件,并实时发布它们。它可以每秒动态扩展和处理数百万个事件,Azure为生产工作负载提供99.99 SLA
![clip_image002 clip_image002]()
Event Grid收到事件后,可通过事件处理程序(如Azure自动化,事件中心,Azure功能,Azure逻辑应用程序或自定义Web挂钩)促进程序操作的触发。
准备Azure Runbook账户:
点击“新建”—“管理工具”—“自动化”:
![clip_image004 clip_image004]()
输入“自动化账户名称”及”资源组名称”,如下图所示,点击创建:
![clip_image006 clip_image006]()
创建完成如下图所示:
![clip_image008 clip_image008]()
点击“模块”—“更新Azure模块”:
![clip_image010 clip_image010]()
点击“是”:
![clip_image012 clip_image012]()
点击“模块库”,搜索“AzureRM.Tags”,点击搜索结果:
![clip_image014 clip_image014]()
点击“导入”:
![clip_image016 clip_image016]()
导入成功,如下图所示:
![clip_image018 clip_image018]()
将Event Grid导入Runbook
选择我们刚刚创建自动化账户,点击”Runbook”—“浏览库”:
![clip_image020 clip_image020]()
搜索“Event grid”,然后点击“Integrating Azure Automation with Event grid”:
![clip_image022 clip_image022]()
点击导入,名称保持默认:
![clip_image024 clip_image024]()
导入完成,如下图所示:
![clip_image026 clip_image026]()
点击“编辑”:
![clip_image028 clip_image028]()
将第74行替换成如下所示:
Update-AzureRmVM -ResourceGroupName $VMResourceGroup -VM $VM -Tag $Tag | Write-Verbose
![clip_image030 clip_image030]()
替换完成,点击“发布”:
![clip_image032 clip_image032]()
创建Microsoft Teams webhook
在Microsoft Teams中,点击“更多选项”—“应用商店”—“连接器”:
![clip_image034 clip_image034]()
搜索“Incoming Webhook“:
![clip_image036 clip_image036]()
设置将其添加到AzureTeam团队,点击安装:
![clip_image038 clip_image038]()
点击“设置“:
![clip_image040 clip_image040]()
设置名称,点击确定:
![clip_image042 clip_image042]()
记录URL然后点击完成:
![clip_image044 clip_image044]()
添加完成如下图所示:
![clip_image046 clip_image046]()
为Runbook创建一个Webhook
打开“Watch-VMWrite“ Runbook,点击“Add Webhook”:
![clip_image048 clip_image048]()
输入”WatchVMEventGrid”作为名称。将URL复制到剪贴板,并保存它:
![clip_image050 clip_image050]()
选择“配置参数并运行设置”,然后设置“CHANNELURL”为Microsoft Teams webhook URL:
![clip_image052 clip_image052]()
配置完成如下图所示:
![clip_image054 clip_image054]()
创建Event Grid订阅
在自动化账户点击“Event grid“,点击创建:
![clip_image056 clip_image056]()
在创建事件订阅选项卡进行如下图所示设置:
l 名称:AzureAutomation
l 主题类型:选择“ Azure订阅”。
l 取消选中“订阅所有事件类型”复选框。
l 定义的事件类型:取消选中“资源写入成功”以外的所有选项。
l 终结点类型:Webhook。
单击“ 选择端点”:
![clip_image058 clip_image058]()
在订阅者终结点处设置为Watch-VMWrite Runbook创建的webhook URL。
![clip_image060 clip_image060]()
设置完成如下图所示,点击创建:
![clip_image062 clip_image062]()
测试配置是否生效
创建测试虚拟:
![clip_image064 clip_image064]()
创建完成如下图所示:
![clip_image066 clip_image066]()
此时在Microsoft Teams上回收到虚拟机创建完成的信息:
![clip_image068 clip_image068]()
注意:
上述方法是针对整个订阅级别的,若要针对某个具体的资源组可以使用如下方式:
在Filters下,输入要查找创建的新VM的订阅和资源组,如下所示:
/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/Microsoft.Compute/virtualMachines
![clip_image070 clip_image070]()