Implementación manual de recursos de observabilidad
Importante
Versión preliminar de operaciones de Azure IoT: habilitada por Azure Arc está actualmente en versión preliminar. No se debería usar este software en versión preliminar en entornos de producción.
Deberá implementar una nueva instalación de Azure IoT Operations cuando esté disponible una versión general. No podrá actualizar una instalación de versión preliminar.
Consulte Términos de uso complementarios para las versiones preliminares de Microsoft Azure para conocer los términos legales que se aplican a las características de Azure que se encuentran en la versión beta, en versión preliminar o que todavía no se han publicado para que estén disponibles con carácter general.
En este artículo se muestra cómo instalar y configurar manualmente los componentes de observabilidad de operaciones de Azure IoT. Este enfoque proporciona más opciones y control sobre su entorno. Para obtener un proceso de instalación simplificado que instale todos los componentes que necesita para empezar, vea Implementación de recursos de observabilidad con un script.
Configuración de su suscripción
Ejecute el código siguiente para registrar proveedores con la suscripción donde se encuentra el clúster.
Nota:
Este paso solo debe ejecutarse una vez por suscripción. Para registrar proveedores de recursos, necesita permiso para realizar la operación de /register/action
, que se incluye en los roles Colaborador y Propietario de la suscripción. Para más información, vea Tipos y proveedores de recursos de Azure.
az account set -s <subscription-id>
az provider register -n "Microsoft.Insights"
az provider register -n "Microsoft.AlertsManagement"
Instalación del servicio administrado para Prometheus de Azure Monitor
El servicio administrado Azure Monitor para Prometheus es un componente de Azure Monitor Metrics. Este servicio administrado proporciona flexibilidad a los tipos de datos métricos que puede recopilar y analizar con Azure Monitor. Las métricas de Prometheus comparten algunas características con métricas personalizadas y de plataforma. Las métricas de Prometheus también usan algunas características diferentes para admitir mejor herramientas de código abierto, como PromQL y Grafana.
El servicio administrado de Azure Monitor para Prometheus permite recopilar y analizar métricas a gran escala mediante una solución de supervisión compatible con Prometheus. Este servicio totalmente administrado se basa en el proyecto Prometheus de Cloud Native Computing Foundation (CNCF). El servicio permite usar el lenguaje de consulta Prometheus (PromQL) para analizar el rendimiento de la infraestructura y las cargas de trabajo supervisadas y alertar sobre ellas sin tener que operar la infraestructura subyacente.
Para configurar la recopilación de métricas de Prometheus para el nuevo clúster habilitado para Arc, siga los pasos descritos en Configuración de la recopilación de métricas de Prometheus.
Instalación de Container Insights
Container Insights supervisa el rendimiento de las cargas de trabajo de contenedor implementadas en la nube. Proporciona información sobre el rendimiento recopilando métricas del procesador y de la memoria procedentes de los controladores, los nodos y los contenedores disponibles en Kubernetes mediante Metrics API. Una vez habilitada la supervisión de clústeres de Kubernetes, se recopilan métricas y registros de contenedor automáticamente mediante una versión contenedorizada del agente de Log Analytics para Linux. Las métricas se envían a la base de datos de métricas en Azure Monitor. Los datos de registro se envían al área de trabajo de Log Analytics.
Para supervisar el rendimiento de la carga de trabajo de contenedor, complete los pasos para habilitar la información de los contenedores.
Instalación de Grafana
Azure Managed Grafana es una plataforma de visualización de datos creada con el software de Grafana por Grafana Labs. Azure Managed Grafana es un servicio de Azure totalmente administrado que Microsoft admite y opera. Grafana le ayuda a reunir métricas, registros y seguimientos en una única interfaz de usuario. Con su amplia compatibilidad con orígenes de datos y funcionalidades de grafos, puede ver y analizar los datos de telemetría de la infraestructura y la aplicación en tiempo real.
Operaciones de IoT de Azure ofrece una colección de paneles diseñados para proporcionarle muchas de las visualizaciones que necesita para comprender el estado y el rendimiento de la implementación de Operaciones de IoT de Azure.
Para instalar Azure Managed Grafana, siga estos pasos:
Use Azure Portal para crear una instancia de Azure Managed Grafana.
Configure un servicio administrado para Prometheus de Azure Monitor como origen de datos de Azure Managed Grafana.
Configure los paneles siguiendo los pasos descritos en Implementación de paneles en Grafana.
Instalación del recopilador de OpenTelemetry (OTel)
OpenTelemetry Collector es un componente clave en el proyecto OpenTelemetry, que es un marco de observabilidad de código abierto destinado a proporcionar seguimiento unificado, métricas y registro para sistemas distribuidos. El recopilador está diseñado para recibir, procesar y exportar datos de telemetría de varios orígenes, como aplicaciones e infraestructura, y enviarlos a un back-end de supervisión. Este recopilador de OTel recopila métricas de Azure IoT Operations y hace que esté disponible para su uso con otras herramientas de observabilidad, como el servicio administrado de Azure Monitor para Prometheus, Container Insights y Grafana.
Para instalar el recopilador de OTel, complete los pasos siguientes:
Clone o descargue el repositorio de operaciones de Azure IoT en la máquina local: azure-iot-operations.git.
Nota:
El repositorio contiene la definición de implementación de Operaciones de IoT de Azure y ejemplos que incluyen los paneles de ejemplo usados en este artículo.
Vaya a la siguiente ruta de acceso en la copia local del repositorio:
azure-iot-operations\tools\setup-3p-obs-infra
Cree un archivo denominado
otel-collector-values.yaml
y pegue el código siguiente en él para definir un recopilador de OpenTelemetry:mode: deployment fullnameOverride: aio-otel-collector image: repository: otel/opentelemetry-collector tag: 0.107.0 config: processors: memory_limiter: limit_percentage: 80 spike_limit_percentage: 10 check_interval: '60s' receivers: jaeger: null prometheus: null zipkin: null otlp: protocols: grpc: endpoint: ':4317' http: endpoint: ':4318' exporters: prometheus: endpoint: ':8889' resource_to_telemetry_conversion: enabled: true service: extensions: - health_check pipelines: metrics: receivers: - otlp exporters: - prometheus logs: null traces: null telemetry: null extensions: memory_ballast: size_mib: 0 resources: limits: cpu: '100m' memory: '512Mi' ports: metrics: enabled: true containerPort: 8889 servicePort: 8889 protocol: 'TCP' jaeger-compact: enabled: false jaeger-grpc: enabled: false jaeger-thrift: enabled: false zipkin: enabled: false
En el archivo
otel-collector-values.yaml
, anote los siguientes valores que se usan en el comandoaz iot ops init
al implementar operaciones de Azure IoT en el clúster:- fullnameOverride
- grpc.endpoint
- check_interval
Guarde y cierre el archivo.
Implemente el recopilador mediante la ejecución de los siguientes comandos:
kubectl get namespace azure-iot-operations || kubectl create namespace azure-iot-operations helm repo add open-telemetry https://open-telemetry.github.io/opentelemetry-helm-charts helm repo update helm upgrade --install aio-observability open-telemetry/opentelemetry-collector -f otel-collector-values.yaml --namespace azure-iot-operations