Adición de métricas personalizadas

Se aplica a:IoT Edge 1.5 checkmark IoT Edge 1.5

Importante

IoT Edge 1.5 LTS es la versión compatible. IoT Edge 1.4 LTS alcanzó el final del ciclo de vida el 12 de noviembre de 2024. Si usa una versión anterior, consulte Update IoT Edge.

Recopile 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 visibilidad básica excelente del 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 resultar ú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 el nombre de la aplicación de IoT Central, el identificador de dispositivo IoT Edge y el identificador de módulo como etiquetas (también denominadas tags/dimensions) en cada métrica. Esta información está disponible como variables de entorno para cada módulo iniciado por el agente de IoT Edge. El enfoque se demuestra por el ejemplo en el repositorio de muestras. 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 identificador 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 ayudar a conciliar los reinicios de un módulo al procesar sus métricas en el backend.

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 metrics-collector para recopilar y transportar métricas personalizadas.

La variable MetricsEndpointsCSV de entorno debe actualizarse para incluir 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 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 Linux, ambos módulos se inician en una red de puente de Docker definida por el usuario 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 recopilar desde el punto de conexión http://module1:9600/metrics.

Ejecute el comando siguiente en el dispositivo IoT Edge para probar si se pueden acceder a las métricas emitidas por un módulo personalizado en el puerto http 9600 en la ruta de acceso /metrics:

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 IoT Central. Por eso puede comprobar si las métricas personalizadas se ingieren correctamente desde la página de Logs del hub de IoT o de la aplicación de IoT Central asociada, en lugar del espacio 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 nuevo libro de trabajo o ampliar uno existente. Use los documentos de libros y las consultas de los libros de IoT Edge mantenidos como guía.

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

Pasos siguientes

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