Мониторинг и сбор диагностических данных для рабочих процессов в Azure Logic Apps
Статья
Область применения: Azure Logic Apps (Потребление + Стандартный)
Чтобы получить более подробные данные для отладки и диагностики рабочих процессов в Azure Logic Apps, можно записывать данные и события среды выполнения рабочего процесса, такие как события триггера, события запуска и события действий, которые можно отправлять в рабочую область Log Analytics, учетную запись хранения Azure, концентратор событий Azure, другое назначение партнера или все эти назначения при настройке и использовании журналов Azure Monitor.
Примечание
Журналы ресурсов Azure Monitor не являются 100% без потери. Журналы ресурсов основаны на архитектуре хранилища и пересылки, предназначенной для перемещения петабайт данных в день в масштабе. Эта возможность включает встроенную избыточность и повторные попытки на платформе, но не предоставляет гарантии транзакций. Мониторинг транзакций может снизить надежность и производительность отслеживаемой службы.
Кроме того, временные ошибки ведения журнала должны остановить вышестоящую службу, если не удается подтвердить доставку журналов.
Всякий раз, когда команда Azure Monitor может подтвердить постоянный источник потери данных, команда считает решение и предотвращение его наивысшим приоритетом.
Однако небольшие потери данных по-прежнему могут произойти из-за временных, не повторяющихся проблем службы, распределенных по Всей Azure, и не все могут быть пойманы.
В этом руководстве показано, как выполнить следующие задачи на основе ресурса приложения логики "Потребление" или "Стандартный".
Для существующего приложения логики потребления установите решение Logic Apps Management в рабочей области Log Analytics. Это решение предоставляет статистические данные по выполнению приложения логики с подробными сведениями, такими как состояние, время выполнения, состояние повторной отправки и идентификаторы корреляции.
Для ресурса приложения логики потребления требуется разрешение владельца или участника подписки Azure, чтобы установить решение Logic Apps Management из Azure Marketplace. Дополнительные сведения см. в следующей документации:
Для приложения логики потребления необходимо сначала включить Log Analytics.
Включение Log Analytics при создании приложения логики
В портал Azure на панели "Создание приложения логики" выполните следующие действия:
В разделе "План" установите флажок "Потребление", чтобы отображались только параметры рабочих процессов потребления.
Для включения log analytics нажмите кнопку "Да".
В списке рабочих областей Log Analytics выберите рабочую область, в которой нужно отправить данные из запуска рабочего процесса.
Завершите создание ресурса приложения логики.
Когда все будет готово, приложение логики будет связано с используемой рабочей областью Log Analytics. На этом шаге в рабочую область автоматически устанавливается решение по управлению Logic Apps.
Если вы включили Log Analytics при создании ресурса приложения логики, пропустите этот раздел. Решение по управлению Logic Apps уже установлено в рабочей области Log Analytics. В противном случае выполните следующие действия для существующего приложения логики потребления:
В поле поиска портал Azure введите рабочие области Log Analytics и выберите рабочие области Log Analytics из результатов.
В списке Рабочие области Log Analytics выберите нужную рабочую область.
На панели Обзор в разделе Начало работы с Log Analytics>Настройка решений для мониторинга выберите пункт Просмотреть решения.
В разделе "Обзор" выберите "Добавить", который добавляет новое решение в рабочую область.
После открытия страницы Marketplace в поле поиска введите управление приложениями логики и выберите "Управление Logic Apps".
На плитке Управление Logic Apps выберите в списке Создать элемент Управление Logic Apps.
На панели Create Logic Apps Management (Preview) Solution (Создание решения для управления Logic Apps (предварительная версия)) выберите рабочую область Log Analytics, в которой нужно установить решение. Выберите Проверка и создание, проверьте введенные сведения и щелкните Создать.
После того, как Azure развернет решение в группе ресурсов Azure с рабочей областью Log Analytics, это решение появится на панели сводных данных о рабочей области.
Для приложения логики уровня "Стандартный" можно продолжить добавление параметра диагностики. Никакие другие необходимые действия не необходимы для включения Log Analytics, а также не применяется к приложениям логики Уровня "Стандартный".
В портал Azure откройте ресурс приложения логики потребления.
В меню ресурсов приложения логики в разделе "Мониторинг" выберите параметры диагностики. На странице параметров диагностики выберите "Добавить параметр диагностики".
Для имени параметра диагностики укажите имя, которое требуется для параметра.
В разделе "Категории журналов" выберите события диагностики>среды выполнения рабочего процесса. В поле Метрики выберите AllMetrics.
В разделе "Сведения о назначении" выберите одно или несколько назначений в зависимости от места отправки журналов.
Назначение
Маршруты
Отправка в рабочую область Log Analytics
Выберите подписку Azure для рабочей области Log Analytics и рабочей области.
Выберите подписку Azure и место назначения. Дополнительные сведения см. в разделе "Службы машинного поставщика программного обеспечения Azure".
В следующем примере в качестве назначения выбирается рабочая область Log Analytics:
Чтобы завершить добавление параметра диагностики, нажмите кнопку "Сохранить".
На портале Azure откройте свой ресурс приложения логики категории "Стандартный".
В меню ресурсов приложения логики в разделе "Мониторинг" выберите параметры диагностики. На странице параметров диагностики выберите "Добавить параметр диагностики".
Для имени параметра диагностики укажите имя, которое требуется для параметра.
В разделе "Категории журналов" выберите журналы> среды выполнения рабочего процесса. В поле Метрики выберите AllMetrics.
В разделе "Сведения о назначении" выберите одно или несколько назначений в зависимости от места отправки журналов.
Назначение
Маршруты
Отправка в рабочую область Log Analytics
Выберите подписку Azure для рабочей области Log Analytics и рабочей области.
Выберите подписку Azure и место назначения. Дополнительные сведения см. в разделе "Службы машинного поставщика программного обеспечения Azure".
В следующем примере в качестве назначения выбирается рабочая область Log Analytics:
При необходимости для включения телеметрии для таких событий, как Host.Startup, Host.Bindings и Host.LanguageWorkerConfig, выберите журналы приложений-функций. Дополнительные сведения см. в статье "Мониторинг Функции Azure с помощью журналов Azure Monitor".
Чтобы завершить добавление параметра диагностики, нажмите кнопку "Сохранить".
Azure Logic Apps теперь отправляет данные телеметрии о рабочем процессе в рабочую область Log Analytics.
Примечание
После включения параметров диагностика данные диагностика могут не выполняться до 30 минут до журналов в указанном месте назначения, таких как Log Analytics, учетная запись хранения или концентратор событий. Эта задержка означает отсутствие данных диагностики для просмотра за указанный период времени. Завершенные события и отслеживаемые свойства могут не отображаться в рабочей области log Analytics в течение 10-15 минут.
В меню рабочей области в разделе "Классическая" выберите "Сводка рабочей области". На странице "Обзор" выберите "Управление Logic Apps".
Примечание
Если фрагмент управления Logic Apps не выводит результаты сразу после выполнения приложения, попробуйте воспользоваться командой Обновить или подождите некоторое время, прежде чем повторить попытку.
На странице сводки отображаются рабочие процессы, сгруппированные по имени или по состоянию выполнения. На странице также отображаются сведения о сбоях в действиях или триггерах для выполнения рабочего процесса.
Чтобы просмотреть все запуски для определенного рабочего процесса или состояния, выберите строку для этого рабочего процесса или состояния.
В этом примере показаны все запуски для определенного рабочего процесса:
Чтобы отфильтровать свои результаты, выполните фильтрацию на стороне клиента и на стороне сервера.
Клиентский фильтр. Для каждого столбца выберите необходимые фильтры, например:
Серверный фильтр. Чтобы выбрать определенное временное окно или ограничить отображаемое количество выполнений, воспользуйтесь элементом управления области в верхней части страницы. По умолчанию за раз отображается только 1000 записей.
Чтобы просмотреть все действия и их сведения для определенного запуска, выберите строку для запуска рабочего процесса приложения логики.
В следующем примере показаны все действия и триггеры для определенного рабочего процесса приложения логики:
В меню навигации рабочей области выберите журналы.
На новой вкладке запроса в левом столбце в разделе "Таблицы" разверните узел LogManagement и выберите LogicAppWorkflowRuntime.
В области справа в разделе "Результаты" в таблице отображаются записи, связанные со следующими событиями:
WorkflowRunStarted
WorkflowRunCompleted
WorkflowTriggerStarted
WorkflowTriggerEnded
WorkflowActionStarted
WorkflowActionCompleted
WorkflowBatchMessageSend
WorkflowBatchMessageRelease
Для завершенных событий столбец EndTime публикует метку времени для завершения. Это значение помогает определить длительность между событием начала и завершенным событием.
Примеры запросов
В области запросов рабочей области Log Analytics можно ввести собственные запросы, чтобы найти определенные данные, например:
Выберите все события для определенного идентификатора выполнения рабочего процесса:
LogicAppWorkflowRuntime
| where RunId == "08585258189921908774209033046CU00"
Список всех исключений:
LogicAppWorkflowRuntime
| where Error != ""
| sort by StartTime desc
Определите действия, которые испытали повторные попытки:
LogicAppWorkflowRuntime
| where RetryHistory != ""
| sort by StartTime desc
Отправка диагностических данных в службу хранилища Azure и Центры событий Azure
Вместе с журналами Azure Monitor можно отправлять собранные данные в другие места назначения, например:
Затем вы можете получить мониторинг в режиме реального времени с помощью телеметрии и аналитики из других служб, таких как Azure Stream Analytics и Power BI, например:
Сроки хранения применяются только в случае, если используется учетная запись хранения.
Включение настраиваемых свойств в телеметрию
В рабочем процессе триггеры и действия имеют возможность добавить следующие настраиваемые свойства, чтобы их значения отображались вместе с генерируемой телеметрией в рабочей области Log Analytics.
Пользовательский идентификатор отслеживания
Большинство триггеров имеют свойство Custom Tracking Id, где можно указать идентификатор отслеживания с помощью выражения. Это выражение можно использовать для получения данных из полезных данных полученного сообщения или создания уникальных значений, например:
Если этот пользовательский идентификатор отслеживания не указан, Azure автоматически создает этот идентификатор и сопоставляет события в ходе выполнения рабочего процесса, включая все вложенные рабочие процессы, вызываемые из родительского рабочего процесса. Можно вручную задать этот идентификатор в триггере, передав заголовок x-ms-client-tracking-id с пользовательским идентификатором в запросе триггера. Триггер запроса, триггер HTTP или триггер на основе веб-перехватчика можно использовать.
Действия содержат раздел "Отслеживаемые свойства" , где можно указать имя и значение пользовательского свойства, введя выражение или жестко закодированное значение для отслеживания определенных входных или выходных данных, например:
Отслеживаемые свойства могут отслеживать только входные и выходные данные одного действия, но можно использовать correlation свойства событий для сопоставления между действиями в выполнении рабочего процесса.
Отслеживаемые свойства могут ссылаться только на параметры, входные данные и выходные данные для собственного триггера или действия.
Отслеживаемые свойства не допускаются в триггере или действии с безопасными входными данными, безопасными выходными данными или обоими. Они также не могут ссылаться на другой триггер или действие, которое имеет безопасные входные данные, безопасные выходные данные или оба.
В следующих примерах показано, где настраиваемые свойства отображаются в рабочей области Log Analytics:
Присоединитесь к серии встреч для создания масштабируемых решений искусственного интеллекта на основе реальных вариантов использования с другими разработчиками и экспертами.