Добавление пользовательских метрик

Область применения:IoT Edge 1.4 checkmark IoT Edge 1.4

Важно!

IoT Edge 1.4 является поддерживаемым выпуском. Если вы используете более ранний выпуск, см. статью Обновление IoT Edge.

Собирайте пользовательские метрики из модулей IoT Edge, а также встроенные метрики, предоставляемые системными модулями. Встроенные метрики обеспечивают высокую доступность базовых показателей работоспособности развертывания. Однако для полноты картины могут потребоваться дополнительные сведения из пользовательских модулей. Пользовательские модули можно интегрировать в решение для мониторинга с помощью соответствующей клиентской библиотеки Prometheus для создания метрик. Эти дополнительные сведения могут включать в себя новые представления или оповещения, специализированные для ваших требований.

Репозиторий примеров модулей

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

Соглашения об именах

Ознакомьтесь с рекомендациями из документации по Prometheus, чтобы узнать больше. Для сценариев IoT Edge могут быть полезны следующие дополнительные рекомендации.

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

  • Добавьте имя центра Интернета вещей bkb IoT Central, идентификатор устройства IoT Edge и идентификатор модуля в качестве меток (также называемых измерениями/тегов) в каждую метрику. Эти сведения доступны в виде переменных среды для каждого модуля, запускаемого агентом IoT Edge. Этот подход показан в примере из репозитория примеров. Без этого контекста невозможно связать заданное значение метрики с конкретным устройством.

  • Добавьте идентификатор экземпляра в метки. Идентификатор экземпляра может быть любым уникальным идентификатором, таким как GUID, формируемым во время запуска модуля. Сведения об идентификаторе экземпляра могут помочь согласовать перезапуски модуля при обработке метрик модуля на стороне сервера.

Настройка сборщика метрик для сбора пользовательских метрик

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

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

Примечание.

По умолчанию конечную точку метрик пользовательского модуля не требуется сопоставлять с портом узла, чтобы предоставить сборщику метрики доступ к нему. Если этот параметр не переопределен явно, в Linux оба модуля запускаются в определяемой пользователем мостовой сети Docker с именем azure-iot-edge.

Определяемые пользователем сети Docker включают в себя сопоставитель DNS по умолчанию, который позволяет обмениваться данными между модулями с помощью имен модулей (контейнеров). Например, если пользовательский модуль с именем Module1 выдает метрики на HTTP-порту 9600 по пути /metrics, сборщик должен быть настроен для сбора данных из конечной точки http://module1:9600/metrics.

Выполните следующую команду на устройстве IoT Edge, чтобы проверить, доступны ли метрики, порожденные пользовательским модулем на HTTP-порту 9600 по пути /metrics.

sudo docker exec replace-with-metrics-collector-module-name curl http://replace-with-custom-module-name:9600/metrics

Добавление пользовательских визуализаций

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

Каждая метрика связана с идентификатором ресурса центра Интернета вещей или IoT Central. Поэтому вы можете проверить, правильно ли поступают пользовательские метрики со страницы журналов соответствующего приложения центра Интернета вещей или IoT Central вместо резервной рабочей области Log Analytics. Используйте этот базовый запрос KQL для проверки:

InsightsMetrics
| where Name == 'replace-with-custom-metric-name'

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

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

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

Ознакомьтесь с дополнительными параметрами визуализации метрик в проверенных книгах.