Adición de métricas personalizadas

Se aplica a:IoT Edge 1.4 checkmark IoT Edge 1.4

Importante

IoT Edge 1.4 es la versión admitida. Si está usando una versión anterior, consulte Actualización de IoT Edge.

Recopile las métricas personalizadas de los módulos de IoT Edge, además de las métricas integradas que proporcionan los módulos del sistema. Las métricas integradas proporcionan una excelente visibilidad de línea de base sobre el estado de la implementación. Sin embargo, es posible que necesite información adicional de los módulos personalizados para completar la imagen. Los módulos personalizados se pueden integrar en la solución de supervisión mediante la biblioteca cliente de Prometheus adecuada para emitir métricas. Esta información adicional puede habilitar nuevas vistas o alertas especializadas en sus requisitos.

Repositorio de módulos de ejemplo

Consulte el repositorio azure-samples para obtener ejemplos de módulos personalizados instrumentados para emitir métricas. Incluso si un ejemplo en el idioma elegido aún no está disponible, el enfoque general puede ayudarle.

Convenciones de nomenclatura

Consulte los procedimientos recomendados de la documentación de Prometheus para obtener instrucciones generales. Las siguientes recomendaciones adicionales pueden ser útiles para escenarios de IoT Edge.

  • Incluya el nombre del módulo al principio del nombre de la métrica para dejar claro qué módulo ha emitido la métrica.

  • Incluya el nombre del centro de IoT o de la aplicación de IoT Central, el Id. de dispositivo de IoT Edge y el Id. del módulo como etiquetas (también denominadas dimensiones de/etiquetas) en cada métrica. Esta información está disponible como variables de entorno para todos los módulos que haya iniciado el agente de IoT Edge. El enfoque se muestra en el ejemplo del repositorio de ejemplos. Sin este contexto, es imposible asociar un valor de métrica determinado a un dispositivo determinado.

  • Incluya un id. de instancia en las etiquetas. Un id. de instancia puede ser cualquier identificador único, como un GUID que se genera durante el inicio del módulo. La información del id. de instancia puede ayudarle a conciliar los reinicios del módulo, ya que procesa las métricas de un módulo en el back-end.

Configuración del recopilador de métricas para obtener métricas personalizadas

Una vez que un módulo personalizado emite métricas, el siguiente paso es configurar el módulo del recopilador de métricas para recopilar y transportar métricas personalizadas.

La variable de entorno MetricsEndpointsCSV debe actualizarse para que incluya la dirección URL del punto de conexión de métricas del módulo personalizado. Al actualizar la variable de entorno, asegúrese de incluir los puntos de conexión del módulo del sistema, tal como se muestra en el ejemplo de configuración del recopilador de métricas.

Nota:

De forma predeterminada, no es necesario asignar el punto de conexión de métricas de un módulo personalizado a un puerto host para permitir que el recopilador de métricas acceda a él. A menos que se invalide explícitamente, en el caso de Linux, ambos módulos se inician en una red de tipo puente de Docker definida por el usuario y denominada azure-iot-edge.

Las redes de Docker definidas por el usuario incluyen una resolución DNS predeterminada que permite la comunicación entre módulos mediante nombres de módulo (contenedor). Por ejemplo, si un módulo personalizado denominado module1 emite métricas en el puerto HTTP 9600 en la ruta de acceso /metrics, el recopilador debe configurarse para la recopilación desde el punto de conexión http://module1:9600/metrics.

Ejecute el siguiente comando en el dispositivo IoT Edge para probar si las métricas que ha emitido un módulo personalizado en el puerto HTTP 9600 en la ruta de acceso /metrics son accesibles:

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

Adición de visualizaciones personalizadas

Una vez que reciba métricas personalizadas en Log Analytics, puede crear visualizaciones y alertas personalizadas. Los libros de supervisión se pueden aumentar para agregar visualizaciones con respaldo de consulta.

Cada métrica está asociada al Id. de recurso del centro de IoT o la aplicación de IoT Central. Por este motivo, puede comprobar si las métricas personalizadas se ingieren correctamente desde la página Registros de la aplicación de IoT Central o el centro de IoT asociados, en lugar del área de trabajo de Log Analytics de respaldo. Use esta consulta básica de KQL para comprobar lo siguiente:

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

Una vez que haya confirmado la ingesta, puede crear un libro nuevo o aumentar uno existente. Use los documentos de libros y las consultas de los libros de IoT Edge mantenidos como guía.

Cuando esté satisfecho con el resultado, puede compartir el libro con su equipo o implementarlo mediante programación como parte de las implementaciones de recursos de su organización.

Pasos siguientes

Explore opciones de visualización de métricas adicionales con libros mantenidos.