Руководство. Интеграция службы автоматизации Azure со службой "Сетка событий Azure" и Microsoft Teams
В этом руководстве описано следующее.
- импорт примера runbook для Сетки событий;
- создание перехватчика для Microsoft Teams (необязательно);
- создание веб-перехватчика для runbook;
- создание подписки в службе "Сетка событий";
- создание виртуальной машины, которая запускает runbook.
Если у вас еще нет подписки Azure, создайте бесплатную учетную запись, прежде чем начинать работу.
Предварительные требования
Важно!
Для использования этой функции Azure в PowerShell требуется установленный модуль AzureRM
. Это устаревший модуль, поддерживаемый только в Windows PowerShell 5.1.x, в который больше не добавляются новые функции.
Модули Az
и AzureRM
являются несовместимыми при использовании с одинаковыми версиями PowerShell.
Если вам необходимы обе версии, выполните следующее:
- Удалите модуль Az в сеансе PowerShell 5.1.
- Установите модуль AzureRM в сеансе PowerShell 5.1.
- Скачайте и установите PowerShell Core 6.x или последующей версии.
- Установите модуль Az в сеансе PowerShell Core.
Чтобы выполнить инструкции из этого руководства, вам понадобится учетная запись службы автоматизации Azure, в которой будет храниться runbook для запуска из подписки служба "Сетка событий".
- Модуль
AzureRM.Tags
нужно загрузить в учетной записи службы автоматизации. См. инструкции по импорту модулей в службе автоматизации Azure.
Импорт примера runbook для службы "Сетка событий"
Выберите учетную запись службы автоматизации и перейдите на страницу Runbooks.
Нажмите кнопку Просмотреть коллекцию.
Выполните поиск по запросу Сетка событий и выберите элемент Integrating Azure Automation with Event grid (Интеграция службы автоматизации Azure с Сеткой событий).
Выберите действие Импорт и присвойте ему имя Watch-VMWrite.
Когда импорт успешно завершится, выберите Изменить, чтобы просмотреть источник runbook.
Обновите строку 74 в скрипте, чтобы использовать
Tag
вместоTags
.Update-AzureRmVM -ResourceGroupName $VMResourceGroup -VM $VM -Tag $Tag | Write-Verbose
Нажмите кнопку Опубликовать.
Создание перехватчика для Microsoft Teams (необязательно)
В Microsoft Teams выберите элемент Дополнительные параметры рядом с именем канала, а затем выберите Соединители.
Прокрутите список соединителей до элемента Входящий веб-перехватчик и выберите для него действие Добавить.
Введите имя AzureAutomationIntegration и нажмите кнопку Создать.
Скопируйте URL-адрес веб-перехватчика в буфер обмена и сохраните его. URL-адрес веб-перехватчика используется для отправки данных в Microsoft Teams.
Выберите Готово, чтобы сохранить веб-перехватчик.
Создание веб-перехватчика для runbook
Откройте runbook с именем Watch-VMWrite.
Выберите Веб-перехватчики и нажмите кнопку Добавить веб-перехватчик.
Введите имя WatchVMEventGrid. Скопируйте URL-адрес в буфер обмена и сохраните его.
Выберите действие Настройка параметров и настроек запуска и введите URL-адрес веб-перехватчика Microsoft Teams в поле CHANNELURL. Поле WEBHOOKDATA оставьте пустым.
Щелкните Создать, чтобы создать веб-перехватчик для модуля runbook службы автоматизации.
Создание подписки Сетки событий
На странице Учетная запись службы автоматизации выберите элемент Сетка событий.
Нажмите кнопку +Подписка на события.
Настройте для подписки следующие сведения.
В списке Тип раздела выберите Подписки Azure.
Снимите флажок Подписка на все типы событий.
Введите имя AzureAutomation.
В раскрывающемся списке Определенные типы событий снимите все флажки, кроме Успешная запись ресурсов.
Примечание
Для Azure Resource Manager сейчас не учитывается разница между созданием и обновлением. Поэтому реализация этого руководства для всех событий Microsoft.Resources.ResourceWriteSuccess в вашей подписке Azure может привести к большому количеству вызовов.
Для типа конечной точки выберите Веб-перехватчик.
Щелкните Выбрать конечную точку. На открывшейся странице Выбор веб-перехватчика вставьте URL-адрес веб-перехватчика, созданный для модуля runbook с именем Watch-VMWrite.
В разделе Фильтры укажите подписку и группу ресурсов, в которых нужно искать новые виртуальные машины. Результат будет выглядеть так:
/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/Microsoft.Compute/virtualMachines
.
Выберите действие Создать, чтобы сохранить подписку Сетки событий.
Создание виртуальной машины, которая запускает runbook
Создайте новую виртуальную машину в той группе ресурсов, которую вы указали в фильтре префиксов для подписки Сетки событий.
Если все настроено правильно, runbook Watch-VMWrite сработает и добавит к этой виртуальной машине новый тег.
Новое сообщение отправляется в канал Microsoft Teams.
Дальнейшие действия
В этом руководстве вы настроили интеграцию между Сеткой событий и службой автоматизации. Вы ознакомились с выполнением следующих задач:
- импорт примера runbook для Сетки событий;
- создание перехватчика для Microsoft Teams (необязательно);
- создание веб-перехватчика для runbook;
- создание подписки в службе "Сетка событий";
- создание виртуальной машины, которая запускает runbook.