Eksportowanie metryk za pomocą reguł zbierania danych (wersja zapoznawcza)
Reguły zbierania danych (DCR) służą do zbierania danych monitorowania z zasobów platformy Azure. Aby uzyskać listę scenariuszy zbierania danych, zobacz Reguły zbierania danych — omówienie. Teraz możesz używać kontrolerów domeny do zbierania i eksportowania metryk platformy.
Obecnie metryki platformy można zbierać przy użyciu ustawień DCR i diagnostycznych. Rosnąca liczba zasobów obsługuje eksportowanie metryk przy użyciu kontrolerów domeny. Zobacz Obsługiwane zasoby i regiony , aby uzyskać listę zasobów pomocniczych.
Eksportowanie metryk przy użyciu kontrolerów domeny zapewnia następujące korzyści w porównaniu z ustawieniami diagnostycznymi:
- Konfiguracja kontrolera domeny umożliwia eksportowanie metryk z wymiarami.
- Konfiguracja kontrolera domeny umożliwia filtrowanie na podstawie nazwy metryki — dzięki czemu można eksportować tylko potrzebne metryki.
- Kontrolery domeny są bardziej elastyczne i skalowalne w porównaniu z ustawieniami diagnostycznymi.
- Opóźnienie końcowe dla kontrolerów domeny wynosi w ciągu 3 minut. Jest to poważna poprawa ustawień diagnostycznych, w których opóźnienie eksportu metryk wynosi 6–10 minut.
Eksportowanie metryk za pośrednictwem kontrolerów domeny służy do ciągłego eksportowania danych metryk. Do wykonywania zapytań dotyczących danych historycznych użyj interfejsu API batch metryk płaszczyzny danych. Aby zapoznać się z porównaniem dwóch usług, zobacz Zapytanie interfejsu API usługi Batch metryk płaszczyzny danych i eksportowanie metryk.
Tworzenie kontrolerów domeny dla metryk przy użyciu interfejsu API REST, interfejsu wiersza polecenia platformy Azure lub programu Azure PowerShell. Aby uzyskać informacje na temat tworzenia żądań DCR na potrzeby eksportowania metryk, zobacz Tworzenie reguł zbierania danych dla metryk.
Podczas tworzenia kontrolera domeny należy utworzyć skojarzenie reguły zbierania danych (DCRA), aby skojarzyć kontroler domeny z zasobem, który ma być monitorowany. Można utworzyć pojedynczy kontroler domeny dla wielu typów zasobów. Aby uzyskać informacje na temat tworzenia usługi DCRA, zobacz Create data collection rule associations (Tworzenie skojarzeń reguł zbierania danych). W przypadku korzystania z witryny Azure Portal funkcja DCRA jest tworzona automatycznie.
Uwaga
W tym samym czasie można używać kontrolerów domeny i ustawień diagnostycznych. Zalecamy wyłączenie ustawień diagnostycznych metryk w przypadku używania kontrolerów domeny w celu uniknięcia zduplikowanych kolekcji danych.
Eksportowanie miejsc docelowych
Metryki można wyeksportować do jednego z następujących miejsc docelowych na kontroler domeny:
Obszary robocze usługi Log Analytics.
Eksportowanie do obszarów roboczych usługi Log Analytics może znajdować się w różnych regionach. Obszar roboczy usługi Log Analytics i kontroler domeny muszą znajdować się w tym samym regionie, ale monitorowane zasoby mogą znajdować się w dowolnym regionie. Metryki wysyłane do obszaru roboczego usługi Log Analytics są przechowywane wAzureMetricsV2
tabeli.Konta usługi Azure Storage.
Konto magazynu, kontroler domeny i monitorowane zasoby muszą znajdować się w tym samym regionie.Event Hubs.
Usługi Event Hubs, DCR i monitorowane zasoby muszą znajdować się w tym samym regionie.
Aby zapoznać się z przykładem danych w każdym miejscu docelowym, zobacz Wyeksportowane dane.
Uwaga
Opóźnienie eksportowania metryk wynosi około 3 minut. Poczekaj do 15 minut, aby metryki zaczęły pojawiać się w miejscu docelowym po początkowej konfiguracji.
Ograniczenia
Kontrolery domeny dla eksportu metryk mają następujące ograniczenia:
- Na dcR można określić tylko jeden typ docelowy.
- Z pojedynczym zasobem platformy Azure można skojarzyć maksymalnie 5 kontrolerów domeny.
- Eksportowanie metryk przez kontroler domeny nie obsługuje eksportowania metryk godzinowych.
Obsługiwane zasoby i regiony
Następujące zasoby obsługują eksportowanie metryk przy użyciu reguł zbierania danych:
Typ zasobu | Specyfikacja strumienia |
---|---|
Zestawy skalowania maszyn wirtualnych | Microsoft.compute/virtualmachinescalesets |
Maszyny wirtualne | Microsoft.compute/virtualmachines |
Redis Cache | Microsoft.cache/redis |
Koncentratory IOT | Microsoft.devices/iothubs |
Magazyny kluczy | Microsoft.keyvault/vaults |
Konta magazynu | Microsoft.storage/storageaccounts Microsoft.storage/Storageaccounts/blobservices Microsoft.storage/storageaccounts/fileservices Microsoft.storage/storageaccounts/queueservices Microsoft.storage/storageaccounts/tableservices |
SQL Server | Microsoft.sql/serwery Microsoft.sql/serwery/bazy danych |
Operational Insights | Microsoft.operationalinsights/workspaces |
Usługi multimediów | Microsoft.media/mediaservices Microsoft.media/mediaservices/streamingendpoints Microsoft.media/mediaservices/liveevents |
Ochrona danych | Microsoft.dataprotection/backupvaults |
Azure Kubernetes Service | Microsoft.ContainerService/managedClusters |
Obsługiwane regiony
Możesz utworzyć kontroler domeny dla eksportu metryk w dowolnym regionie, ale zasoby, z których chcesz wyeksportować metryki, muszą znajdować się w jednym z następujących regionów:
- Australia Wschodnia
- Środkowe stany USA
- CentralUsEuap
- South Central US
- East US
- Wschodnie stany USA 2
- Eastus2Euap
- Zachodnie stany USA
- Zachodnie stany USA 2
- Europa Północna
- West Europe
- Południowe Zjednoczone Królestwo
Specyfikacje dcR
Reguły zbierania danych są definiowane w obiekcie JSON. Następujące właściwości są wymagane do utworzenia kontrolera domeny na potrzeby eksportowania metryk.
Właściwości | opis |
---|---|
dataSources.platformTelemetry.streams |
Wyświetla listę typów zasobów i metryk. Określ Metrics-Group-All , aby zebrać wszystkie metryki dla zasobu lub określić poszczególne metryki. Format: <resource type>:Metrics-Group-All | <metric name> Na przykład Microsoft.Compute/virtualMachines:Percentage CPU |
dataSources.platformTelemetry.name |
Nazwa źródła danych. |
destinations |
Miejsce docelowe metryk. Obsługiwane jest tylko jedno miejsce docelowe dla kontrolera domeny. Prawidłowe typy miejsc docelowych: storageAccounts logAnalytics eventHubs |
dataflows.streams |
Lista strumieni, które mają być przekazywane do miejsca docelowego w formacie: <resource type>:Metrics-Group-All |<metric name> Na przykład Microsoft.Compute/virtualMachines:Percentage CPU" |
dataflows.destinations |
Miejsce docelowe przekazywania strumieni do zgodnie z definicją destinations we właściwości . |
identity.type |
Typ tożsamości, który ma być używany dla kontrolera domeny. Wymagane dla miejsc docelowych konta magazynu. Prawidłowe wartości: systemAssigned userAssigned |
kind |
Rodzaj reguły zbierania danych. Ustaw wartość na PlatformTelemetry dla eksportu metryk. |
location |
Lokalizacja kontrolera domeny. |
Uwaga
Na dcR można określić tylko jeden typ docelowy.
Format JSON dla eksportu metryk DCR
Użyj formatu w następującym ogólnym obiekcie JSON, aby utworzyć kontroler domeny na potrzeby eksportu metryk. Usuń niechciane miejsca docelowe podczas kopiowania przykładu.
{
"properties": {
"dataSources": {
"platformTelemetry": [
{
"streams": [
// a list of resource types and metrics to collect metrics from
"<resourcetype>:<metric name> | Metrics-Group-All",
"<resourcetype>:<metric name> | Metrics-Group-All"
],
"name": "<data sources name>"
}
]
},
"destinations": {
// Choose a single destination type of either logAnalytics, storageAccounts, or eventHubs
"logAnalytics": [
{
"workspaceResourceId": "workspace Id",
"name": "<destination name>"
}
],
"storageAccounts": [
{
"storageAccountResourceId": "<storage account Id>",
"containerName": "<container name>",
"name": "<destination name>"
}
],
"eventHubs": [
{
"eventHubResourceId": "event hub id",
"name": "<destination name>"
}
], },
"dataFlows": [
{
"streams": [
// a list of resource types and metrics to pass to the destination
"<resourcetype>:<metric name> | Metrics-Group-All",
"<resourcetype>:<metric name> | Metrics-Group-All"
],
"destinations": [
"<destination name>"
]
}
]
},
// identity is required for Storage Account and Event Hubs destinations
"identity": {
"type": "userassigned",
"userAssignedIdentities": {
"/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rg-001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/DRCIdentity": {}
}
},
"kind": "PlatformTelemetry",
"location": "eastus"
}
Uwaga
Podczas tworzenia kontrolera domeny na potrzeby eksportowania metryk przy użyciu interfejsu wiersza polecenia , kind
location
, i identity
są przekazywane jako argumenty i muszą zostać usunięte z obiektu JSON.
Tożsamości przypisane przez użytkownika i system
Tożsamości przypisane przez użytkownika i system są obsługiwane podczas tworzenia kontrolerów domeny. Tożsamość jest wymagana dla lokalizacji docelowych konta magazynu i usługi Event Hubs. Można użyć tożsamości przypisanej przez system lub przypisanej przez użytkownika. Aby uzyskać więcej informacji, zobacz Przypisywanie ról platformy Azure do tożsamości zarządzanej.
Aby użyć tożsamości przypisanej przez system, dodaj identity
obiekt w następujący sposób:
"identity": {
"type": "systemAssigned"
},
Aby użyć tożsamości przypisanej przez użytkownika, dodaj identity
obiekt w następujący sposób:
"identity": {
"type": "userassigned",
"userAssignedIdentities": {
"/subscriptions/<subscriptionId>/resourceGroups/<resource group name>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<identity name>": {}
}
}
Filtrowanie metryk
Podczas określania metryk do wyeksportowania można filtrować metryki według nazwy lub zażądać wszystkich metryk przy użyciu polecenia Metrics-Group-All
. Aby uzyskać listę obsługiwanych metryk, zobacz Obsługiwane metryki i kategorie dzienników według typu zasobu.
Aby określić więcej niż jedną metrykę z tego samego typu zasobu, utwórz oddzielny element strumienia dla każdej metryki.
W poniższym przykładzie pokazano, jak filtrować metryki według nazwy.
{
"properties": {
"dataSources": {
"platformTelemetry": [
{
"streams": [
"Microsoft.Compute/virtualMachines:Percentage CPU",
"Microsoft.Compute/virtualMachines:Disk Read Bytes",
"Microsoft.Compute/virtualMachines:Inbound Flows",
"Microsoft.Compute/virtualMachineScaleSets:Percentage CPU",
"Microsoft.Cache/redis:Cache Hits"
],
"name": "myPlatformTelemetryDataSource"
}
]
},
"destinations": {
"logAnalytics": [
{
"workspaceResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/arg-001/providers/microsoft.operationalinsights/workspaces/loganalyticsworkspace001",
"name": "destinationName"
}
]
},
"dataFlows": [
{
"streams": [
"Microsoft.Compute/virtualMachines:Percentage CPU",
"Microsoft.Compute/virtualMachines:Disk Read Bytes",
"Microsoft.Compute/virtualMachines:Inbound Flows",
"Microsoft.Compute/virtualMachineScaleSets:Percentage CPU",
"Microsoft.Cache/redis:Cache Hits"
],
"destinations": [
"destinationName"
]
}
]
},
"kind": "PlatformTelemetry",
"location": "eastus"
}
Przykładowe metryki eksportują obiekty JSON
W poniższych przykładach pokazano przykładowe obiekty JSON dcR na potrzeby eksportowania metryk do każdego typu docelowego.
Obszary robocze usługi Log Analytics
W poniższym przykładzie przedstawiono regułę zbierania danych dla metryk, które wysyłają określone metryki z maszyn wirtualnych, zestawów skalowania maszyn wirtualnych i wszystkie metryki magazynu kluczy do obszaru roboczego usługi Log Analytics:
{
"properties": {
"dataSources": {
"platformTelemetry": [
{
"streams": [
"Microsoft.Compute/virtualMachines:Percentage CPU",
"Microsoft.Compute/virtualMachines:Disk Read Bytes",
"Microsoft.Compute/virtualMachines:Inbound Flows",
"Microsoft.Compute/virtualMachineScaleSets:Available Memory Bytes",
"Microsoft.KeyVault/vaults:Metrics-Group-All"
],
"name": "myPlatformTelemetryDataSource"
}
]
},
"destinations": {
"logAnalytics": [
{
"workspaceResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/rg-001/providers/microsoft.operationalinsights/workspaces/laworkspace001",
"name": "ladestination"
}
]
},
"dataFlows": [
{
"streams": [
"Microsoft.Compute/virtualMachines:Percentage CPU",
"Microsoft.Compute/virtualMachines:Disk Read Bytes",
"Microsoft.Compute/virtualMachines:Inbound Flows",
"Microsoft.Compute/virtualMachineScaleSets:Available Memory Bytes",
"Microsoft.KeyVault/vaults:Metrics-Group-All"
],
"destinations": [
"ladestination"
]
}
]
},
"kind": "PlatformTelemetry",
"location": "centralus"
}
Tworzenie kontrolerów domeny dla eksportu metryk
Tworzenie kontrolerów DCR dla eksportu metryk przy użyciu witryny Azure Portal, interfejsu wiersza polecenia, programu PowerShell, interfejsu API REST lub szablonu usługi ARM. Aby uzyskać więcej informacji, zobacz Tworzenie reguły zbierania danych (DCR) na potrzeby eksportowania metryk.
Wyeksportowane dane
W poniższych przykładach pokazano dane wyeksportowane do każdego miejsca docelowego.
Obszary robocze usługi Log Analytics
Dane wyeksportowane do obszaru roboczego usługi Log Analytics są przechowywane w AzureMetricsV2
tabeli w obszarze roboczym usługi Log Analytics w następującym formacie:
Kolumna | Type | Opis |
---|---|---|
Średnia | rzeczywiste | Średnia wartość zebrana w przedziale czasu. |
_BilledSize | rzeczywiste | Rozmiar rekordu w bajtach |
Count | rzeczywiste | Liczba próbek zebranych w przedziale czasu. |
Wymiar | dynamiczna | Skojarzony wymiar metryki w formacie JSON. |
_IsBillable | string | Określa, czy pozyskiwanie danych jest rozliczane. Jeśli pozyskiwanie _IsBillable false nie jest rozliczane na koncie platformy Azure |
Maksymalnie | rzeczywiste | Maksymalna wartość zbierana w przedziale czasu. |
MetricCategory | string | Nazwa kategorii metryki. |
Nazwa metryki | string | Nazwa wyświetlana metryki. |
MetricResourceType | string | Typ zasobu platformy Azure raportujący metryki. |
Minimum | rzeczywiste | Minimalna wartość zebrana w zakresie czasu. |
_ResourceId | string | Unikatowy identyfikator zasobu skojarzonego z rekordem |
SourceSystem | string | Typ agenta, przez który zdarzenie zostało zebrane. Na przykład OpsManager w przypadku agenta systemu Windows— bezpośredniego połączenia lub programu Operations Manager — Linux dla wszystkich agentów systemu Linux lub Azure dla Diagnostyka Azure |
_SubscriptionId | string | Unikatowy identyfikator subskrypcji, z którą jest skojarzony rekord |
TenantId | string | Identyfikator obszaru roboczego usługi Log Analytics |
TimeGenerated | datetime | Sygnatura czasowa (UTC) podczas generowania rekordu. |
TimeGrain | string | Ziarno czasu metryki. |
Łącznie | rzeczywiste | Suma wszystkich wartości w zakresie czasu. |
Typ | string | Nazwa tabeli |
Nazwa jednostki | string | Jednostka metryki. |
Na przykład:
Konta magazynu
W poniższym przykładzie pokazano dane wyeksportowane na konto magazynu:
{
"Average": "31.5",
"Count": "2",
"Maximum": "52",
"Minimum": "11",
"Total": "63",
"resourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/rg-dcrs/providers/microsoft.keyvault/vaults/dcr-vault",
"time": "2024-08-20T14:13:00.0000000Z",
"unit": "MilliSeconds",
"metricName": "ServiceApiLatency",
"timeGrain": "PT1M",
"dimension": {
"ActivityName": "vaultget",
"ActivityType": "vault",
"StatusCode": "200",
"StatusCodeClass": "2xx"
}
}
Event Hubs
W poniższym przykładzie przedstawiono metrykę wyeksportowaną do usługi Event Hubs.
{
"Average": "1",
"Count": "1",
"Maximum": "1",
"Minimum": "1",
"Total": "1",
"resourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/rg-dcrs/providers/microsoft.keyvault/vaults/dcr-vault",
"time": "2024-08-22T13:43:00.0000000Z",
"unit": "Count",
"metricName": "ServiceApiHit",
"timeGrain": "PT1M",
"dimension": {
"ActivityName": "keycreate",
"ActivityType": "key"
},
"EventProcessedUtcTime": "2024-08-22T13:49:17.1233030Z",
"PartitionId": 0,
"EventEnqueuedUtcTime": "2024-08-22T13:46:04.5570000Z"
}