Рекомендации по управлению операциями для акселератора целевой зоны служб AIS
В этой статье приводятся рекомендации по управлению операциями и мониторингу при использовании предложений AIS.
Большинство рекомендаций в этом разделе относятся к стандартной (однотенантной) версии Logic Apps, которая сама является частью предложения Служба приложений Azure и использует многие из одинаковых возможностей управления.
Многие ресурсы, составляющие AIS, можно настроить для хранения журналов, данных телеметрии и метрик в Log Analytics или Application Insights или в пользовательских расположениях хранилища (к этим ресурсам относятся учетные записи хранения, Центры событий и другие).
Мы можем использовать эту информацию для визуализации общего состояния ресурсов и принятия соответствующих мер по управлению.
Определения
Журналы Azure Monitor собирают и упорядочивают данные журналов и производительности из отслеживаемых ресурсов. Такие средства, как Log Analytics, могут запрашивать или визуализировать эти данные журнала, а также позволяют оповещать при выполнении определенных условий.
Журналы метрик Azure собирают числовые данные в базу данных временных рядов из отслеживаемых ресурсов. Такие средства, как Application Insights, могут визуализировать эти данные, помогая выявлять проблемы с производительностью и средой выполнения.
Log Analytics — это предложение мониторинга Azure, которое предоставляет расположение для хранения данных журнала и производительности, предоставляет механизм и язык для запроса этих журналов (Kusto); и предоставляет возможность создания оповещений и панелей мониторинга на основе этих журналов (среди других возможностей).
Application Insights — это предложение мониторинга Azure, которое позволяет визуализировать данные о производительности, создаваемые отслеживаемыми ресурсами, и оповещать их.
язык запросов Kusto (KQL) — это эффективный язык запросов, оптимизированный для запросов и форматирования данных. Например, это основной язык запросов для Log Analytics.
Вопросы проектирования
Рассмотрите решение для мониторинга в целом:
Какие ресурсы необходимо отслеживать?
Как вы будете отслеживать сообщения, которые передаются между ресурсами?
К каким внешним системам вы будете подключаться?
Какие типы оповещений вам понадобятся?
Подумайте о том, какие запросы необходимо выполнить. Например, нужно ли знать, занимает ли данный запрос больше времени, чем ожидалось? Или если вы получаете одну ошибку или кластер ошибок?
Какой уровень отслеживания вам понадобится? Например, если сообщение поступает от стороннего производителя, нужно ли отслеживать его через все связанные ресурсы?
Какие задачи управления необходимо выполнить? Потребуется ли повторно отправлять сообщения или файлы?
Журнал выполнения приложения логики по умолчанию хранится в службе хранилища Azure, но вы также можете экспортировать метрики и файлы журналов в другие источники (например, Log Analytics или внешнюю учетную запись хранения). Подумайте, как вы используете данные журнала и используете ли вы централизованное хранилище журналов.
Application Insights используется для мониторинга производительности приложений. Это делается путем сбора метрик из ресурсов, составляющих ваше решение.
Log Analytics используется для запроса журналов и настройки оповещений, что позволяет просматривать работоспособность ресурсов и понимать проблемы, которые могут возникнуть. Данные журнала могут включать пользовательские свойства (см . раздел Отслеживаемые свойства ниже).
Дополнительные рекомендации и рекомендации, относящиеся к Службам приложений, см. в статье об управлении акселератором целевых зон Служба приложений.
Рекомендации по проектированию
Настройте Application Insights так, чтобы в качестве источника данных использовался рабочая область Log Analytics (которая называется ресурсом на основе рабочей области). Это позволяет хранить данные журнала и производительности в консолидированном расположении.
Настройте оповещения для всех ресурсов, чтобы уведомлять соответствующие команды о событиях, связанных с отдельными ресурсами или рабочей нагрузкой.
При необходимости свяжите ресурсы в решении с Application Insights. Например, приложение логики можно связать с Application Insights, чтобы данные и метрики среды выполнения были доступны для выполнения запросов. Пример см. здесь.
Используйте функцию clientTrackingId logic Apps для предоставления пользовательского идентификатора отслеживания, что позволяет сопоставлять события во всех запусках приложений логики. Для достижения этого результата можно использовать заголовок x-ms-client-tracking-id с помощью триггеров Request, HTTP или HTTP+WebHook.
Используйте функцию Отслеживаемые свойства Logic Apps для записи других данных (входных или выходных данных) из действия в файлы журнала. Затем эти свойства доступны для использования при запросе журналов с помощью KQL с Log Analytics или другого решения.
Рассмотрите возможность использования тегов ресурсов. Теги ресурсов помогают управлять ресурсами в Azure и упорядочивать их. Их можно использовать для назначения метаданных ресурсам. Эти метаданные можно использовать для различных целей, таких как классификация ресурсов по приложениям или подразделениям, отслеживание затрат на ресурсы и определение ресурсов для соответствия.
Примеры запросов Kusto
В приведенных ниже запросах показано, как запросить три таблицы main, используемые для данных журнала AIS. Доступ к каждой из этих таблиц можно получить из параметра Журналы в разделе Мониторинг приложения логики.
Таблицы запросов main:
exceptions
Эта таблица содержит все исключения, зарегистрированные ресурсом, например исключения, созданные средой выполнения приложения логики. Его можно использовать для поиска основной причины любых проблем, которые вы видите на портале или во время выполнения кода.requests
В этой таблице регистрируются все запросы, выполняемые средой выполнения приложения логики к другому ресурсу или к определенным действиям в рабочем процессе.traces
Эта таблица содержит основную часть журналов среды выполнения Logic Apps, сведения о выполнении триггеров, запуске и остановке рабочего процесса, а также о выполнении действий. Если вы зарегистрировали отслеживаемые свойства из своих действий, эти данные можно найти в разделе customDimensions . Затем можно использовать предложение extend в запросе, чтобы добавить данные в качестве столбцов в ответе на запрос.
Рабочие процессы с ошибками:
> traces
>
> \| where customDimensions\["Category"\] == "Host.Triggers.Workflows"
>
> \| where customDimensions.LogLevel == "Error"
Количество выполнений рабочих процессов за последние 24 часа во всех рабочих процессах:
> traces
>
> \| where customDimensions\["Category"\] == "Host.Triggers.Workflows"
>
> \| where customDimensions\["EventName"\] == "WorkflowActionStart"
>
> \| where timestamp \> ago(1d)
>
> \| count
Частота успешных срабатываний триггеров с графиком с течением времени
> traces
> \| where customDimensions\["Category"\] == "Host.Triggers.Workflows"
> \| where customDimensions\["EventName"\] == "WorkflowTriggerEnd"
> \|summarize
>
> success = countif(customDimensions\["prop\_\_status"\] ==
> "Succeeded"),
>
> failures = countif(customDimensions\["prop\_\_status"\] == "Failed")
>
> by bin(timestamp, 1m)
> \| render timechart
Следующий шаг
Ознакомьтесь с критически важными областями проектирования, чтобы ознакомиться с полными рекомендациями и рекомендациями для вашей архитектуры.