Share via


Introducción: configuración de la observabilidad en la versión preliminar de operaciones de Azure IoT

Importante

Operaciones de IoT de Azure, habilitado 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.

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.

La observabilidad proporciona visibilidad de cada una de las capas de la configuración de Operaciones de IoT de Azure. Proporciona información sobre el comportamiento real de los problemas, lo que aumenta la eficacia de la ingeniería de fiabilidad del sitio. Operaciones de IoT de Azure ofrece observabilidad mediante paneles de Grafana mantenidos personalizados que se hospedan en Azure. Estos paneles se basan en la tecnología del servicio administrado para Prometheus de Azure Monitor y en la de Container Insights. En este artículo se muestra cómo configurar los servicios que necesita para la observabilidad.

Requisitos previos

Configuración de su suscripción

Ejecute el código siguiente para registrar los proveedores con la suscripción donde se encuentra el clúster:

az account set -s <subscription-id>
az provider register -n "Microsoft.Insights"
az provider register -n "Microsoft.AlertsManagement"

Instalación de componentes de observabilidad

Los pasos de esta sección instalan recursos de supervisión compartidos y configuran el clúster habilitado para Arc de forma que emita señales de observabilidad para estos recursos. Entre los recursos de supervisión compartidos se incluyen Azure Managed Grafana, Área de trabajo de Azure Monitor, Azure Managed Prometheus, Azure Log Analytics y Container Insights.

  1. En la consola, vaya a una carpeta local donde quiera clonar el repositorio de Operaciones de IoT de Azure:

    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.

  2. Clone el repositorio en la máquina local mediante el siguiente comando:

    git clone https://github.com/Azure/azure-iot-operations.git
    
  3. Vaya a la ruta de acceso siguiente en su copia local del repositorio:

    azure-iot-operations\tools\setup-3p-obs-infra

  4. Para implementar los componentes de observabilidad, ejecute el siguiente comando. Use el identificador de suscripción y el grupo de recursos del clúster habilitado para Arc que quiere supervisar.

    Nota:

    Para detectar otros parámetros opcionales que puede establecer, consulte el archivo bicep. Los parámetros opcionales pueden especificar, por ejemplo, ubicaciones alternativas para los recursos del clúster.

    az deployment group create \
          --subscription <subscription-id> \
          --resource-group <cluster-resource-group> \
          --template-file observability-full.bicep \
          --parameters grafanaAdminId=$(az ad user show --id $(az account show --query user.name --output tsv) --query=id --output tsv) \
                        clusterName=<cluster-name> \
                        sharedResourceGroup=<shared-resource-group> \
                        sharedResourceLocation=<shared-resource-location> \
          --query=properties.outputs
    

    El comando anterior concede acceso de administrador a la instancia de Grafana recién creada para el usuario que la ejecuta. Si el acceso no es lo que quiere, ejecute el siguiente comando en su lugar. Debe configurar los permisos manualmente antes de que cualquier usuario pueda acceder a la instancia de Grafana.

    az deployment group create \
        --subscription <subscription-id> \
        --resource-group <cluster-resource-group> \
        --template-file observability-full.bicep \
        --parameters clusterName=<cluster-name> \
                      sharedResourceGroup=<shared-resource-group> \
                      sharedResourceLocation=<shared-resource-location> \
        --query=properties.outputs
    

    Para configurar los permisos de forma manual, agregue una asignación de roles a la instancia de Grafana para los usuarios que deben tener acceso. Asigne uno de los roles de Grafana (Administrador de Grafana, Editor de Grafana, Lector de Grafana) en función del nivel de acceso deseado.

Si la implementación se realiza correctamente, se imprimen algunos fragmentos de información al final de la salida del comando. La información incluye la dirección URL de Grafana y los identificadores de los recursos de Log Analytics y Azure Monitor que se han creado. La dirección URL de Grafana le permite navegar a la instancia de Grafana que configure en Implementación de paneles en Grafana. Ambos identificadores de recursos permiten configurar otros clústeres habilitados para Arc si sigue los pasos que se describen en Incorporación de un clúster habilitado para Arc a la infraestructura de observabilidad existente.

Configuración de la colección de métricas de Prometheus

  1. Copie y pegue la siguiente configuración en un nuevo archivo denominado ama-metrics-prometheus-config.yaml y guarde el archivo:

    apiVersion: v1
    data:
      prometheus-config: |2-
            scrape_configs:
            - job_name: e4k
              scrape_interval: 1m
              static_configs:
              - targets:
                - aio-mq-diagnostics-service.azure-iot-operations.svc.cluster.local:9600
            - job_name: nats
              scrape_interval: 1m
              static_configs:
              - targets:
                - aio-dp-msg-store-0.aio-dp-msg-store-headless.azure-iot-operations.svc.cluster.local:7777
            - job_name: otel
              scrape_interval: 1m
              static_configs:
              - targets:
                - aio-otel-collector.azure-iot-operations.svc.cluster.local:8889
            - job_name: aio-annotated-pod-metrics
              kubernetes_sd_configs:
              - role: pod
              relabel_configs:
              - action: drop
                regex: true
                source_labels:
                - __meta_kubernetes_pod_container_init
              - action: keep
                regex: true
                source_labels:
                - __meta_kubernetes_pod_annotation_prometheus_io_scrape
              - action: replace
                regex: ([^:]+)(?::\\d+)?;(\\d+)
                replacement: $1:$2
                source_labels:
                - __address__
                - __meta_kubernetes_pod_annotation_prometheus_io_port
                target_label: __address__
              - action: replace
                source_labels:
                - __meta_kubernetes_namespace
                target_label: kubernetes_namespace
              - action: keep
                regex: 'azure-iot-operations'
                source_labels:
                - kubernetes_namespace
              scrape_interval: 1m
    kind: ConfigMap
    metadata:
      name: ama-metrics-prometheus-config
      namespace: kube-system
    
  2. Para aplicar el archivo de configuración que ha creado, ejecute el comando siguiente:

    kubectl apply -f ama-metrics-prometheus-config.yaml

Implementación de paneles en Grafana

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.

Siga estos pasos para instalar los paneles de Grafana mantenidos por Operaciones de IoT de Azure.

  1. Inicie sesión en la consola de Grafana y, a continuación, en la parte superior derecha de la aplicación Grafana, seleccione el icono +.

  2. Seleccione Importar panel, siga las indicaciones para ir a la ruta de acceso samples\grafana-dashboards de la copia clonada local del repositorio y seleccione un archivo de panel JSON

  3. Cuando se lo solicite la aplicación, seleccione el origen de datos de Prometheus administrado.

  4. Seleccione Importar