Partager via


Configurer les paramètres de diagnostic de l’Agent MQTT

Important

Ce paramètre nécessite la modification de la ressource Broker. Il est configuré uniquement lors du déploiement initial à l’aide d’Azure CLI ou du portail Azure. S’il est nécessaire de modifier la configuration Broker, un nouveau déploiement est requis. Pour en savoir plus, consultez Personnaliser l’Agent par défaut.

En utilisant les paramètres de diagnostic, vous pouvez configurer les métriques, les journaux et le contrôle automatique pour l’agent MQTT.

Métriques

Les métriques fournissent des informations sur l’intégrité et l’état actuels et passés de l’Agent MQTT. Ces métriques sont émises au format OTLP (OpenTelemetry Protocol). Vous pouvez les convertir au format Prometheus en utilisant un collecteur OpenTelemetry et les acheminer vers des tableaux de bord Azure Managed Grafana en utilisant le service géré Azure Monitor pour Prometheus. Pour en savoir plus, consultez Configurer l’observabilité et le monitoring.

Pour obtenir la liste complète des métriques disponibles, consultez Métriques de l’Agent MQTT.

Journaux d’activité

Les journaux fournissent des informations sur les opérations effectuées par l’agent MQTT. Ces journaux sont disponibles dans le cluster Kubernetes en tant que journaux de conteneur. Vous pouvez les configurer pour qu’ils soient envoyés aux journaux Azure Monitor avec Container Insights.

Pour en savoir plus, consultez Configurer l’observabilité et le monitoring.

Auto-vérification

Le mécanisme d’auto-vérification de l’Agent MQTT est activé par défaut. Il utilise une sonde de diagnostic et des traces OpenTelemetry (OTel) pour monitorer l’Agent. La sonde envoie des messages de test pour vérifier le comportement et le minutage du système.

Le processus de validation vérifie si le système fonctionne correctement en comparant les résultats des tests avec les résultats attendus. Ces résultats sont les suivants :

  • Cheminement des messages dans le système.
  • Le comportement de minutage du système.

La sonde de diagnostic exécute périodiquement des opérations MQTT (PING, CONNECT, PUBLISH, SUBSCRIBE, UNSUBSCRIBE) sur l’agent MQTT, surveille les ACK correspondants et les traces pour vérifier la latence, la perte de messages et l’exactitude du protocole de réplication.

Important

La sonde de diagnostic d’auto-vérification publie des messages dans la rubrique azedge/dmqtt/selftest. Ne publiez pas de rubriques de sonde de diagnostic qui commencent par azedge/dmqtt/selftest et ne vous abonnez pas à ce type de rubriques. La publication ou l’abonnement à ces sujets peut affecter les vérifications de la sonde ou du test automatique, ce qui peut entraîner des résultats non valides. Les résultats non valides peuvent être listés dans les journaux, les métriques ou les tableaux de bord de la sonde de diagnostic. Par exemple, le problème « La vérification du chemin d’accès a échoué pour l’événement de la sonde avec le type d’opération « Publier » » peut apparaître dans les journaux diagnostics-probe. Pour plus d’informations, voir Problèmes connus.

Changer les paramètres de diagnostic

Dans la plupart des scénarios, les paramètres de diagnostic par défaut sont suffisants. Pour remplacer les paramètres de diagnostic par défaut pour l’agent MQTT, modifiez la section diagnostics dans la ressource Agent. Actuellement, la modification des paramètres est uniquement possible à l’aide de l’indicateur --broker-config-file lorsque vous déployez des opérations Azure IoT à l’aide de la commande az iot ops create.

Pour contourner cette règle, préparez d’abord un fichier de configuration Agent en suivant la référence d’API BrokerDiagnostics. Par exemple :

{
  "diagnostics": {
    "metrics": {
      "prometheusPort": 9600
    },
      "logs": {
        "level": "debug"
      },
    "traces": {
      "mode": "Enabled",
      "cacheSizeMegabytes": 16,
      "selfTracing": {
        "mode": "Enabled",
        "intervalSeconds": 30
      },
      "spanChannelCapacity": 1000
    },
    "selfCheck": {
      "mode": "Enabled",
      "intervalSeconds": 30,
      "timeoutSeconds": 15
    }
  }
}

Ensuite, déployez Opérations IoT à l’aide de la commande az iot ops create avec l’indicateur --broker-config-file, comme la commande suivante. (D’autres paramètres sont omis pour la concision.)

az iot ops create ... --broker-config-file <FILE>.json

Pour plus d’informations, consultez Prise en charge Azure CLI pour la configuration avancée de l’Agent MQTT et Exemples de Broker.