Informations de référence sur l’analyse des données Azure Service Bus

Consultez Supervision d’Azure Service Bus pour plus d’informations sur la collecte et l’analyse des données de surveillance d’Azure Service Bus.

Notes

Azure Monitor n’ajoute pas les dimensions dans les données de métrique exportées qui sont envoyées aux destinations de type Stockage Azure, Azure Event Hubs, Log Analytics, etc.

Mesures

Cette section répertorie toutes les métriques de plateforme collectées automatiquement pour Azure Service Bus. Le fournisseur de ressources pour ces métriques est Microsoft.ServiceBus/namespaces.

Métriques de demande

Compte le nombre de requêtes d’opérations de données et de gestion.

Nom de métrique Exportable par le biais des paramètres de diagnostic Unité Type d’agrégation Description Dimensions
Demandes entrantes Oui Count Total Le nombre de requêtes effectuées auprès de Service Bus sur une période spécifiée. EntityName
Requêtes ayant réussi Non Count Total Le nombre de requêtes réussies effectuées auprès de Service Bus sur une période spécifiée. Nom de l’entité
OperationResult
Erreurs de serveur Non Count Total Nombre de requêtes non traitées en raison d'une erreur dans Service Bus sur une période spécifiée. Nom de l’entité
OperationResult
User Errors Non Count Total Nombre de requêtes non traitées en raison d'erreurs utilisateur sur une période spécifiée. Nom de l’entité
Requêtes limitées Non Count Total

Le nombre de demandes qui ont été limitées car l’utilisation a été dépassée.

La dimension MessagingErrorSubCode peut avoir les valeurs suivantes :

  • UC : Limitation de l’UC
  • Stockage : Indique une limitation en raison d’opérations de point de contrôle en attente
  • Espace de noms : Limitation des opérations d’espace de noms
  • Inconnu : Autres limitations de ressources
Nom de l’entité
MessagingErrorSubCode
Nombre d’opérations de point de contrôle en attente Non count Moyenne Nombre d’opérations de point de contrôle en attente sur l’espace de noms. Le service commence à limiter les opérations lorsque le nombre de points de contrôle en attente dépasse la limite de (500 000 + (500 000 * unités de messagerie)) opérations. Cette mesure s’applique uniquement aux espaces de noms utilisant le niveau Premium. MessagingErrorSubCode
Latence d’envoi du serveur Non millisecondes Moyenne Temps pris par le service Service Bus pour accomplir la demande. Nom de l’entité

Les deux types d’erreurs suivants sont classées dans la catégorie des erreurs d’utilisateur :

  1. Erreurs côté client (erreurs 400 dans HTTP).
  2. Erreurs qui se produisent pendant le traitement des messages, par exemple MessageLockLostException.

Métriques de message

Nom de métrique Exportable par le biais des paramètres de diagnostic Unité Type d’agrégation Description Dimensions
Messages entrants Oui Count Total Le nombre d’événements ou de messages envoyés à Service Bus sur une période spécifiée. Pour les niveaux De base et Standard, les messages entrants transférés automatiquement sont inclus dans cette métrique. Pour le niveau Premium, ils ne sont pas inclus. Nom de l’entité
Messages sortants Oui Count Total Le nombre d’événements ou de messages reçus à partir de Service Bus sur une période spécifiée. Les messages sortants transférés automatiquement ne sont pas inclus dans cette métrique. Nom de l’entité
Messages Non Count Average Nombre de messages dans une file d’attente/rubrique. Cette métrique inclut les messages dans tous les états différents tels qu’actif, mis en file d’attente de lettres mortes, planifié, etc. Nom de l’entité
Messages actifs Non Count Average Nombre de messages actifs dans une file d’attente/rubrique. Les messages actifs sont les messages de la file d’attente ou de l’abonnement qui présentent l’état actif et sont prêts à être remis. Les messages peuvent être reçus. Nom de l’entité
Messages de lettres mortes Non Count Average Nombre de messages de lettres mortes dans une file d’attente/rubrique. Nom de l’entité
Messages planifiés Non Count Average Nombre de messages planifiés dans une file d’attente/rubrique. Nom de l’entité
Messages terminés Oui Count Total Nombre de messages terminés au cours d’une période spécifiée. Nom de l’entité
Messages abandonnés Oui Count Total Nombre de messages abandonnés au cours d’une période spécifiée. Nom de l’entité
Taille Non Octets Average Taille d’une entité (file d’attente ou rubrique) en octets. Nom de l’entité

Important

Valeurs des messages ; les messages actifs, de lettres mortes, planifiés, terminés et abandonnés possèdent des valeurs ponctuelles. Les messages entrants consommés immédiatement après ce moment peuvent ne pas apparaître dans ces métriques.

Notes

Lorsqu’un client tente d’obtenir les informations sur une file d’attente ou une rubrique, le service Service Bus retourne des informations statiques telles que le nom, l’heure de la dernière mise à jour, l’heure de création, le besoin d’une session ou non, etc., et certaines informations dynamiques telles que le nombre de messages. Si la requête est limitée, le service retourne les informations statiques et des informations dynamiques vides. C’est pourquoi le nombre de messages est 0 lorsque l’espace de noms est limité. Ce comportement est normal.

Métriques de connexion

Nom de métrique Exportable par le biais des paramètres de diagnostic Unité Type d’agrégation Description Dimensions
Connexions actives Non Count Total Nombre de connexions actives sur un espace de noms, ainsi que sur une entité de l'espace de noms. La valeur de cette métrique est un instant dans le passé. Les connexions actives immédiatement après ce moment peuvent ne pas apparaître dans la métrique.
Connexions ouvertes Non Count Average Nombre de connexions ouvertes. La valeur de cette métrique est une agrégation : elle inclut toutes les connexions qui ont été ouvertes dans la fenêtre de temps de l’agrégation. Nom de l’entité
Connexions fermées Non Count Average Nombre de connexions fermées. La valeur de cette métrique est une agrégation : elle inclut toutes les connexions qui ont été ouvertes dans la fenêtre de temps de l’agrégation. Nom de l’entité

Métriques d’utilisation des ressources

Notes

Les métriques suivantes sont disponibles uniquement avec le niveau Premium.

Les principales métriques à surveiller en cas d'interruption pour un espace de noms du niveau Premium sont les suivantes : Utilisation du processeur par espace de noms et Taille de la mémoire par espace de noms. Configurer des alertes pour ces métriques à l'aide d'Azure Monitor.

Vous pouvez également surveiller la métrique suivante : Requêtes limitées. Mais cela ne doit pas poser de problème tant que l'espace de noms reste dans les limites de sa mémoire, de son processeur et des connexions réparties. Pour plus d'informations, consultez Limitation au niveau Premium d'Azure Service Bus.

Nom de métrique Exportable par le biais des paramètres de diagnostic Unité Type d’agrégation Description Dimensions
Utilisation du processeur par espace de noms Non UC Pourcentage Le pourcentage d’utilisation du processeur de l’espace de noms. Réplica
Utilisation de la taille mémoire par espace de noms Non Utilisation de la mémoire Pourcentage Le pourcentage d’utilisation de mémoire de l’espace de noms. Réplica

Métriques d’erreur

Nom de métrique Exportable par le biais des paramètres de diagnostic Unité Type d’agrégation Description Dimensions
Erreurs de serveur Non Count Total Nombre de requêtes non traitées en raison d'une erreur dans Service Bus sur une période spécifiée. Nom de l’entité

Résultat de l’opération
Erreurs d’utilisateur Non Count Total Nombre de requêtes non traitées en raison d'erreurs utilisateur sur une période spécifiée. Nom de l’entité

Résultat de l’opération

Dimensions de métrique

Azure Service Bus prend en charge les dimensions suivantes pour les mesures dans Azure Monitor. L’ajout de dimensions à vos métriques est facultatif. Si vous n'ajoutez pas de dimensions, les métriques sont spécifiées au niveau de l'espace de noms.

Nom de la dimension Description
Nom de l’entité Service Bus prend en charge les entités de messagerie sous l’espace de noms. Avec la métrique « Demandes entrantes », la dimension Nom de l’entité a la valeur « -NamespaceOnlyMetric- » en plus de toutes vos files d’attente et rubriques. Il s’agit de la requête qui a été effectuée au niveau de l’espace de noms. Les exemples incluent une requête de liste de toutes les files d’attente/rubriques sous l’espace de noms ou les requêtes adressées aux entités qui ont échoué à l’authentification ou à l’autorisation.

Journaux d’activité de ressources

Cette section répertorie les types de journaux de ressources que vous pouvez collecter pour Azure Service Bus.

  • Journaux des opérations
  • Journaux de filtrage IP et de réseau virtuel
  • Journaux d’audit d’exécution

Azure Service Bus offre désormais la capacité à distribuer des journaux vers l’une des deux tables de destination suivantes : Diagnostics Azure ou tables propres aux ressources dans Log Analytics. Vous pouvez utiliser le bouton bascule disponible dans le portail Azure pour choisir les tables de destination.

Capture d’écran de la boîte de dialogue de définition de la table de destination.

Journaux des opérations

Les entrées du journal des opérations incluent les éléments répertoriés dans le tableau suivant :

Nom Description Pris en charge dans Diagnostics Azure Pris en charge dans AZMSOperationalLogs (table propre à la ressource)
ActivityId ID interne, utilisé pour identifier l’activité spécifiée Oui Oui
EventName Nom d’opération Oui Oui
ResourceId ID de ressource Azure Resource Manager Oui Oui
SubscriptionId ID d’abonnement Oui Oui
EventtimeString Durée de l’opération Oui No
TimeGenerated [UTC] Heure d’exécution de l’opération (en UTC) Non Oui
EventProperties Propriétés de l’opération Oui Oui
Status État de l’opération Oui Oui
Caller Appelant de l’opération (le Portail Azure ou le client de gestion) Oui Oui
Provider Nom du service qui émet les journaux, par exemple ServiceBus Non Oui
Type Type de journaux émis Non Oui
Category Catégorie du journal Oui No

Voici un exemple de chaîne JSON du journal des opérations :

AzureDiagnostics :


{
  "ActivityId": "0000000000-0000-0000-0000-00000000000000",
  "EventName": "Create Queue",
  "resourceId": "/SUBSCRIPTIONS/<AZURE SUBSCRPTION ID>/RESOURCEGROUPS/<RESOURCE GROUP NAME>/PROVIDERS/MICROSOFT.SERVICEBUS/NAMESPACES/<SERVICE BUS NAMESPACE NAME>",
  "SubscriptionId": "0000000000-0000-0000-0000-00000000000000",
  "EventTimeString": "9/28/2016 8:40:06 PM +00:00",
  "EventProperties": "{\"SubscriptionId\":\"0000000000-0000-0000-0000-00000000000000\",\"Namespace\":\"mynamespace\",\"Via\":\"https://mynamespace.servicebus.windows.net/f8096791adb448579ee83d30e006a13e/?api-version=2016-07\",\"TrackingId\":\"5ee74c9e-72b5-4e98-97c4-08a62e56e221_G1\"}",
  "Status": "Succeeded",
  "Caller": "ServiceBus Client",
  "category": "OperationalLogs"
}


Entrée de table propre à la ressource :


{

  "ActivityId": "0000000000-0000-0000-0000-00000000000000",
  "EventName": "Retrieve Queue",
  "resourceId": "/SUBSCRIPTIONS/<AZURE SUBSCRPTION ID>/RESOURCEGROUPS/<RESOURCE GROUP NAME>/PROVIDERS/MICROSOFT.SERVICEBUS/NAMESPACES/<SERVICE BUS NAMESPACE NAME>",
  "SubscriptionId": "0000000000-0000-0000-0000-00000000000000",
  "TimeGenerated(UTC)": "9/28/2023 8:40:06 PM +00:00",
  "EventProperties": "{\"SubscriptionId\":\"0000000000-0000-0000-0000-00000000000000\",\"Namespace\":\"mynamespace\",\"Via\":\"https://mynamespace.servicebus.windows.net/f8096791adb448579ee83d30e006a13e/?api-version=2016-07\",\"TrackingId\":\"5ee74c9e-72b5-4e98-97c4-08a62e56e221_G1\"}",
  "Status": "Succeeded",
  "Caller": "ServiceBus Client",
  "type": "AZMSOperationalLogs",
  "Provider" : "SERVICEBUS"

}

Événements et opérations capturés dans les journaux des opérations

Les journaux des opérations capturent toutes les opérations de gestion qui sont effectuées sur l’espace de noms Azure Service Bus. Les opérations de données ne sont pas capturées en raison du volume élevé d’opérations de données effectuées sur Azure Service Bus.

Notes

Pour vous aider à améliorer le suivi des opérations de données, nous vous recommandons d’utiliser un suivi côté client.

Les opérations de gestion suivantes sont capturées dans les journaux des opérations :

Étendue Opération
Espace de noms - Créer un espace de noms
- Mettre à jour un espace de noms
- Supprimer un espace de noms
- Mettre à jour un espace de noms
- Récupérer un espace de noms
- Stratégie SharedAccess
File d’attente - Créer une file d’attente
- Mettre à jour une file d’attente
- Supprimer une file d’attente
- Supprimer automatiquement une file d’attente
- Récupérer une file d’attente
Rubrique - Créer une rubrique
- Mettre à jour une rubrique
- Supprimer une rubrique
- Supprimer automatiquement une rubrique
- Récupérer une rubrique
Abonnement - Créer un abonnement
- Mettre à jour un abonnement
- Supprimer un abonnement
- Supprimer automatiquement un abonnement
Récupérer un abonnement

Remarque

Actuellement, les opérations de lecture ne font pas l’objet d’un suivi dans les journaux des opérations.

Journaux de filtrage IP et de réseau virtuel

Le code JSON de l’événement de connexion de réseau virtuel Service Bus comprend les éléments listés dans le tableau suivant :

Nom Description Pris en charge dans Diagnostics Azure Pris en charge dans AZMSVnetConnectionEvents (table propre à la ressource)
SubscriptionId ID d’abonnement Azure Oui Oui
NamespaceName Nom de l’espace de noms Oui Oui
IPAddress Adresse IP d’un client se connectant au service Service Bus Oui Oui
AddressIP Adresse IP du client qui se connecte à Service Bus Oui Oui
TimeGenerated [UTC] Heure d’exécution de l’opération (en UTC) Oui Oui
Action Action effectuée par le service Service Bus lors de l’évaluation des demandes de connexion. Les actions prises en charge sont Accepter la connexion et Refuser la connexion. Oui Oui
Reason Fournit une raison pour laquelle l’action a été effectuée Oui Oui
Count Nombre d’occurrences de l’action donnée Oui Oui
ResourceId ID de ressource Azure Resource Manager. Oui Oui
Category Catégorie du journal Oui No
Provider Nom du service qui émet les journaux, par exemple ServiceBus Non Oui
Type Type de journaux émis Non Oui

Remarque

Les journaux de réseau virtuel ne sont générés que si l’espace de noms autorise l’accès provenant des réseaux sélectionnés ou d’adresses IP spécifiques (règles de filtre d’adresse IP).

Voici un exemple de chaîne JSON de journal de réseau virtuel :

Diagnostics Azure :

{
    "SubscriptionId": "0000000-0000-0000-0000-000000000000",
    "NamespaceName": "namespace-name",
    "IPAddress": "1.2.3.4",
    "Action": "Accept Connection",
    "Reason": "IP is accepted by IPAddress filter.",
    "Count": 1,
    "ResourceId": "/SUBSCRIPTIONS/<AZURE SUBSCRIPTION ID>/RESOURCEGROUPS/<RESOURCE GROUP NAME>/PROVIDERS/MICROSOFT.SERVICEBUS/NAMESPACES/<SERVICE BUS NAMESPACE NAME>",
    "Category": "ServiceBusVNetConnectionEvent"
}

Entrée de table propre à la ressource :

{
    "SubscriptionId": "0000000-0000-0000-0000-000000000000",
    "NamespaceName": "namespace-name",
    "AddressIp": "1.2.3.4",
    "Action": "Accept Connection",
    "Message": "IP is accepted by IPAddress filter.",
    "Count": 1,
    "ResourceId": "/SUBSCRIPTIONS/<AZURE SUBSCRIPTION ID>/RESOURCEGROUPS/<RESOURCE GROUP NAME>/PROVIDERS/MICROSOFT.SERVICEBUS/NAMESPACES/<SERVICE BUS NAMESPACE NAME>",
    "Provider" : "SERVICEBUS",
    "Type": "AZMSVNetConnectionEvents"
}

Journaux d’audit du runtime

Les journaux d’audit du runtime capturent des informations de diagnostic agrégées pour diverses opérations d’accès au plan de données (telles que l’envoi ou la réception de messages) dans Service Bus.

Notes

Les journaux d’audit du runtime sont actuellement disponibles uniquement dans le niveau Premium.

Les journaux d’audit du runtime incluent les éléments listés dans le tableau suivant :

Name Description Pris en charge dans Diagnostics Azure Pris en charge dans AZMSRuntimeAuditLogs (table propre à la ressource)
ActivityId UUID généré de manière aléatoire qui garantit l’unicité de l’activité d’audit. Oui Oui
ActivityName Nom de l’opération de runtime. Oui Oui
ResourceId Ressource associée à l’activité. Oui Oui
Timestamp Durée de l’agrégation. Oui No
time Generated (UTC) Temps agrégé Non Oui
Status État de l’activité (réussite ou échec). Oui Oui
Protocol Type du protocole associé à l’opération. Oui Oui
AuthType Type d’authentification (Microsoft Entra ID ou Stratégie SAP). Oui Oui
AuthKey ID de l’application Microsoft Entra ou nom de la stratégie SAP utilisé pour l’authentification auprès d’une ressource. Oui Oui
NetworkType Type d’accès réseau : Public ou Private. oui Oui
ClientIP Adresse IP de l’application cliente. Oui Oui
Count Nombre total d’opérations effectuées pendant la période agrégée d’une minute. Oui Oui
Properties Métadonnées spécifiques à l’opération de plan de données. oui Oui
Category Catégorie de journal Oui No
Provider Nom du service qui émet les journaux, par exemple ServiceBus Non Oui
Type Type de journaux émis Non Oui

Voici un exemple d’entrée de journal d’audit du runtime :

AzureDiagnostics :

{
    "ActivityId": "<activity id>",
    "ActivityName": "ConnectionOpen | Authorization | SendMessage | ReceiveMessage | PeekLockMessage",
    "ResourceId": "/SUBSCRIPTIONS/xxx/RESOURCEGROUPS/<Resource Group Name>/PROVIDERS/MICROSOFT.SERVICEBUS/NAMESPACES/<Service Bus namespace>/servicebus/<service bus name>",
    "Time": "1/1/2021 8:40:06 PM +00:00",
    "Status": "Success | Failure",
    "Protocol": "AMQP | HTTP | SBMP", 
    "AuthType": "SAS | AAD", 
    "AuthKey": "<AAD Application Name| SAS policy name>",
    "NetworkType": "Public | Private", 
    "ClientIp": "x.x.x.x",
    "Count": 1, 
    "Category": "RuntimeAuditLogs"
 }

Entrée de table propre à la ressource :

{
    "ActivityId": "<activity id>",
    "ActivityName": "ConnectionOpen | Authorization | SendMessage | ReceiveMessage | PeekLockMessage",
    "ResourceId": "/SUBSCRIPTIONS/xxx/RESOURCEGROUPS/<Resource Group Name>/PROVIDERS/MICROSOFT.SERVICEBUS/NAMESPACES/<Service Bus namespace>/servicebus/<service bus name>",
    "TimeGenerated (UTC)": "1/1/2021 8:40:06 PM +00:00",
    "Status": "Success | Failure",
    "Protocol": "AMQP | HTTP | SBMP", 
    "AuthType": "SAS | AAD", 
    "AuthKey": "<AAD Application Name| SAS policy name>",
    "NetworkType": "Public | Private", 
    "ClientIp": "x.x.x.x",
    "Count": 1, 
    "Provider": "SERVICEBUS",
    "Type"   : "AZMSRuntimeAuditLogs"
 }

Journaux des erreurs de diagnostic

Les journaux d’erreurs de diagnostic capturent les messages d’erreur pour tous les messages d’erreur côté client, limitation et quota dépassés. Ils fournissent des diagnostics détaillés pour l’identification des erreurs.

Les journaux d’erreurs de diagnostic incluent des éléments répertoriés dans le tableau ci-dessous :

Nom Description Pris en charge dans Diagnostics Azure Pris en charge dans AZMSDiagnosticErrorLogs (table spécifique à la ressource)
ActivityId UUID généré de manière aléatoire qui garantit l’unicité de l’activité d’audit. Oui Oui
ActivityName Nom d’opération Oui Oui
NamespaceName Nom de l’espace de noms Oui Oui
EntityType Type d’entité Oui Oui
EntityName Nom de l’entité Oui Oui
OperationResult Type d’erreur dans l’opération (Clienterror ou Serverbusy ou quotaexceeded) Oui Oui
ErrorCount Nombre d’erreurs identiques pendant la période d’agrégation de 1 minute. Oui Oui
ErrorMessage Message d’erreur détaillé Oui Oui
Provider Nom du service qui émet les journaux. Valeurs possibles : eventhub, relay et servicebus Oui Oui
Time Generated (UTC) Durée de l’opération Non Oui
EventTimestamp Durée de l’opération Oui Non
Category Catégorie de journal Oui Non
Type Type de journaux émis Non Oui

Voici un exemple d’entrée de journal des erreurs de diagnostic :

{
    "ActivityId": "0000000000-0000-0000-0000-00000000000000",
    "SubscriptionId": "<Azure Subscription Id",
    "NamespaceName": "Name of Service Bus Namespace",
    "EntityType": "Queue",
    "EntityName": "Name of Service Bus Queue",
    "ActivityName": "SendMessage",
    "ResourceId": "/SUBSCRIPTIONS/xxx/RESOURCEGROUPS/<Resource Group Name>/PROVIDERS/MICROSOFT.SERVICEBUS/NAMESPACES/<service bus namespace name>",,
    "OperationResult": "ClientError",
    "ErrorCount": 1,
    "EventTimestamp": "3/27/2024 1:02:29.126 PM +00:00",
    "ErrorMessage": "the sessionid was not set on a message, and it cannot be sent to the entity. entities that have session support enabled can only receive messages that have the sessionid set to a valid value.",
    "category": "DiagnosticErrorLogs"
 }

Entrée de table propre à la ressource :

{
    "ActivityId": "0000000000-0000-0000-0000-00000000000000",
    "NamespaceName": "Name of Service Bus Namespace",
    "EntityType": "Queue",
    "EntityName": "Name of Service Bus Queue",
    "ActivityName": "SendMessage",
    "ResourceId": "/SUBSCRIPTIONS/xxx/RESOURCEGROUPS/<Resource Group Name>/PROVIDERS/MICROSOFT.SERVICEBUS/NAMESPACES/<service bus namespace name>",,
    "OperationResult": "ClientError",
    "ErrorCount": 1,
    "TimeGenerated [UTC]": "1/27/2024 4:02:29.126 PM +00:00",
    "ErrorMessage": "the sessionid was not set on a message, and it cannot be sent to the entity. entities that have session support enabled can only receive messages that have the sessionid set to a valid value.",
    "Type": "AZMSDiagnosticErrorLogs"
 }

Le 30 septembre 2026, nous mettrons fin à la prise en charge du protocole SBMP pour Azure Service Bus. Vous ne pourrez donc plus utiliser ce protocole après le 30 septembre 2026. Migrez vers les dernières bibliothèques du SDK Azure Service Bus utilisant le protocole AMQP, qui offre des mises à jour de sécurité critiques et des fonctionnalités améliorées, avant cette date.

Pour plus d’informations, consultez l’annonce concernant l’arrêt de la prise en charge.

Tables Azure Monitor Logs

Azure Service Bus utilise les tables Kusto des journaux d’activité Azure Monitor. Vous pouvez interroger ces tables à l’aide de Log Analytics. Pour obtenir la liste des tables Kusto utilisées par le service, consultez Référence de table des Journaux Azure Monitor.

Étapes suivantes