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

Панель управления Durable Task Scheduler позволяет отслеживать выполняющиеся оркестрации, просматривать историю выполнения, а также входные и выходные данные действий и управлять жизненным циклом оркестрации (приостанавливать, возобновлять, завершать) — и всё это из браузера.

Панель мониторинга доступна в двух средах:

Окружающая среда URL Authentication
Локальный эмулятор http://localhost:8082 Не требуется
Azure https://dashboard.durabletask.io/?endpoint=<SCHEDULER_ENDPOINT>&taskhub=<TASK_HUB_NAME> Требуется роль участника Durable Task Data

Дополнительные сведения об эмуляторе см. в статье "Эмулятор" для локальной разработки.

В этой статье вы узнаете, как:

  • Доступ к панели мониторинга локально или на Azure.
  • Назначьте роль "Участник данных долговечных задач" для идентификатора разработчика.
  • Отслеживайте состояние оркестрации, фильтруйте экземпляры и проверяйте журнал выполнения.
  • Управление оркестрациями (приостановка, возобновление, завершение, инициирование событий).

Необходимые условия

Подготовка к работе:

Доступ к панели мониторинга локально

Если вы используете эмулятор планировщика устойчивых задач, панель мониторинга доступна по адресу:

http://localhost:8082

Для локальной разработки не требуется никакой проверки подлинности или назначения ролей.

Назначение ролей доступа к панели мониторинга (Azure)

Чтобы получить доступ к панели мониторинга для размещенного на Azure планировщика, назначьте роль Durable Task Data Contributor вашему аккаунту разработчика (электронная почта).

  1. Назначьте выполняющего задачу на вашу учетную запись разработчика.

    assignee=$(az ad user show --id "someone@microsoft.com" --query "id" --output tsv)
    
  2. Задайте область. Предоставление доступа в пределах планировщика предоставляет доступ ко всем узлам задач в этом планировщике.

    Центр задач

    scope="/subscriptions/SUBSCRIPTION_ID/resourceGroups/RESOURCE_GROUP/providers/Microsoft.DurableTask/schedulers/SCHEDULER_NAME/taskHubs/TASK_HUB_NAME"
    

    Планировщик

    scope="/subscriptions/SUBSCRIPTION_ID/resourceGroups/RESOURCE_GROUP/providers/Microsoft.DurableTask/schedulers/SCHEDULER_NAME"
    
  3. Предоставьте доступ. Выполните следующую команду, чтобы создать назначение ролей и предоставить доступ.

    az role assignment create \
      --assignee "$assignee" \
      --role "Durable Task Data Contributor" \
      --scope "$scope"
    

    Ожидаемые выходные данные

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

    {
      "condition": null,
      "conditionVersion": null,
      "createdBy": "YOUR_DEVELOPER_CREDENTIAL_ID",
      "createdOn": "2024-12-20T01:36:45.022356+00:00",
      "delegatedManagedIdentityResourceId": null,
      "description": null,
      "id": "/subscriptions/YOUR_SUBSCRIPTION_ID/resourceGroups/YOUR_RESOURCE_GROUP/providers/Microsoft.DurableTask/schedulers/YOUR_DTS_NAME/providers/Microsoft.Authorization/roleAssignments/ROLE_ASSIGNMENT_ID",
      "name": "ROLE_ASSIGNMENT_ID",
      "principalId": "YOUR_DEVELOPER_CREDENTIAL_ID",
      "principalName": "YOUR_EMAIL",
      "principalType": "User",
      "resourceGroup": "YOUR_RESOURCE_GROUP",
      "roleDefinitionId": "/subscriptions/YOUR_SUBSCRIPTION/providers/Microsoft.Authorization/roleDefinitions/ROLE_DEFINITION_ID",
      "roleDefinitionName": "Durable Task Data Contributor",
      "scope": "/subscriptions/YOUR_SUBSCRIPTION/resourceGroups/YOUR_RESOURCE_GROUP/providers/Microsoft.DurableTask/schedulers/YOUR_DTS_NAME",
      "type": "Microsoft.Authorization/roleAssignments",
      "updatedBy": "YOUR_DEVELOPER_CREDENTIAL_ID",
      "updatedOn": "2024-12-20T01:36:45.022356+00:00"
    }
    
  4. После предоставления доступа откройте панель мониторинга по адресу:

    https://dashboard.durabletask.io/?endpoint=<SCHEDULER_ENDPOINT>&taskhub=<TASK_HUB_NAME>
    

    Замените <SCHEDULER_ENDPOINT> конечной точкой планировщика (например, https://myscheduler.westus2.durabletask.io) и <TASK_HUB_NAME> именем концентратора задач.

    В качестве альтернативы, перейдите к https://dashboard.durabletask.io/ и введите конечную точку вашего планировщика и имя концентратора задач в форму подключения.

Замечание

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

  1. Перейдите к ресурсу планировщика устойчивых задач на портале.

  2. Щелкните название узла задач.

  3. В меню слева выберите Управление доступом (IAM).

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

    Скриншот добавления назначения роли на панели управления доступом на портале.

  5. Найдите и выберите вкладчика данных для устойчивых задач. Нажмите кнопку Далее.

    Скриншот выбора назначения роли Data Contributor для Durable Task в портале.

  6. На вкладке "Участники" для назначения доступа выберите "Пользователь", "Группа" или "Субъект-служба".

  7. Для участников нажмите + Выбрать участников.

  8. В области "Выбор членов" найдите имя или сообщение электронной почты:

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

  9. Выберите сообщение электронной почты и нажмите кнопку "Выбрать ".

  10. Нажмите "Рецензирование + назначение", чтобы завершить назначение роли.

  11. После назначения роли щелкните "Обзор" в меню слева ресурса концентратора задач и перейдите по URL-адресу панели мониторинга, расположенному в верхней части раздела Essentials .

Мониторинг концентратора задач с помощью панели мониторинга

Панель мониторинга позволяет отслеживать ход выполнения оркестрации и просматривать историю выполнения. На главной странице панели мониторинга можно найти оркестрации, сущности, расписания, рабочие процессы и метрики вашего центра задач, а также агенты ИИ (в настоящее время доступны в предварительной версии).

Панель обзора оркестраций

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

Снимок экрана: домашняя страница панели мониторинга со ссылками на центры задач, журнал оркестрации, сущности, расписания, рабочие роли, метрики и агенты ИИ.

На панели обзора Orchestrations можно:

  • Просмотрите список экземпляров оркестрации.
  • Отфильтруйте список оркестраций с помощью строки поиска или фильтров.
  • Создайте оркестрацию.
  • Скопируйте ссылку, доступную для общего доступа, на панель мониторинга.
  • Задайте интервалы автообновления списка оркестровки.

Снимок экрана панели мониторинга со списком оркестраций.

Сведения об оркестрации отображаются в следующих столбцах по умолчанию.

Category Description
Идентификатор экземпляра Найдите конкретный экземпляр оркестрации по его уникальному идентификатору.
Имя. Фильтруйте по имени типа оркестрации.
Status Фильтр по статусу выполнения (выполняется, завершено, с ошибкой, прервано, ожидает, приостановлено).
Теги Фильтруйте по тегам, примененным к экземпляру оркестрации.
Создано Дата и время создания оркестрации.

Чтобы отображать пользовательское имя вместо зарегистрированного имени в списке оркестраций и в сведениях о запуске, используйте специальный тег durabletask.displayName при запуске оркестрации. Для получения дополнительной информации см. раздел «Установить пользовательское отображаемое имя».

Вы можете отфильтровать список оркестраций по следующим критериям.

Снимок экрана приборной панели с историей и статусом оркестрации, а также параметрами фильтрации.

Category Description
Имя оркестрации Фильтруйте по имени типа оркестрации.
Состояние среды выполнения Фильтр по статусу выполнения (выполняется, завершено, с ошибкой, прервано, ожидает, приостановлено).
Фильтр тегов Искать оркестрации по ключу или значению тега.
Создано с/Создано по Сузьте результаты по временному диапазону.

Активируйте обновление списка оркестрации, выполнив указанные ниже действия.

  • Щелкните значок обновления для обновления вручную.

  • Установите переключатель "Автоматически" и выберите интервал для автоматического обновления списка.

    Снимок экрана с переключателем автообновления и значком ручного обновления.

Создайте новую оркестрацию

Вы можете создать новую оркестрацию на панели мониторинга Durable Task Scheduler.

  1. На панели обзора Orchestrations нажмите + New Orchestration.

  2. Заполните данные в форме Новая оркестрация.

    Снимок экрана формы

    Поле Description
    Имя оркестрации Выберите оркестрацию из раскрывающегося списка или введите пользовательское имя оркестрации.
    Идентификатор экземпляра Необязательный параметр. Идентификаторы экземпляров создаются автоматически. Независимо от того, создаете ли вы идентификатор экземпляра самостоятельно или позволяете сгенерировать его автоматически, идентификаторы экземпляров имеют формат ASCII.
    Версия Необязательный параметр. Введите применимый номер версии.
    Input Необязательный параметр. Введите входные данные в формате JSON.
    Запланированное начало Необязательный параметр. Выберите дату и время начала оркестрации.
    Теги Необязательный параметр. Введите теги ключа и/или значения, связанные с оркестрацией.
  3. Нажмите кнопку Создать.

    Вы можете увидеть свою новую оркестрацию в списке.

Сведения о оркестрации

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

Используйте вкладки «Временная шкала», «История» и «Поток», чтобы просмотреть сведения о его выполнении и ходе действий. Вкладка "Временная шкала" открыта по умолчанию.

  • На вкладке "Временная шкала" показаны интервалы выполняемой оркестрации.

    Снимок экрана: временная шкала выполнения оркестрации.

    Выберите действие для просмотра входных и выходных данных.

    Снимок экрана: панель, в которой можно просмотреть входные, выходные данные и состояние действия.

  • Вкладка История показывает ленту всех событий в оркестрации с отметками времени.

    Снимок экрана панели мониторинга, показывающий журнал событий отдельной оркестрации.

  • Вкладка Flow наглядно показывает ход выполнения оркестрации.

    Снимок экрана потока событий отдельной оркестрации.

    Вы также можете просмотреть входные и выходные данные действия, нажав кнопку "Вид".

    Снимок экрана: панель, в которой можно просмотреть входные, выходные данные и состояние действия с помощью представления потока.

Управление оркестрациями

Жизненным циклом оркестрации можно управлять с помощью панели управления. На панели Оркестрации выберите идентификатор экземпляра, чтобы получить доступ к следующим действиям:

Снимок экрана панели управления с кнопками

  • Возобновить: Продолжить ранее приостановленную оркестрацию.
  • Приостановить: Приостановить запущенную оркестрацию. Он остается в памяти, но останавливает обработку событий до возобновления.
  • Перезапустить: Перезапустите ранее запущенную оркестрацию.
  • Завершить: Немедленно прекратите выполнение оркестрации, при необходимости указав строку причины.
  • Удалить: Удалите экземпляр оркестрации.

Детализируйте отдельную оркестрацию, чтобы получить доступ к действию Вызвать событие. Это действие отправляет именованное внешнее событие (с необязательными полезными данными JSON) в запущенную или приостановленную оркестрацию.

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

Объекты

Выберите сущности из меню слева, чтобы просмотреть созданные сущности.

Снимок экрана: созданные сущности и некоторые средства управления для них.

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

  • С момента последнего изменения
  • Когда была выполнена последняя операция
  • Заблокировано ли оно, и кто заблокировали его
  • Размер невыполненной работы
  • Состояние сущности в json или необработанном коде

Снимок экрана отдельного объекта, отслеживаемого на панели управления Durable Task Scheduler.

Вы также можете отправить сигнал сущности. Щелкните Signal в правом верхнем углу и создайте сигнальное сообщение.

Снимок экрана окна для отправки сигнала вашей индивидуальной сущности.

Агенты (предварительная версия)

Замечание

Просмотр сеансов агента через панель мониторинга Durable Task Scheduler сейчас доступен в предварительной версии.

Выберите агенты из меню слева, чтобы отслеживать сеансы агента, активированные приложением в планировщике. Откройте сеанс агента, чтобы просмотреть данные об использовании токенов, например:

  • Количество токенов запроса, использованных вами.
  • Количество использованных вами токенов завершения.
  • Общее количество токенов, использованных в ходе сеанса агента.

Вы также можете просмотреть журнал чата агента и временную шкалу.

Снимок экрана: сеансы агента, активированные приложением.

Расписание

Выберите "Расписания" в меню слева, чтобы просмотреть созданные расписания. В области расписаний можно приостановить, возобновить или удалить расписание. Вы также можете щелкнуть +Создать расписание , чтобы создать расписание с помощью пользовательского интерфейса панели мониторинга.

Снимок экрана: созданные расписания и некоторые средства управления для них.

Рабочие и метрики

Выберите рабочие и метрики в меню слева, чтобы просмотреть:

  • Все ваши ожидающие, активные или сохранённые действия, оркестраторы и сущности.
  • Подключенные сотрудники.

Снимок экрана с обзором очередей элементов работы и подключенных исполнителей.

Дальнейшие действия

Для планировщика устойчивых задач для устойчивых функций:

Для планировщика устойчивых задач для пакетов SDK для устойчивых задач: