Partager via


Surveiller les journaux de diagnostic Azure DocumentDB avec Azure Monitor

Les journaux de diagnostic d’Azure sont essentiels pour capturer les journaux de ressources Azure pour un compte Azure DocumentDB. Ces logs fournissent des informations fréquentes et détaillées sur les opérations associées aux ressources du compte.

Important

Cette fonctionnalité n’est pas disponible avec le niveau de calcul M30 ou les niveaux inférieurs, ni avec les références SKU de niveau gratuit.

Prerequisites

  • Un abonnement Azure

  • Un cluster Azure DocumentDB existant

    • Si vous n’avez pas de cluster, créez un cluster
  • Un espace de travail Log Analytics ou un compte de stockage Azure existant.

Créer des paramètres de diagnostic

Les métriques de plateforme et les journaux d’activité sont collectés automatiquement. Pour collecter les journaux de ressources et les router en externe à partir d’Azure Monitor, vous devez établir un paramètre de diagnostic. Pour en savoir plus, consultez Créer des paramètres de diagnostic dans Azure Monitor.

Gérer les paramètres de diagnostic

Parfois, vous devez gérer les paramètres en les recherchant ou en les supprimant. Le az monitor diagnostic-settings groupe de commandes inclut des sous-commandes pour la gestion des paramètres de diagnostic.

  1. Répertoriez tous les paramètres de diagnostic associés à l’API pour le cluster.

    az monitor diagnostic-settings list \
        --resource-group $resourceGroupName \
        --resource $clusterResourceId
    
  2. Supprimez un paramètre spécifique à l’aide de la ressource associée et du nom du paramètre.

    az monitor diagnostic-settings delete \
        --resource-group $resourceGroupName \
        --name $diagnosticSettingName \
        --resource $clusterResourceId
    

Utiliser des requêtes de diagnostic avancées

Utilisez ces requêtes spécifiques aux ressources pour effectuer des recherches de dépannage courantes dans une API pour le cluster.

Important

Cette section suppose que vous utilisez un espace de travail Log Analytics avec des journaux spécifiques aux ressources.

  1. Accédez à la section Journaux de l’API pour le cluster. Observez la liste des exemples de requêtes.

    Capture d’écran de la liste de requêtes de diagnostic d'exemple.

  2. Exécutez cette requête pour compter le nombre d’API ayant échoué pour les requêtes regroupées par code d’erreur.

    VCoreMongoRequests
    // Time range filter:  | where TimeGenerated between (StartTime .. EndTime)
    // Resource id filter: | where _ResourceId == "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/my-resource-group-name/providers/microsoft.documentdb/mongoclusters/my-cluster-name"
    | where ErrorCode != 0
    | summarize count() by bin(TimeGenerated, 5m), ErrorCode=tostring(ErrorCode)
    
  3. Exécutez cette requête pour obtenir l’API pour la durée d’exécution des requêtes P99 par nom d’opération.

    // Mongo requests P99 duration by operation 
    // Mongo requests P99 runtime duration by operation name. 
    VCoreMongoRequests
    // Time range filter:  | where TimeGenerated between (StartTime .. EndTime)
    // Resource id filter: | where _ResourceId == "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/my-resource-group-name/providers/microsoft.documentdb/mongoclusters/my-cluster-name"
    | summarize percentile(DurationMs, 99) by bin(TimeGenerated, 1h), OperationName
    
  4. Exécutez cette requête pour obtenir le nombre d’API pour les requêtes regroupées par durée totale du runtime.

    // Mongo requests binned by duration 
    // Count of Mongo requests binned by total runtime duration. 
    VCoreMongoRequests
    // Time range filter:  | where TimeGenerated between (StartTime .. EndTime)
    // Resource id filter: | where _ResourceId == "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/my-resource-group-name/providers/microsoft.documentdb/mongoclusters/my-cluster-name"
    | project TimeGenerated, DurationBin=tostring(bin(DurationMs, 5))
    | summarize count() by bin(TimeGenerated, 1m), tostring(DurationBin)
    
  5. Exécutez cette requête pour obtenir le nombre d’API pour les requêtes par agent utilisateur.

    // Mongo requests by user agent 
    // Count of Mongo requests by user agent. 
    VCoreMongoRequests
    // Time range filter:  | where TimeGenerated between (StartTime .. EndTime)
    // Resource id filter: | where _ResourceId == "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/my-resource-group-name/providers/microsoft.documentdb/mongoclusters/my-cluster-name"
    | summarize count() by bin(TimeGenerated, 1h), UserAgent