Azure Event Grid是一个托管事件路由平台,使我们能够实时响应Azure中托管的应用程序或拥有的任何Azure资源中发生的更改。Event Grid处理来自Azure服务的内置Azure事件以及来自应用程序的自定义事件,并实时发布它们。它可以每秒动态扩展和处理数百万个事件,Azure为生产工作负载提供99.99 SLA

使用Event Grid + Teams实现Azure VM创建提醒_云服务

Event Grid收到事件后,可通过事件处理程序(如Azure自动化,事件中心,Azure功能,Azure逻辑应用程序或自定义Web挂钩)促进程序操作的触发。

准备Azure Runbook账户:

点击“新建”—“管理工具”—“自动化”:

使用Event Grid + Teams实现Azure VM创建提醒_云服务_02

输入“自动化账户名称”及”资源组名称”,如下图所示,点击创建:

使用Event Grid + Teams实现Azure VM创建提醒_云计算_03

创建完成如下图所示:

使用Event Grid + Teams实现Azure VM创建提醒_云服务_04

点击“模块”—“更新Azure模块”:

使用Event Grid + Teams实现Azure VM创建提醒_云服务_05

点击“是”:

使用Event Grid + Teams实现Azure VM创建提醒_云计算_06

点击“模块库”,搜索“AzureRM.Tags”,点击搜索结果:

使用Event Grid + Teams实现Azure VM创建提醒_云服务_07

点击“导入”:

使用Event Grid + Teams实现Azure VM创建提醒_云计算_08

导入成功,如下图所示:

使用Event Grid + Teams实现Azure VM创建提醒_云计算_09

将Event Grid导入Runbook

选择我们刚刚创建自动化账户,点击”Runbook”—“浏览库”:

使用Event Grid + Teams实现Azure VM创建提醒_云服务_10

搜索“Event grid”,然后点击“Integrating Azure Automation with Event grid”:

使用Event Grid + Teams实现Azure VM创建提醒_云服务_11

点击导入,名称保持默认:

使用Event Grid + Teams实现Azure VM创建提醒_云计算_12

导入完成,如下图所示:

使用Event Grid + Teams实现Azure VM创建提醒_云服务_13

点击“编辑”:

使用Event Grid + Teams实现Azure VM创建提醒_云服务_14

将第74行替换成如下所示:

Update-AzureRmVM -ResourceGroupName $VMResourceGroup -VM $VM -Tag $Tag | Write-Verbose

使用Event Grid + Teams实现Azure VM创建提醒_云计算_15

替换完成,点击“发布”:

使用Event Grid + Teams实现Azure VM创建提醒_云服务_16

创建Microsoft Teams webhook

在Microsoft Teams中,点击“更多选项”—“应用商店”—“连接器”:

使用Event Grid + Teams实现Azure VM创建提醒_云计算_17

搜索“Incoming Webhook“:

使用Event Grid + Teams实现Azure VM创建提醒_云计算_18

设置将其添加到AzureTeam团队,点击安装:

使用Event Grid + Teams实现Azure VM创建提醒_云计算_19

点击“设置“:

使用Event Grid + Teams实现Azure VM创建提醒_云服务_20

设置名称,点击确定:

使用Event Grid + Teams实现Azure VM创建提醒_云计算_21

记录URL然后点击完成:

使用Event Grid + Teams实现Azure VM创建提醒_云计算_22

添加完成如下图所示:

使用Event Grid + Teams实现Azure VM创建提醒_云计算_23

为Runbook创建一个Webhook

打开“Watch-VMWrite“ Runbook,点击“Add Webhook”:

使用Event Grid + Teams实现Azure VM创建提醒_云服务_24

输入”WatchVMEventGrid”作为名称。将URL复制到剪贴板,并保存它:

使用Event Grid + Teams实现Azure VM创建提醒_云服务_25

选择“配置参数并运行设置”,然后设置“CHANNELURL”为Microsoft Teams webhook URL:

使用Event Grid + Teams实现Azure VM创建提醒_云计算_26

配置完成如下图所示:

使用Event Grid + Teams实现Azure VM创建提醒_云服务_27

创建Event Grid订阅

在自动化账户点击“Event grid“,点击创建:

使用Event Grid + Teams实现Azure VM创建提醒_云计算_28

在创建事件订阅选项卡进行如下图所示设置:

l 名称:AzureAutomation

l 主题类型:选择“ Azure订阅”。

l 取消选中“订阅所有事件类型”复选框。

l 定义的事件类型:取消选中“资源写入成功”以外的所有选项。

l 终结点类型:Webhook。

单击“ 选择端点”:

使用Event Grid + Teams实现Azure VM创建提醒_云服务_29

在订阅者终结点处设置为Watch-VMWrite Runbook创建的webhook URL。

使用Event Grid + Teams实现Azure VM创建提醒_云服务_30

设置完成如下图所示,点击创建:

使用Event Grid + Teams实现Azure VM创建提醒_云服务_31

测试配置是否生效

创建测试虚拟:

使用Event Grid + Teams实现Azure VM创建提醒_云计算_32

创建完成如下图所示:

使用Event Grid + Teams实现Azure VM创建提醒_云计算_33

此时在Microsoft Teams上回收到虚拟机创建完成的信息:

使用Event Grid + Teams实现Azure VM创建提醒_云计算_34

注意:

上述方法是针对整个订阅级别的,若要针对某个具体的资源组可以使用如下方式:

在Filters下,输入要查找创建的新VM的订阅和资源组,如下所示:

/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/Microsoft.Compute/virtualMachines

使用Event Grid + Teams实现Azure VM创建提醒_云服务_35