Отслеживание обновленных файлов с помощью задачи мониторинга

Служба автоматизации Azure использует задачу наблюдателя для поиска событий и активации действий с модулями Runbook PowerShell. Задача наблюдателя содержит две части, наблюдатель и действие. Модуль runbook наблюдателя выполняется с интервалом, определенным в задаче наблюдателя, и передает данные в runbook действий.

Замечание

Задачи наблюдателя не поддерживаются в Microsoft Azure, оперируемой компанией 21Vianet.

Это важно

Начиная с мая 2020 г. использование Azure Logic Apps — это рекомендуемый и поддерживаемый способ мониторинга событий, планирования повторяющихся задач и активации действий. См. статью "Расписание" и выполнение повторяющихся автоматических задач, процессов и рабочих процессов с помощью Azure Logic Apps.

В этой статье описывается создание задачи наблюдателя для мониторинга при добавлении нового файла в каталог. Вы узнаете, как:

  • Импорт модуля Runbook наблюдателя
  • Создание переменной автоматизации
  • Создание руководства по действиям
  • Создание задачи наблюдателя
  • Активация наблюдателя
  • Проверка выходных данных

Предпосылки

Для выполнения этой статьи необходимо выполнить следующие действия.

Импорт модуля Runbook наблюдателя

В этой статье используется книга сценариев наблюдателя под названием Watcher runbook that looks for new files in a directory, чтобы искать новые файлы в каталоге. Модуль Runbook наблюдателя извлекает последнее известное время записи в файлы в папке и просматривает все файлы, более новые, чем эта подложка.

Этот модуль Runbook можно импортировать в учетную запись службы автоматизации на портале, выполнив следующие действия.

  1. Войдите на портал Azure.
  2. Найдите и выберите учетные записи службы автоматизации.
  3. На странице "Учетные записи службы автоматизации" выберите имя учетной записи службы автоматизации из списка.
  4. В левой области выберите коллекцию Runbooks в разделе "Автоматизация процессов".
  5. Убедитесь, что GitHub выбран в раскрывающемся списке "Источник ".
  6. Найдите Runbook наблюдателя.
  7. Выберите модуль Runbook наблюдателя, который ищет новые файлы в каталоге и выберите "Импорт " на странице сведений.
  8. Присвойте рабочему процессу имя и при необходимости описание и нажмите OK, чтобы импортировать рабочий процесс в ваш аккаунт автоматизации. Вы увидите сообщение "Импорт успешно " в области в правом верхнем углу окна.
  9. Импортированный модуль Runbook отображается в списке под именем, указанным при выборе модулей Runbook на панели слева.
  10. Щелкните модуль Runbook и на странице сведений о runbook выберите "Изменить ", а затем нажмите кнопку "Опубликовать". При появлении запроса нажмите кнопку "Да" , чтобы опубликовать модуль Runbook.

Кроме того, модуль Runbook можно скачать из организации GitHub службы автоматизации Azure.

  1. Перейдите на страницу организации GitHub Azure Automation для Watch-NewFile.ps1.
  2. Чтобы скачать runbook из GitHub, выберите Code в правой части страницы, а затем нажмите кнопку "Скачать ZIP", чтобы скачать весь код в ZIP-файле.
  3. Извлеките содержимое и импортируйте модуль Runbook.

Создание переменной автоматизации

Переменная службы автоматизации используется для хранения меток времени, которые предыдущий модуль Runbook считывает и сохраняет из каждого файла.

  1. Выберите переменные в разделе "Общие ресурсы" и нажмите кнопку "Добавить переменную".

  2. Введите Watch-NewFileTimestamp как имя.

  3. Выберите DateTime для типа. По умолчанию используется текущая дата и время.

    Снимок экрана: создание колонки переменной.

  4. Нажмите кнопку "Создать", чтобы создать переменную службы автоматизации.

Создание руководства по действиям

Руководство по выполнению действий используется в задаче наблюдателя для выполнения действий с данными, переданными в него из руководства наблюдателя. Вы должны импортировать предопределенный runbook действия, либо из Azure портала, либо из организации GitHub Azure Automation.

Этот модуль Runbook можно импортировать в учетную запись службы автоматизации на портале Azure:

  1. Войдите на портал Azure.
  2. Найдите и выберите учетные записи службы автоматизации.
  3. На странице "Учетные записи службы автоматизации" выберите имя учетной записи службы автоматизации из списка.
  4. В левой области выберите коллекцию Runbooks в разделе "Автоматизация процессов".
  5. Убедитесь, что GitHub выбран в раскрывающемся списке "Источник ".
  6. Найдите действие Watcher, выберите действие наблюдателя, которое обрабатывает события, активируемые рабочей книгой наблюдателя, и нажмите Импорт.
  7. При необходимости измените имя модуля Runbook на странице импорта и нажмите кнопку "ОК ", чтобы импортировать модуль Runbook. Вы увидите сообщение "Импорт успешно " в области уведомлений в правой верхней части браузера.
  8. Перейдите на страницу учетной записи службы автоматизации и нажмите кнопку Runbook слева. Новый модуль Runbook должен быть указан под именем, указанным на предыдущем шаге. Щелкните модуль Runbook и на странице сведений о runbook выберите "Изменить ", а затем нажмите кнопку "Опубликовать". При появлении запроса нажмите кнопку "Да" , чтобы опубликовать модуль Runbook.

Чтобы создать модуль Runbook действия, скачав его из организации GitHub службы автоматизации Azure:

  1. Перейдите на страницу GitHub-организации Azure Automation для Process-NewFile.ps1.
  2. Чтобы скачать runbook из GitHub, выберите Code в правой части страницы, а затем нажмите кнопку "Скачать ZIP", чтобы скачать весь код в ZIP-файле.
  3. Извлеките содержимое и импортируйте модуль Runbook.

Создание задачи наблюдателя

На этом шаге вы настроите задачу наблюдателя, ссылающуюся на модули Runbook наблюдателя и действия, определенные в предыдущих разделах.

  1. Перейдите к учетной записи службы автоматизации и выберите задачи наблюдателя в разделе "Автоматизация процессов".

  2. Выберите страницу задач наблюдателя и нажмите кнопку +Добавить задачу наблюдателя.

  3. Введите WatchMyFolder в качестве имени.

  4. Выберите Настроить наблюдателя и выберите руководство Watch-NewFile.

  5. Введите следующие значения для параметров:

    • FOLDERPATH — папка на гибридном рабочем сервере Runbook, где создаются новые файлы, например, d:\examplefiles.
    • EXTENSION — расширение для конфигурации. Оставьте пустым для обработки всех расширений файлов.
    • RECURSE — рекурсивная операция. Оставьте это значение как значение по умолчанию.
    • RUN SETTINGS — параметр для запуска модуля Runbook. Выберите гибридного сотрудника.
  6. Нажмите кнопку "ОК", а затем нажмите кнопку " Выбрать ", чтобы вернуться на страницу наблюдателя.

  7. Выберите действие "Настройка" и выберите runbook Process-NewFile .

  8. Введите следующие значения для параметров:

    • EVENTDATA — данные о событиях. Оставьте пустым. Данные передаются из рабочей книги наблюдателя.
    • Параметры запуска — параметр для запуска модуля Runbook. Оставьте как Azure, так как этот модуль Runbook выполняется в службе автоматизации Azure.
  9. Нажмите кнопку "ОК", а затем нажмите кнопку " Выбрать ", чтобы вернуться на страницу наблюдателя.

  10. Нажмите кнопку "ОК ", чтобы создать задачу наблюдателя.

    Снимок экрана: настройка действия наблюдателя на портале Azure.

Активация наблюдателя

Чтобы убедиться, что задача наблюдателя работает должным образом, необходимо выполнить тест, как описано ниже.

  1. Подключение к гибридному рабочему агенту Runbook.
  2. Откройте PowerShell и создайте тестовый файл в папке.
New-Item -Name ExampleFile1.txt

В следующем примере показаны ожидаемые выходные данные.

    Directory: D:\examplefiles


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----       12/11/2017   9:05 PM              0 ExampleFile1.txt

Проверка выходных данных

  1. Перейдите к учетной записи службы автоматизации и выберите задачи наблюдателя в разделе "Автоматизация процессов".

  2. Выберите задачу наблюдателя WatchMyFolder.

  3. Нажмите «Просмотр потоков наблюдателя» в разделе «Потоки», чтобы увидеть, что наблюдатель нашел новый файл и запустил сценарий действий.

  4. Чтобы просмотреть задания действий runbook, щелкните "Просмотр заданий действий мониторинга". Для просмотра сведений о задании можно выбрать каждое задание.

    Снимок экрана: задания действий наблюдателя на портале Azure.

Ожидаемые выходные данные при обнаружении нового файла можно увидеть в следующем примере:

Message is Process new file...

Passed in data is @{FileName=D:\examplefiles\ExampleFile1.txt; Length=0}

Дальнейшие шаги

Дополнительные сведения о создании собственного модуля Runbook см. в статье "Создание модуля Runbook PowerShell".