Condividi tramite


Eseguire la migrazione delle metriche di monitoraggio legacy a Azure Monitor

SI APPLICA A: NoSQL

L'obiettivo di questo articolo è agevolare la migrazione per gli utenti delle metriche legacy verso Azure Monitor. Questo articolo descrive le differenze tra le due API, fornisce un mapping tra i due e fornisce esempi di utilizzi per facilitare la migrazione.

I clienti che usano le API REST di monitoraggio legacy di Azure Cosmos DB sono invitati a eseguire la migrazione ad Azure Monitor. Azure Monitor offre un'API REST centralizzata per l'esecuzione di query sulle metriche in tutte le risorse di Azure e fornisce funzionalità e metriche non disponibili con l'API del provider di risorse di Cosmos DB (RP) legacy.

Informazioni sulle API metriche di Azure Cosmos DB

L'API metriche di Azure Cosmos DB è un sistema legacy per ottenere i dati di monitoraggio per gli account, i database e le raccolte. Il numero di metriche che fornisce è limitato rispetto a quello ora disponibile con Monitoraggio di Azure.

A causa della sua natura legacy, la struttura del percorso per le chiamate API REST usa l'ID risorsa (RID) per i database e le raccolte. Gli ID risorsa sono specifici di Cosmos DB e non sono validi per altri elementi in Azure. Tutte le API del provider di risorse fanno riferimento alle risorse di Cosmos DB in base al nome.

Informazioni sull'API REST di Monitoraggio di Azure

L'API REST di Monitoraggio di Azure fornisce definizioni delle metriche, valori delle dimensioni e delle metriche per le applicazioni in Azure. Questi dati possono essere usati direttamente nelle applicazioni o archiviati in un database per un'analisi successiva. Gli utenti possono anche elencare le regole di avviso e visualizzare i log attività usando l'API di Monitoraggio di Azure.

Se non si ha familiarità con l'uso di questa API, vedere Procedura dettagliata dell'API REST di monitoraggio di Azure per un'introduzione e acquisire familiarità.

Elenco delle API delle metriche legacy di Cosmos DB

Questa tabella elenca le API delle metriche legacy di cui i clienti devono eseguire la migrazione a Monitoraggio di Azure. Ogni operazione è collegata alla documentazione corrispondente dell'API REST per fornire informazioni di riferimento.

Risorsa Cosmos Operazione URI
Account di database Elencare le definizioni delle metriche Microsoft.DocumentDB/databaseAccounts/{accountName}/metricDefinitions
Account di database Elencare le metriche Microsoft.DocumentDB/databaseAccounts/{accountName}/metrics
Banca dati Elencare le definizioni delle metriche Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/metricDefinitions
Banca dati Elencare le metriche Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/metrics
Raccolta Elencare le definizioni delle metriche Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/metricDefinitions
Raccolta Metriche dell'elenco Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/metrics

Elenco delle API delle metriche di Monitoraggio di Azure

Monitoraggio di Azure include due API equivalenti all'elenco delle definizioni delle metriche e al recupero di singole metriche. I collegamenti consentono di accedere alla documentazione dell'API REST con parametri URI ed esempi.

Operazione URI
Elencare le definizioni delle metriche Microsoft.Insights/metricDefinitions
Elencare le metriche Microsoft.Insights/metrics

Mappatura delle metriche RP di Cosmos DB alle metriche di Monitoraggio di Azure

Questa tabella fornisce un mapping di tutte le metriche legacy di Cosmos DB in Monitoraggio di Azure per facilitare la migrazione di singole chiamate API per metriche specifiche.

Metriche di Cosmos Metriche di Azure Monitor Note
Dimensioni dei dati Utilizzo dei Dati
Dimensioni dell'indice IndexUsage
Capacità di archiviazione DocumentQuota
Spazio di archiviazione disponibile Deprecato Archiviazione raccolta è ora illimitata (metrica non necessaria)
Conteggio documenti DocumentCount
Latenza di lettura ServerSideLatency
Latenza di scrittura ServerSideLatency
Disponibilità del servizio Disponibilità del Servizio
Richieste totali TotalRequests
Http 2xx TotalRequests Filtrare in base al codice di stato
Http 3xx TotalRequests Filtrare in base al codice di stato
Http 400 TotalRequests Filtrare in base al codice di stato
Http 401 TotalRequests Filtrare in base al codice di stato
Richieste limitate TotalRequests Filtrare in base al codice di stato
Servizio non disponibile TotalRequests Filtrare in base al codice di stato
Totale unità richiesta TotalRequestUnits
Richieste medie al secondo/UR al secondo Non disponibile Non supportato
Numero massimo di UR AL MINUTO NormalizedRUConsumption
Mongo * Request Charge (Addebito richiesta Mongo) MongoRequestCharge
Mongo * Request Rate (Frequenza richieste Mongo) MongoRequests Filtrare in base al codice di stato
Mongo * Richieste non riuscite MongoRequests Filtrare in base al codice di stato
Latenza di replica ReplicationLatency

Esempi di migrazione delle metriche legacy di Cosmos DB alle metriche di Monitoraggio di Azure

Ecco un confronto tra due chiamate tra le due API REST. Azure Monitor supporta tutte le metriche restituite dalle API delle metriche legacy di Cosmos DB e offre centinaia di altre. Include anche metriche per ogni altro servizio di Azure che semplificano il monitoraggio di più servizi di Azure.

Esempio 1 - Elencare la definizione delle metriche

Elencare le metriche disponibili per una raccolta di API NoSQL

   GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/metricDefinitions?api-version=2024-11-15
{
   "value": [
     {
      "metricAvailabilities": [
         {
           "timeGrain": "PT5M",
           "retention": "P2D"
         },
         {
           "timeGrain": "PT1H",
           "retention": "P14D"
         },
         {
           "timeGrain": "P1D",
           "retention": "P60D"
         }
      ],
      "primaryAggregationType": "Total",
      "unit": "Count",
      "resourceUri": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1",
      "name": {
         "value": "Total Requests",
         "localizedValue": "Total Requests"
      }
     },
     // Additional metric definitions...
   ]
} 

Esempio 2 - Totale richieste di database

Ottenere le richieste totali per un database (e tutte le raccolte al suo interno)

GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/metrics?api-version=2024-11-15&$filter=(name.value eq 'Total Requests' and statusCode eq '200')
{
   "value": [
      {
         "timeGrain": "PT5M",
         "startTime": "2023-01-01T00:00:00Z",
         "endTime": "2023-01-01T01:00:00Z",
         "unit": "Count", 
         "metricValues": [
            {
               "timestamp": "2023-01-01T00:00:00Z",
               "count": 80
            },
            {
               "timestamp": "2023-01-01T00:05:00Z",
               "count": 120
            }
         ],
         "name": {
            "value": "Total Requests",
            "localizedValue": "Total Requests"
         }
      }
   ]
} 

Esempio 2 - Utilizzo massimo di UR di raccolta

Recuperare il numero massimo di UR/sec per una raccolta

GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/metrics?api-version=2024-11-15&$filter=(name.value eq 'Max RU/s') and timeGrain eq duration'PT5M' and startTime eq '2023-01-01T00:00:00Z' and endTime eq '2023-01-01T01:00:00Z' 
{
   "value": [
   {
      "timeGrain": "PT5M",
      "startTime": "2023-01-01T00:00:00Z",
      "endTime": "2023-01-01T01:00:00Z",
      "unit": "RU",
      "metricValues": [
         {
            "timestamp": "2023-01-01T00:00:00Z",
            "maximum": 1000
         },
         {
            "timestamp": "2023-01-01T00:05:00Z",
            "maximum": 1200
         }
      ],
      "name": {
         "value": "Max RU/s",
         "localizedValue": "Max RU/s"
      }
   }
   ]
}

Passaggi successivi

Per altre informazioni su come usare Monitoraggio di Azure per Azure Cosmos DB, vedere Monitorare ed eseguire il debug con informazioni dettagliate in Azure Cosmos DB.