Surveillez les données Azure Cosmos DB à l’aide des paramètres de diagnostic dans Azure

S’APPLIQUE À : NoSQL MongoDB Cassandra Gremlin Table

Les paramètres de diagnostic dans Azure sont utilisés pour collecter les journaux des ressources. Les ressources émettent des journaux de ressources Azure et fournissent des données riches et fréquentes sur le fonctionnement de cette ressource. Ces journaux sont capturés par requête et sont également appelés « journaux du plan de données ». Les opérations Delete, Insert et readFeed sont des exemples d’opérations de plan de données. Le contenu de ces journaux d’activité varie en fonction du type de ressource.

Les indicateurs de performance de la plateforme et le journal d’activité sont collectés automatiquement, mais vous devez créer un paramètre de diagnostic pour collecter les journaux des ressources ou les transférer en dehors d’Azure Monitor. Vous pouvez activer le paramètre de diagnostic pour les comptes Azure Cosmos DB et envoyer les journaux des ressources aux sources suivantes :

  • Espaces de travail Log Analytics
    • Les données envoyées à Log Analytics peuvent être écrites dans des tables Diagnostics Azure (héritées) ou Spécifique à la ressource (préversion)
  • Event Hub
  • Compte de stockage

Notes

Nous vous recommandons de créer le paramètre de diagnostic en mode Spécifique (pour toutes les API à l’exception de l’API pour Table) à la ressource en suivant les instructions de création d’un paramètre de diagnostic via l’API REST. Cette option fournit des optimisations de coût supplémentaires grâce à une vue améliorée de la gestion des données.

Prérequis

Créer des paramètres de diagnostic

Ici, nous suivons étape par étape l’ensemble du processus de création des paramètres de diagnostic pour votre compte.

  1. Connectez-vous au portail Azure.

  2. Accédez à votre compte Azure Cosmos DB. Ouvrez le volet Paramètres de diagnostic sous la section Surveillance, puis sélectionnez l’option Ajouter un paramètre de diagnostic.

    Sreenshot of the diagnostics selection page.

    Important

    Vous pouvez voir une invite pour « activer la requête de texte intégral [...] pour une journalisation plus détaillée » si la fonctionnalité requête de texte intégral n’est pas activée dans votre compte. Vous pouvez ignorer cet avertissement en toute sécurité si vous ne souhaitez pas l’activer. Pour plus d’informations, consultez Activer une requête de texte intégral.

  3. Dans le volet Paramètres de diagnostic, renseignez le formulaire avec vos catégories préférées. Vous trouverez ici la liste des catégories de journaux.

    Category API Définition Propriétés de clé
    DataPlaneRequests Recommandé pour l’API pour NoSQL Consigne les requêtes back-end en tant qu’opérations de plan de données qui sont des requêtes exécutées pour créer, mettre à jour, supprimer ou récupérer des données dans le compte. Requestcharge, statusCode, clientIPaddress, partitionID, resourceTokenPermissionIdresourceTokenPermissionMode
    MongoRequests API pour MongoDB Journalise les requêtes initiées par l’utilisateur depuis le serveur front-end pour servir des requêtes à Azure Cosmos DB for MongoDB. Quand vous activez cette catégorie, veillez à désactiver DataPlaneRequests. Requestcharge, opCode, retryCount, piiCommandText
    CassandraRequests API pour Apache Cassandra Consigne les requêtes initiées par l’utilisateur depuis le serveur front-end pour servir des requêtes à Azure Cosmos DB for Cassandra. operationName, requestCharge, piiCommandText
    GremlinRequests API Apache Gremlin Consigne les requêtes initiées par l’utilisateur depuis le serveur front-end pour servir des requêtes à Azure Cosmos DB pour Gremlin. operationName, requestCharge, piiCommandText, retriedDueToRateLimiting
    QueryRuntimeStatistics API pour NoSQL Ce tableau détaille les opérations de requête exécutées sur un compte d’API pour NoSQL. Par défaut, le texte de la requête et ses paramètres sont masqués pour éviter de journaliser les données personnelles avec la journalisation de requête en texte intégral disponible à la demande. databasename, partitionkeyrangeid, querytext
    PartitionKeyStatistics Toutes les API Consigne les statistiques des clés de partition logique en représentant la taille de stockage estimée (Ko) des clés de partition. Cette table est utile lors de la résolution des problèmes liés à l’asymétrie du stockage. Ce journal PartitionKeyStatistics est émis uniquement si les conditions suivantes sont remplies : 1. Au moins 1 % des documents de la partition physique ont la même clé de partition logique. 2. Parmi toutes les clés de la partition physique, le journal PartitionKeyStatistics capture les trois premières clés avec la plus grande taille de stockage. Si les conditions précédentes ne sont pas remplies, les données de statistiques de clé de partition ne sont pas disponibles. Il n’est pas grave que les conditions ci-dessus ne soient pas remplies pour votre compte, ce qui indique généralement que vous n’avez pas d’asymétrie d’espace de stockage de partition logique. Remarque : la taille estimée des clés de partition est calculée à l’aide d’une approche d’échantillonnage qui suppose que les documents de la partition physique sont à peu près de la même taille. Si les tailles de document ne sont pas uniformes dans la partition physique, la taille estimée de la clé de partition peut ne pas être exacte. subscriptionId, regionName, partitionKey, sizeKB
    PartitionKeyRUConsumption API pour NoSQL ou API pour Apache Gremlin Consigne la consommation agrégée de RU/s des clés de partition. Cette table est utile pour le dépannage des partitions à chaud. Actuellement, Azure Cosmos DB signale uniquement des clés de partition pour les comptes d’API pour NoSQL et pour des opérations de lecture/écriture, des requêtes et de procédure stockée du point. subscriptionId, regionName, partitionKey, requestCharge, partitionKeyRangeId
    ControlPlaneRequests Toutes les API Consigne les détails des opérations du plan de contrôle, ce qui comprend la création d’un compte, l’ajout ou la suppression d’une région, la mise à jour des paramètres de réplication du compte, etc. operationName, httpstatusCode, httpMethod, region
    TableApiRequests API pour Table Consigne les requêtes initiées par l’utilisateur depuis le serveur front-end pour servir des requêtes à Azure Cosmos DB for Table. operationName, requestCharge, piiCommandText
  4. Après avoir sélectionné vos détails de catégorie, envoyez vos journaux à votre destination préférée. Si vous envoyez des journaux à un espace de travail Log Analytics, assurez-vous de sélectionner Ressource spécifique comme table Destination.

    Screenshot of the option to enable resource-specific diagnostics.

Activer la requête de texte intégral pour la journalisation du texte de la requête

Notes

L’activation de cette fonctionnalité peut entraîner des coûts de journalisation supplémentaires. Pour plus d’informations sur la tarification, consultez la tarification Azure Monitor. Il est recommandé de désactiver cette fonctionnalité après le dépannage.

Azure Cosmos DB fournit une journalisation avancée pour une résolution des problèmes détaillée. En activant la requête de texte intégral, vous pouvez voir la requête désobfusquée pour toutes les demandes au sein de votre compte Azure Cosmos DB. Vous autorisez également Azure Cosmos DB à accéder à ces données et à les exposer dans vos journaux.

  1. Pour activer cette fonctionnalité, accédez à la page Features de votre compte Azure Cosmos DB.

    Screenshot of the navigation process to the Features page.

  2. Sélectionnez Enable. Ce paramètre est appliqué en quelques minutes. Tous les journaux nouvellement ingérés comportent le texte intégral ou PIICommand pour chaque demande.

    Screenshot of the full-text feature being enabled.

Interroger des données

Pour savoir comment interroger à l’aide de ces fonctionnalités nouvellement activées, consultez :

Étapes suivantes