Поделиться через


Мониторинг Azure Digital Twins с помощью метрик, оповещений и диагностики

Azure Digital Twins интегрируется с Azure Monitor для предоставления метрик и диагностических сведений, которые можно использовать для мониторинга ресурсов Azure Digital Twins. Метрики включены по умолчанию и предоставляют сведения о состоянии ресурсов Azure Digital Twins в подписке Azure. Оповещения могут заранее уведомлять вас, когда определенные условия находятся в данных метрик. Вы также можете собирать журналы диагностики для экземпляра службы с целью мониторинга его доступности, производительности и других данных.

Эти функции мониторинга помогут оценить общую работоспособность службы Azure Digital Twins и ресурсов, подключенных к нему. Их можно использовать, чтобы понять, что происходит в экземпляре Azure Digital Twins, и проанализировать первопричины проблем, не обращаясь в поддержку Azure.

К ним можно получить доступ из портала Azure, сгруппированные под заголовком Мониторинг для ресурса Azure Digital Twins.

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

Оповещения и метрики

Общие сведения о просмотре метрик ресурсов Azure см. в статье "Начало работы с обозревателем метрик" в документации по Azure Monitor. Общие сведения о настройке оповещений для метрик Azure см. в статье "Создание нового правила генерации оповещений".

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

Метрики для отслеживания лимитов службы

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

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

Метрика Отображаемое имя метрики Единица измерения Тип агрегирования Описание Измерения
TwinCount Количество двойников (предварительная версия) Смета Итог Общее число двойников в экземпляре Azure Digital Twins. Используйте эту метрику, чтобы определить, приближаетесь ли вы к лимиту услуг по максимально допустимому числу двойников для одного экземпляра. нет
КоличествоМоделей Количество моделей (предварительная версия) Подсчет Итог Общее число моделей в экземпляре Azure Digital Twins. Используйте эту метрику, чтобы определить, приближаетесь ли вы к пределу услуги по максимально допустимому числу моделей для одного экземпляра. нет

Метрики запросов API

Метрики, относящиеся к запросам API:

Метрика Отображаемое имя метрики Единица измерения Тип агрегирования Описание Измерения
API-запросы Запросы к API Счёт Итог Количество запросов API, выполненных для операций чтения, записи, удаления и запроса для цифровых двойников. Аутентификация
Операция
Протокол
Код состояния,
Класс кода состояния,
текст состояния
Частота Ошибок API Запросов Частота сбоев запросов API Процент Средний Процент запросов API, которые служба получает для вашего экземпляра и на которые возвращается код ответа внутренней ошибки (500) при операциях чтения, записи, удаления и выполнения запросов для Digital Twins. Аутентификация
Операция
Протокол
Код состояния,
Класс кода состояния,
текст состояния
Задержка запросов API Задержка запросов API Миллисекунды Средний Время отклика для запросов API. Это значение относится ко времени с момента получения запроса в Azure Digital Twins, до отправки службой успешного/неуспешного результата выполнения операций чтения, записи, удаления и запроса в Digital Twins. Аутентификация
Операция
Протокол

Метрики выставления счетов

Метрики, относящиеся к выставлению счетов:

Метрика Отображаемое имя метрики Единица измерения Тип агрегирования Описание Измерения
BillingApiOperations Операции API выставления счетов счёт Итог Метрика выставления счетов для всех запросов API, выполненных к службе Azure Digital Twins. Идентификатор измерения
Обработанные сообщения о выставлении счетов Сообщения о выставленных счетах обработаны Подсчет Итог Метрика выставления счетов для количества сообщений, отправленных из Azure Digital Twins во внешние конечные точки.

Чтобы считаться одним сообщением о выставлении счетов, размер полезной нагрузки должна превышать 1 КБ. Полезные нагрузки, превышающие это значение, будут считаться дополнительными сообщениями с шагом в 1 КБ (таким образом, сообщение размером от 1 до 2 КБ будет считаться 2 сообщениями, от 2 до 3 КБ – 3 сообщениями и т. д.).
Это ограничение также применяется к ответам, например, вызов, который возвращает 1,5 КБ в тексте ответа, будет тарифицироваться как 2 операции.
Идентификатор измерения
BillingQueryUnits Единицы запросов для выставления счетов Счет Итог Количество единиц запросов, внутреннее измерение потребления ресурсов службы, использованных для выполнения запросов. Также доступно вспомогательное приложение API для измерения единиц запросов: QueryChargeHelper Class Идентификатор измерения

Дополнительные сведения о том, как выставляются счета за использование Azure Digital Twins, см. в статье Цены на службу Azure Digital Twins.

Метрики входящих данных

Метрики, относящиеся ко входным данным:

Метрика Отображаемое имя метрики Единица измерения Тип агрегирования Описание Измерения
События Ingress Входящие события Счёт Итог Количество входящих событий телеметрии устройства в Azure Digital Twins. Результат
Частота Сбоев Входящих Событий Частота сбоев входящих событий Процент Средний Процент входящих событий телеметрии устройства, для которых служба возвращает ответ с кодом внутренней ошибки (500). Результат
IngressEventsLatency Задержка входящих событий Миллисекунды Средний Время с момента, когда происходит событие, до момента, когда оно будет готово к передаче в Azure Digital Twins, и в этом случае служба отправляет результат успешного выполнения или сбоя. Результат

Метрики массовых операций (из API для заданий)

Метрики, связанные с массовыми операциями из API заданий:

Метрика Отображаемое имя метрики Единица измерения Тип агрегирования Описание Измерения
ЗадержкаРаботыИмпорта Задержка процесса импорта задания Миллисекунды Средний Общее время выполнения задания импорта. Операция
Аутентификация
Протокол
КоличествоСущностейИмпортнойЗадачи Импорт числа сущностей задания Количество Итог Количество двойников, моделей или связей, обрабатываемых заданием импорта. Операция
Результат
УдалениеЗадержкиЗадачи Удаление задержки задания Миллисекунды Средний Общее время завершения задания удаления. Операция
Аутентификация
Протокол
DeleteJobEntityCount Удаление счётчика сущностей задания счет Итог Количество моделей, двойников и /или связей, удаленных в рамках задания удаления. Операция
Результат

Метрики маршрутизации

Метрики, относящиеся к маршрутизации:

Показатель Отображаемое имя метрики Единица измерения Тип агрегирования Описание Измерения
СообщенияПеренаправлены Направленные сообщения Счет Итог Число сообщений, направляемых в службу конечной точки Azure, такую как Центры событий, Служебная шина или Сетка событий. Тип конечной точки,
Результат
Частота отказов маршрутизации Частота отказов маршрутизации Процент Средний Процент событий, которые приводят к ошибке при маршрутизации из Azure Digital Twins в конечную службу Azure, например Event Hubs, Service Bus или Event Grid. Тип конечной точки,
Результат
задержка маршрутизации Задержка маршрутизации Миллисекунды Средний Время, прошедшее с момента, когда событие было передано из Azure Digital Twins в конечную службу Azure, такую как Центр событий, Служебная шина или Сетка событий. Тип конечной точки,
Результат

Метрические размеры

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

Измерение Значения
Проверка подлинности OAuth
Операция (для запросов API) Microsoft.DigitalTwins/digitaltwins/delete,
Microsoft.DigitalTwins/digitaltwins/write,
Microsoft.DigitalTwins/digitaltwins/read
Microsoft.DigitalTwins/eventroutes/read,
Microsoft.DigitalTwins/eventroutes/write,
Microsoft.DigitalTwins/eventroutes/delete,
Microsoft.DigitalTwins/models/read,
Microsoft.DigitalTwins/models/write,
Microsoft.DigitalTwins/models/delete
Microsoft.DigitalTwins/query/action
Тип конечной точки Сетка событий,
Центры событий,
Cлужебная шина
Протокол HTTPS
Результат Успех
Сбой
Код состояния 200, 404, 500 и т. д.
Класс кода состояния 2xx, 4xx, 5xx и т. д.
текст состояния "Внутренняя ошибка сервера", "Не найдено" и т. д.

Журналы диагностики

Общую информацию о параметрах диагностики Azure, включая способы их включения, см. в разделе "Параметры диагностики в Azure Monitor". Сведения о запросе журналов диагностики с помощью Log Analytics см. в разделе "Обзор Log Analytics" в Azure Monitor.

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

Категории логов

Ниже приведены подробные сведения о категориях журналов, собираемых Azure Digital Twins.

Категория лога Описание
ADTModelsOperation Регистрируют все вызовы API, связанные с моделями
ADTQueryOperation Регистрируют все вызовы API, связанные с запросами
ADTEventRoutesOperation Регистрировать все вызовы API, связанные с маршрутами событий и событиями на выходе из Azure Digital Twins в конечный сервис, например в Event Grid, Event Hubs и Service Bus.
ADTDigitalTwinsOperation Регистрируют все вызовы API, связанные с отдельными цифровыми двойниками

Каждая категория журнала состоит из операций "write" (запись), "read" (чтение), "delete" (удаление) и "action" (действие). Эти категории сопоставляются с вызовами REST API следующим образом:

Тип события Операции REST API
Напишите PUT и PATCH
Читайте GET
Удалить УДАЛИТЬ
Действие пост

Ниже приведен полный список операций и соответствующих вызовов REST API Azure Digital Twins REST API calls, которые регистрируются в каждой категории.

Примечание.

Каждая категория журнала содержит несколько операций или вызовов REST API. В приведенной ниже таблице каждая категория журналов сопоставляется со всеми операциями/вызовами REST API, находящимися под ней, только после этого приводится следующая категория журнала.

Категория лога Операция Вызовы REST API и другие события
ADTModelsOperation Microsoft.DigitalTwins/models/write API обновления моделей цифровых двойников
Microsoft.DigitalTwins/models/read API получения моделей цифровых двойников по идентификаторам и спискам
Microsoft.DigitalTwins/models/delete Удаление моделей цифровых двойников API
Microsoft.DigitalTwins/models/action API добавления моделей цифровых двойников
ADTQueryOperation Microsoft.DigitalTwins/query/action API запроса цифровых двойников
ADTEventRoutesOperation Microsoft.DigitalTwins/eventroutes/write API добавления маршрутов событий
Microsoft.DigitalTwins/eventroutes/read API получения маршрутов событий по идентификаторам и спискам
Microsoft.DigitalTwins/eventroutes/delete API удаления маршрутов событий
Microsoft.DigitalTwins/eventroutes/action Сбой при попытке публикации событий в службе конечной точки (не вызов API)
ADTDigitalTwinsOperation Microsoft.DigitalTwins/digitaltwins/write Добавить цифровых двойников, добавить связь, обновить, обновить компонент
Microsoft.DigitalTwins/digitaltwins/read Получение цифровых двойников по идентификатору, получение компонента, получение связи по идентификатору, перечисление входящих связей, перечисление всех связей
Microsoft.DigitalTwins/digitaltwins/delete Удалить цифровые двойники, удалить связь
Microsoft.DigitalTwins/digitaltwins/action Отправка данных телеметрии компонентов цифровых двойников, отправка данных телеметрии

Схемы журналов

Для каждой категории логов существует схема, определяющая, как фиксируются события в этой категории. Каждая отдельная запись журнала хранится как текст, а также в формате большого двоичного объекта JSON. Ниже для каждого типа журнала представлены поля в журнале и примеры тела JSON.

ADTDigitalTwinsOperation, ADTModelsOperation и ADTQueryOperation используют согласованную схему журналов API. ADTEventRoutesOperation расширяет схему, добавляя поле endpointName в свойства.

Схемы журналов API

Эта схема журнала является согласованной для ADTDigitalTwinsOperation, ADTModelsOperation, ADTQueryOperation. Эта же схема также используется для ADTEventRoutesOperation, за исключением имени операции Microsoft.DigitalTwins/eventroutes/action (дополнительные сведения о данной схеме вы найдете в следующем разделе: Схемы Журналов Исходящего Трафика).

Схема содержит сведения, относящиеся к вызовам API для экземпляра Azure Digital Twins.

Ниже приведены описания полей и свойств для журналов API.

Имя поля Тип данных Описание
Time Дата/время Дата и время, когда произошло событие, в формате UTC
ResourceId Строка Идентификатор ресурса Azure Resource Manager для ресурса, в котором произошло событие
OperationName Строка Тип действия, выполняемого во время события
OperationVersion Строка Версия API, используемая во время события
Category Строка Тип испускаемого ресурса
ResultType Строка Результат события
ResultSignature Строка Код состояния HTTP для события
ResultDescription Строка Дополнительные сведения о событии
DurationMs Строка Время, затраченное на выполнение события, в миллисекундах
CallerIpAddress Строка Маскированный исходный IP-адрес для события
CorrelationId GUID Уникальный идентификатор события
ApplicationId GUID Идентификатор приложения, используемый в токене типа Bearer для авторизации
Level Int Степень серьезности события заносимого в журнал
Location Строка Регион, в котором произошло событие
RequestUri URI Конечная точка, использованная во время события
TraceId Строка TraceId как часть контекста трассировки W3C. Идентификатор всей трассировки, используемой для уникальной идентификации распределенной трассировки между системами.
SpanId Строка текста SpanId как часть контекста трассировки W3C. Идентификатор этого запроса в трассировке.
ParentId Строка ParentId как часть контекста трассировки W3C. Запрос без родительского идентификатора является корнем трассировки.
TraceFlags Строка TraceFlags как часть контекста трассировки W3C. управляет настройками флагов трассировки, такими как выборка, уровень трассировки и т. д.
TraceState Строка TraceState как часть контекста трассировки W3C. Дополнительная информация, специфическая для поставщика, об идентификации трассировки для охвата различных систем распределенной трассировки.

Ниже приведены примеры с телом JSON для таких типов журналов.

ADTDigitalTwinsOperation
{
  "time": "2020-03-14T21:11:14.9918922Z",
  "resourceId": "/SUBSCRIPTIONS/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/RESOURCEGROUPS/MYRESOURCEGROUP/PROVIDERS/MICROSOFT.DIGITALTWINS/DIGITALTWINSINSTANCES/MYINSTANCENAME",
  "operationName": "Microsoft.DigitalTwins/digitaltwins/write",
  "operationVersion": "2020-10-31",
  "category": "DigitalTwinOperation",
  "resultType": "Success",
  "resultSignature": "200",
  "resultDescription": "",
  "durationMs": 8,
  "callerIpAddress": "13.68.244.*",
  "correlationId": "aaaa0000-bb11-2222-33cc-444444dddddd",
  "identity": {
    "claims": {
      "appId": "00001111-aaaa-2222-bbbb-3333cccc4444"
    }
  },
  "level": "4",
  "location": "southcentralus",
  "uri": "https://myinstancename.api.scus.digitaltwins.azure.net/digitaltwins/factory-58d81613-2e54-4faa-a930-d980e6e2a884?api-version=2020-10-31",
  "properties": {},
  "traceContext": {
    "traceId": "95ff77cfb300b04f80d83e64d13831e7",
    "spanId": "b630da57026dd046",
    "parentId": "9f0de6dadae85945",
    "traceFlags": "01",
    "tracestate": "k1=v1,k2=v2"
  }
}
ADTModelsOperation
{
  "time": "2020-10-29T21:12:24.2337302Z",
  "resourceId": "/SUBSCRIPTIONS/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/RESOURCEGROUPS/MYRESOURCEGROUP/PROVIDERS/MICROSOFT.DIGITALTWINS/DIGITALTWINSINSTANCES/MYINSTANCENAME",
  "operationName": "Microsoft.DigitalTwins/models/write",
  "operationVersion": "2020-10-31",
  "category": "ModelsOperation",
  "resultType": "Success",
  "resultSignature": "201",
  "resultDescription": "",
  "durationMs": "80",
  "callerIpAddress": "13.68.244.*",
  "correlationId": "bbbb1111-cc22-3333-44dd-555555eeeeee",
  "identity": {
    "claims": {
      "appId": "00001111-aaaa-2222-bbbb-3333cccc4444"
    }
  },
  "level": "4",
  "location": "southcentralus",
  "uri": "https://myinstancename.api.scus.digitaltwins.azure.net/Models?api-version=2020-10-31",
  "properties": {},
  "traceContext": {
    "traceId": "95ff77cfb300b04f80d83e64d13831e7",
    "spanId": "b630da57026dd046",
    "parentId": "9f0de6dadae85945",
    "traceFlags": "01",
    "tracestate": "k1=v1,k2=v2"
  }
}
ADTQueryOperation
{
  "time": "2020-12-04T21:11:44.1690031Z",
  "resourceId": "/SUBSCRIPTIONS/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/RESOURCEGROUPS/MYRESOURCEGROUP/PROVIDERS/MICROSOFT.DIGITALTWINS/DIGITALTWINSINSTANCES/MYINSTANCENAME",
  "operationName": "Microsoft.DigitalTwins/query/action",
  "operationVersion": "2020-10-31",
  "category": "QueryOperation",
  "resultType": "Success",
  "resultSignature": "200",
  "resultDescription": "",
  "durationMs": "314",
  "callerIpAddress": "13.68.244.*",
  "correlationId": "cccc2222-dd33-4444-55ee-666666ffffff",
  "identity": {
    "claims": {
      "appId": "00001111-aaaa-2222-bbbb-3333cccc4444"
    }
  },
  "level": "4",
  "location": "southcentralus",
  "uri": "https://myinstancename.api.scus.digitaltwins.azure.net/query?api-version=2020-10-31",
  "properties": {},
  "traceContext": {
    "traceId": "95ff77cfb300b04f80d83e64d13831e7",
    "spanId": "b630da57026dd046",
    "parentId": "9f0de6dadae85945",
    "traceFlags": "01",
    "tracestate": "k1=v1,k2=v2"
  }
}
ОперацияМаршрутизацииСобытийADT

Вот пример текстового тела JSON для ADTEventRoutesOperation, который не является типа Microsoft.DigitalTwins/eventroutes/action (дополнительные сведения об этой схеме см. в следующем разделе: схемы журналов исходящего трафика).

  {
    "time": "2020-10-30T22:18:38.0708705Z",
    "resourceId": "/SUBSCRIPTIONS/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/RESOURCEGROUPS/MYRESOURCEGROUP/PROVIDERS/MICROSOFT.DIGITALTWINS/DIGITALTWINSINSTANCES/MYINSTANCENAME",
    "operationName": "Microsoft.DigitalTwins/eventroutes/write",
    "operationVersion": "2020-10-31",
    "category": "EventRoutesOperation",
    "resultType": "Success",
    "resultSignature": "204",
    "resultDescription": "",
    "durationMs": 42,
    "callerIpAddress": "212.100.32.*",
    "correlationId": "dddd3333-ee44-5555-66ff-777777aaaaaa",
    "identity": {
      "claims": {
        "appId": "00001111-aaaa-2222-bbbb-3333cccc4444"
      }
    },
    "level": "4",
    "location": "southcentralus",
    "uri": "https://myinstancename.api.scus.digitaltwins.azure.net/EventRoutes/egressRouteForEventHub?api-version=2020-10-31",
    "properties": {},
    "traceContext": {
      "traceId": "95ff77cfb300b04f80d83e64d13831e7",
      "spanId": "b630da57026dd046",
      "parentId": "9f0de6dadae85945",
      "traceFlags": "01",
      "tracestate": "k1=v1,k2=v2"
    }
  },

Схемы журналов исходящего трафика

В следующем примере представлена схема для журналов ADTEventRoutesOperation, характерных для имени операции Microsoft.DigitalTwins/eventroutes/action. Они содержат подробные сведения об исключениях и операциях API, связанных с исходящими конечными точками, подключенными к экземпляру Azure Digital Twins.

Имя поля Тип данных Описание
Time Дата/время Дата и время, когда произошло событие, в формате UTC
ResourceId Строка Идентификатор ресурса Azure Resource Manager для ресурса, в котором произошло событие
OperationName Строка Тип действия, выполняемого во время события
Category Строка Тип эмитируемого ресурса
ResultDescription Строка Дополнительные сведения о событии
CorrelationId Гид Уникальный идентификатор для события, предоставленный пользователем
ApplicationId GUID Идентификатор приложения, используемый в авторизации носителя
Level Int Степень серьезности зарегистрированного события
Location Строка Регион, в котором произошло событие
TraceId Строка TraceId, как часть W3C Trace Context. Идентификатор полной трассировки, используемый для уникальной идентификации распределенной трассировки в различных системах.
SpanId Строка SpanId как часть контекста трассировки W3C. Идентификатор этого запроса в трассировке.
ParentId Строка ParentId как составная часть контекста трассировки W3C. Запрос без родительского идентификатора является основой трассировки.
TraceFlags Строка TraceFlags как часть контекста трассировки W3C. управляет флагами трассировки, такими как выборка, уровень трассировки и т. д.
TraceState Строка TraceState как часть контекста трассировки W3C. Дополнительные сведения от поставщика об идентификации трассировки, для охвата различных распределенных систем трассировки.
EndpointName Строка Имя конечной точки исходящего трафика, созданной в Azure Digital Twins

Ниже приведен пример тела JSON для ADTEventRoutesOperation, принадлежащего к типу Microsoft.DigitalTwins/eventroutes/action.

{
  "time": "2020-11-05T22:18:38.0708705Z",
  "resourceId": "/SUBSCRIPTIONS/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/RESOURCEGROUPS/MYRESOURCEGROUP/PROVIDERS/MICROSOFT.DIGITALTWINS/DIGITALTWINSINSTANCES/MYINSTANCENAME",
  "operationName": "Microsoft.DigitalTwins/eventroutes/action",
  "operationVersion": "",
  "category": "EventRoutesOperation",
  "resultType": "",
  "resultSignature": "",
  "resultDescription": "Unable to send EventHub message to [myPath] for event Id [f6f45831-55d0-408b-8366-058e81ca6089].",
  "durationMs": -1,
  "callerIpAddress": "",
  "correlationId": "dddd3333-ee44-5555-66ff-777777aaaaaa",
  "identity": {
    "claims": {
      "appId": "00001111-aaaa-2222-bbbb-3333cccc4444"
    }
  },
  "level": "4",
  "location": "southcentralus",
  "uri": "",
  "properties": {
    "endpointName": "myEventHub"
  },
  "traceContext": {
    "traceId": "95ff77cfb300b04f80d83e64d13831e7",
    "spanId": "b630da57026dd046",
    "parentId": "9f0de6dadae85945",
    "traceFlags": "01",
    "tracestate": "k1=v1,k2=v2"
  }
},

Следующие шаги

Дополнительные сведения об Azure Monitor и ее возможностях см. в документации по Azure Monitor.