Schemat rozszerzenia diagnostyki systemu Windows
Diagnostyka Azure rozszerzenie to agent w usłudze Azure Monitor, który zbiera dane monitorowania z systemu operacyjnego gościa i obciążeń zasobów obliczeniowych platformy Azure. Ten artykuł zawiera szczegółowe informacje o schemacie używanym do konfiguracji rozszerzenia diagnostycznego na maszynach wirtualnych z systemem Windows i innych zasobach obliczeniowych.
Uwaga
Schemat w tym artykule jest prawidłowy dla wersji 1.3 i nowszych (zestaw Azure SDK 2.4 i nowsze). Nowsze sekcje konfiguracji są komentowane, aby pokazać, w jakiej wersji zostały dodane. Wersje 1.0 i 1.2 schematu zostały zarchiwizowane i nie są już dostępne.
Schemat pliku konfiguracji publicznej
Pobierz definicję schematu pliku konfiguracji publicznej, wykonując następujące polecenie programu PowerShell:
(Get-AzureServiceAvailableExtension -ExtensionName 'PaaSDiagnostics' -ProviderNamespace 'Microsoft.Azure.Diagnostics').PublicConfigurationSchema | Out-File –Encoding utf8 -FilePath 'C:\temp\WadConfig.xsd'
Typowe typy atrybutów
scheduledTransferPeriod atrybut pojawia się w kilku elementach. Jest to interwał między zaplanowanym transferem do magazynu zaokrąglonym do najbliższej minuty. Wartość to XML "Duration Data Type" (Typ danych czasu trwania).
DiagnosticsConfiguration, element
Drzewo: root — DiagnosticsConfiguration
Dodano element w wersji 1.3.
Element najwyższego poziomu pliku konfiguracji diagnostyki.
Xmlns atrybutów — przestrzeń nazw XML pliku konfiguracji diagnostyki to:
http://schemas.microsoft.com/ServiceHosting/2010/10/DiagnosticsConfiguration
Elementy podrzędne | opis |
---|---|
Konfiguracja publiczna | Wymagany. Zobacz opis gdzie indziej na tej stronie. |
Konfiguracja prywatna | Opcjonalny. Zobacz opis gdzie indziej na tej stronie. |
IsEnabled | Wartość logiczna. Zobacz opis gdzie indziej na tej stronie. |
PublicConfig, element
Drzewo: root — DiagnosticsConfiguration — PublicConfig
Opisuje konfigurację diagnostyki publicznej.
Elementy podrzędne | opis |
---|---|
WadCfg | Wymagany. Zobacz opis gdzie indziej na tej stronie. |
StorageAccount | Nazwa konta usługi Azure Storage do przechowywania danych. Można również określić jako parametr podczas wykonywania polecenia cmdlet Set-AzureServiceDiagnosticsExtension. |
Typ magazynu | Może to być tabela, obiekt blob lub tableAndBlob. Tabela jest domyślna. Po wybraniu tabeli TableAndBlob dane diagnostyczne są zapisywane dwa razy — raz do każdego typu. |
LocalResourceDirectory | Katalog na maszynie wirtualnej, w której agent monitorowania przechowuje dane zdarzeń. Jeśli nie, ustaw, zostanie użyty katalog domyślny: W przypadku roli Procesu roboczego/sieci Web: C:\Resources\<guid>\directory\<guid>.<RoleName.DiagnosticStore\ Dla maszyny wirtualnej: C:\WindowsAzure\Logs\Plugins\Microsoft.Azure.Diagnostics.IaaSDiagnostics\<WADVersion>\WAD<WADVersion> Wymagane atrybuty to: - path — katalog w systemie, który ma być używany przez Diagnostyka Azure. - expandEnvironment — określa, czy zmienne środowiskowe są rozwinięte w nazwie ścieżki. |
WadCFG, element
Drzewo: root — DiagnosticsConfiguration — PublicConfig — WadCFG
Identyfikuje i konfiguruje dane telemetryczne do zebrania.
DiagnosticMonitorConfiguration, element
Drzewo: root — DiagnosticsConfiguration — PublicConfig — WadCFG — DiagnosticMonitorConfiguration
Wymagania
Atrybuty | opis |
---|---|
overallQuotaInMB | Maksymalna ilość miejsca na dysku lokalnym, który może być używany przez różne typy danych diagnostycznych zebranych przez Diagnostyka Azure. Ustawieniem domyślnym jest 4096 MB. |
useProxyServer | Skonfiguruj Diagnostyka Azure, aby używać ustawień serwera proxy zgodnie z ustawieniami programu Internet Explorer. |
Zlewozmywaki | Dodano w wersji 1.5. Opcjonalny. Wskazuje lokalizację ujścia, aby również wysyłać dane diagnostyczne dla wszystkich elementów podrzędnych obsługujących ujścia. Przykład ujścia to Application Insights lub Event Hubs. Należy pamiętać, że należy dodać właściwość resourceId w elemecie Metrics , jeśli zdarzenia przekazane do usługi Event Hubs mają identyfikator zasobu. |
Elementy podrzędne | opis |
---|---|
CrashDumps | Zobacz opis gdzie indziej na tej stronie. |
DiagnosticInfrastructureLogs | Włącz zbieranie dzienników generowanych przez Diagnostyka Azure. Dzienniki infrastruktury diagnostycznej są przydatne do rozwiązywania problemów z samym systemem diagnostycznym. Atrybuty opcjonalne to: - scheduledTransferLogLevelFilter — konfiguruje minimalny poziom ważności zebranych dzienników. - scheduledTransferPeriod — interwał między zaplanowanym transferem do magazynu zaokrąglonym do najbliższej minuty. Wartość to XML "Duration Data Type" (Typ danych czasu trwania). |
Katalogi | Zobacz opis gdzie indziej na tej stronie. |
EtwProviders | Zobacz opis gdzie indziej na tej stronie. |
Metryki | Zobacz opis gdzie indziej na tej stronie. |
Liczniki wydajności | Zobacz opis gdzie indziej na tej stronie. |
WindowsEventLog | Zobacz opis gdzie indziej na tej stronie. |
DockerSources | Zobacz opis gdzie indziej na tej stronie. |
CrashDumps, element
Drzewo: root — DiagnosticsConfiguration — PublicConfig — WadCFG — DiagnosticMonitorConfiguration — CrashDumps
Włącz zbieranie zrzutów awaryjnych.
Atrybuty | opis |
---|---|
containerName | Opcjonalny. Nazwa kontenera obiektów blob na koncie usługi Azure Storage do przechowywania zrzutów awaryjnych. |
crashDumpType | Opcjonalny. Konfiguruje Diagnostyka Azure do zbierania mini lub pełnych zrzutów awaryjnych. |
directoryQuotaPercentage | Opcjonalny. Konfiguruje wartość procentową ogólnej wartościQuotaInMB, która ma być zarezerwowana dla zrzutów awaryjnych na maszynie wirtualnej. |
Elementy podrzędne | opis |
---|---|
CrashDumpConfiguration | Wymagany. Definiuje wartości konfiguracji dla każdego procesu. Wymagany jest również następujący atrybut: processName — nazwa procesu, dla którego chcesz Diagnostyka Azure zebrać zrzut awaryjny. |
Katalogi, element
Drzewo: root — DiagnosticsConfiguration — PublicConfig — WadCFG — DiagnosticMonitorConfiguration — Katalogi
Włącza kolekcję zawartości katalogu, dzienniki żądań dostępu nieudanych usług IIS i/lub dzienniki usług IIS.
Opcjonalny atrybut scheduledTransferPeriod . Zobacz wyjaśnienie wcześniej.
Elementy podrzędne | opis |
---|---|
Dzienniki usług IIS | Dołączenie tego elementu w konfiguracji umożliwia zbieranie dzienników usług IIS: containerName — nazwa kontenera obiektów blob na koncie usługi Azure Storage do przechowywania dzienników usług IIS. |
FailedRequestLogs | Dołączenie tego elementu w konfiguracji umożliwia zbieranie dzienników dotyczących żądań, które zakończyły się niepowodzeniem w witrynie lub aplikacji usług IIS. Należy również włączyć opcje śledzenia w systemie . Serwer sieci Web w pliku Web.config. |
Źródła danych | Lista katalogów do monitorowania. |
DataSources, element
Drzewo: root — DiagnosticsConfiguration — PublicConfig — WadCFG — DiagnosticMonitorConfiguration — Katalogi — Źródła danych
Lista katalogów do monitorowania.
Elementy podrzędne | opis |
---|---|
DirectoryConfiguration | Wymagany. Wymagany atrybut: containerName — nazwa kontenera obiektów blob na koncie usługi Azure Storage, który ma być używany do przechowywania plików dziennika. |
DirectoryConfiguration, element
Drzewo: root — DiagnosticsConfiguration — PublicConfig — WadCFG — DiagnosticMonitorConfiguration — Katalogi — DataSources — DirectoryConfiguration
Może zawierać element Absolute lub LocalResource , ale nie oba te elementy.
Elementy podrzędne | opis |
---|---|
Absolutny | Ścieżka bezwzględna do katalogu do monitorowania. Wymagane są następujące atrybuty: - Ścieżka — ścieżka bezwzględna do katalogu do monitorowania. - expandEnvironment — określa, czy zmienne środowiskowe w ścieżce są rozwinięte. |
LocalResource | Ścieżka względem zasobu lokalnego do monitorowania. Wymagane atrybuty to: - Nazwa — zasób lokalny zawierający katalog do monitorowania - relativePath — ścieżka względna względem nazwy zawierającej katalog do monitorowania |
EtwProviders, element
Drzewo: root — DiagnosticsConfiguration — PublicConfig — WadCFG — DiagnosticMonitorConfiguration — EtwProviders
Konfiguruje zbieranie zdarzeń ETW od dostawców opartych na manifeście EventSource i/lub ETW.
Elementy podrzędne | opis |
---|---|
EtwEventSourceProviderConfiguration | Konfiguruje zbieranie zdarzeń generowanych na podstawie klasy EventSource. Wymagany atrybut: provider — nazwa klasy zdarzenia EventSource. Atrybuty opcjonalne to: - scheduledTransferLogLevelFilter — minimalny poziom ważności do przeniesienia na konto magazynu. - scheduledTransferPeriod — interwał między zaplanowanym transferem do magazynu zaokrąglonym do najbliższej minuty. Wartość to XML "Duration Data Type" (Typ danych czasu trwania). |
EtwManifestProviderConfiguration | Wymagany atrybut: provider — identyfikator GUID dostawcy zdarzeń Atrybuty opcjonalne to: - scheduledTransferLogLevelFilter — minimalny poziom ważności do przeniesienia na konto magazynu. - scheduledTransferPeriod — interwał między zaplanowanym transferem do magazynu zaokrąglonym do najbliższej minuty. Wartość to XML "Duration Data Type" (Typ danych czasu trwania). |
EtwEventSourceProviderConfiguration, element
Drzewo: root — DiagnosticsConfiguration — PublicConfig — WadCFG — DiagnosticMonitorConfiguration — EtwProviders — EtwEventSourceProviderConfiguration
Konfiguruje zbieranie zdarzeń generowanych na podstawie klasy EventSource.
Elementy podrzędne | opis |
---|---|
DefaultEvents | Opcjonalny atrybut: eventDestination — nazwa tabeli do przechowywania zdarzeń w |
Zdarzenie | Wymagany atrybut: id — identyfikator zdarzenia. Opcjonalny atrybut: eventDestination — nazwa tabeli do przechowywania zdarzeń w |
EtwManifestProviderConfiguration, element
Drzewo: root — DiagnosticsConfiguration — PublicConfig — WadCFG — DiagnosticMonitorConfiguration — EtwProviders — EtwManifestProviderConfiguration
Elementy podrzędne | opis |
---|---|
DefaultEvents | Opcjonalny atrybut: eventDestination — nazwa tabeli do przechowywania zdarzeń w |
Zdarzenie | Wymagany atrybut: id — identyfikator zdarzenia. Opcjonalny atrybut: eventDestination — nazwa tabeli do przechowywania zdarzeń w |
Metrics, element
Drzewo: root — DiagnosticsConfiguration — PublicConfig — WadCFG — DiagnosticMonitorConfiguration — Metryki
Umożliwia wygenerowanie tabeli liczników wydajności zoptymalizowanej pod kątem szybkich zapytań. Każdy licznik wydajności zdefiniowany w elemecie PerformanceCounters jest przechowywany w tabeli Metrics (Metryki) oprócz tabeli Licznik wydajności.
Atrybut resourceId jest wymagany. Identyfikator zasobu maszyny wirtualnej lub zestawu skalowania maszyn wirtualnych wdrażanych Diagnostyka Azure. Pobierz identyfikator resourceID z witryny Azure Portal. Wybierz pozycję Przeglądaj -Grupy zasobów -><Name.>> Kliknij kafelek Właściwości i skopiuj wartość z pola IDENTYFIKATOR. Ta właściwość resourceID służy zarówno do wysyłania metryk niestandardowych, jak i dodawania właściwości resourceID do danych wysyłanych do usługi Event Hubs. Należy pamiętać, że należy dodać właściwość resourceId w elemecie Metrics , jeśli zdarzenia przekazane do usługi Event Hubs mają identyfikator zasobu.
Elementy podrzędne | opis |
---|---|
Metryka Agregacja | Wymagany atrybut: scheduledTransferPeriod — interwał między zaplanowanym transferem do magazynu zaokrąglonym do najbliższej minuty. Wartość to XML "Duration Data Type" (Typ danych czasu trwania). |
PerformanceCounters, element
Drzewo: root — DiagnosticsConfiguration — PublicConfig — WadCFG — DiagnosticMonitorConfiguration — PerformanceCounters
Włącza zbieranie liczników wydajności.
Opcjonalny atrybut:
Opcjonalny atrybut scheduledTransferPeriod . Zobacz wyjaśnienie wcześniej.
Element podrzędny | opis |
---|---|
PerformanceCounterConfiguration | Wymagane są następujące atrybuty: - counterSpecifier — nazwa licznika wydajności. Na przykład \Processor(_Total)\% Processor Time . Aby uzyskać listę liczników wydajności na hoście, uruchom polecenie typeperf .- sampleRate — częstotliwość próbkowania licznika. Opcjonalny atrybut: unit — jednostka miary licznika. Wartości są dostępne w klasie UnitType |
Zlewozmywaki | Dodano w wersji 1.5. Opcjonalny. Wskazuje lokalizację ujścia, aby również wysyłać dane diagnostyczne. Na przykład usługa Azure Monitor lub Event Hubs. Należy pamiętać, że należy dodać właściwość resourceId w elemecie Metrics , jeśli zdarzenia przekazane do usługi Event Hubs mają identyfikator zasobu. |
WindowsEventLog, element
Drzewo: root — DiagnosticsConfiguration — PublicConfig — WadCFG — DiagnosticMonitorConfiguration — WindowsEventLog
Włącza kolekcję dzienników zdarzeń systemu Windows.
Opcjonalny atrybut scheduledTransferPeriod . Zobacz wyjaśnienie wcześniej.
Element podrzędny | opis |
---|---|
DataSource | Dzienniki zdarzeń systemu Windows do zbierania. Wymagany atrybut: name — zapytanie XPath opisujące zdarzenia systemu Windows do zebrania. Na przykład: Application!*[System[(Level <=3)]], System!*[System[(Level <=3)]], System!*[System[Provider[@Name='Microsoft Antimalware']]], Security!*[System[(Level <= 3)] Aby zebrać wszystkie zdarzenia, określ wartość "*" |
Zlewozmywaki | Dodano w wersji 1.5. Opcjonalny. Wskazuje lokalizację ujścia, aby również wysyłać dane diagnostyczne dla wszystkich elementów podrzędnych obsługujących ujścia. Przykład ujścia to Application Insights lub Event Hubs. |
Logs, element
Drzewo: root — DiagnosticsConfiguration — PublicConfig — WadCFG — DiagnosticMonitorConfiguration — Dzienniki
Wersja 1.0 i 1.1. Brak w wersji 1.2. Dodano ponownie w wersji 1.3.
Definiuje konfigurację buforu dla podstawowych dzienników platformy Azure.
Atrybut | Type | Opis |
---|---|---|
bufferQuotaInMB | unsignedInt | Opcjonalny. Określa maksymalną ilość magazynu systemu plików, która jest dostępna dla określonych danych. Wartość domyślna to 0. |
scheduledTransferLogLevelFilter | string | Opcjonalny. Określa minimalny poziom ważności dla wpisów dziennika, które są przenoszone. Wartość domyślna to Niezdefiniowana, która przesyła wszystkie dzienniki. Inne możliwe wartości (w kolejności od większości do najmniejszych informacji) to Pełne, Informacje, Ostrzeżenie, Błąd i Krytyczne. |
scheduledTransferPeriod | czas trwania | Opcjonalny. Określa interwał między zaplanowanymi transferami danych zaokrąglony do najbliższej minuty. Wartość domyślna to PT0S. |
Zlewozmywaki | string | Dodano w wersji 1.5. Opcjonalny. Wskazuje lokalizację ujścia, aby również wysyłać dane diagnostyczne. Na przykład usługa Application Insights lub usługa Event Hubs. Należy pamiętać, że należy dodać właściwość resourceId w elemecie Metrics , jeśli zdarzenia przekazane do usługi Event Hubs mają identyfikator zasobu. |
DockerSources
Drzewo: root — DiagnosticsConfiguration — PublicConfig — WadCFG — DiagnosticMonitorConfiguration — DockerSources
Dodano w wersji 1.9.
Nazwa elementu | opis |
---|---|
Statystyki | Informuje system o zbieraniu statystyk dla kontenerów platformy Docker |
SinksConfig, element
Drzewo: root — DiagnosticsConfiguration — PublicConfig — WadCFG — SinksConfig
Lista lokalizacji do wysyłania danych diagnostycznych i konfiguracja skojarzona z tymi lokalizacjami.
Nazwa elementu | opis |
---|---|
Zlew | Zobacz opis gdzie indziej na tej stronie. |
Element ujścia
Drzewo: root — DiagnosticsConfiguration — PublicConfig — WadCFG — SinksConfig — SinksConfig
Dodano element w wersji 1.5.
Definiuje lokalizacje do wysyłania danych diagnostycznych do. Na przykład usługa Application Insights.
Atrybut | Type | opis |
---|---|---|
name | string | Ciąg identyfikujący nazwę ujścia. |
Element | Type | Opis |
---|---|---|
Application Insights | string | Używane tylko podczas wysyłania danych do usługi Application Insights. Zawiera klucz instrumentacji dla aktywnego konta usługi Application Insights, do którego masz dostęp. |
Kanały | string | Jeden dla każdego dodatkowego filtrowania strumienia |
Channel, element
Drzewo: Root — DiagnosticsConfiguration — PublicConfig — WadCFG — SinksConfig — Sinks — Kanały
Dodano element w wersji 1.5.
Definiuje filtry strumieni danych dziennika przechodzących przez ujście.
Element | Type | Opis |
---|---|---|
Kanał | string | Zobacz opis gdzie indziej na tej stronie. |
Element kanału
Drzewo: root — DiagnosticsConfiguration — PublicConfig — WadCFG — SinksConfig — Sinks — Kanały — Kanał
Dodano element w wersji 1.5.
Definiuje lokalizacje do wysyłania danych diagnostycznych do. Na przykład usługa Application Insights.
Atrybuty | Type | Opis |
---|---|---|
logLevel | string | Określa minimalny poziom ważności dla wpisów dziennika, które są przenoszone. Wartość domyślna to Niezdefiniowana, która przesyła wszystkie dzienniki. Inne możliwe wartości (w kolejności od większości do najmniejszych informacji) to Pełne, Informacje, Ostrzeżenie, Błąd i Krytyczne. |
name | string | Unikatowa nazwa kanału do odwoływania się do |
PrivateConfig, element
Drzewo: root — DiagnosticsConfiguration — PrivateConfig
Dodano element w wersji 1.3.
Opcjonalnie
Przechowuje prywatne szczegóły konta magazynu (nazwę, klucz i punkt końcowy). Te informacje są wysyłane do maszyny wirtualnej, ale nie można ich pobrać.
Elementy podrzędne | opis |
---|---|
StorageAccount | Konto magazynu do użycia. Wymagane są następujące atrybuty - name — nazwa konta magazynu. - key — klucz do konta magazynu. - endpoint — punkt końcowy umożliwiający uzyskanie dostępu do konta magazynu. -sasToken (dodano 1.8.1) — można określić token SAS zamiast klucza konta magazynu w prywatnej konfiguracji. Jeśli zostanie podany, klucz konta magazynu zostanie zignorowany. Wymagania dotyczące tokenu SAS: — Obsługuje tylko token SAS konta - b, typy usług t są wymagane. - a, c, u, w uprawnienia są wymagane. - C, typy zasobów o są wymagane. — Obsługuje tylko protokół HTTPS - Czas rozpoczęcia i wygaśnięcia musi być prawidłowy. |
IsEnabled, element
Drzewo: root — DiagnosticsConfiguration — IsEnabled
Wartość logiczna. Użyj true
polecenia , aby włączyć diagnostykę lub false
wyłączyć diagnostykę.
Przykładowa konfiguracja
Poniżej przedstawiono pełną przykładową konfigurację rozszerzenia diagnostyki systemu Windows pokazaną zarówno w formacie JSON, jak i XML.
JSON
Elementy PublicConfig i PrivateConfig są oddzielone, ponieważ w większości przypadków użycia JSON są przekazywane jako różne zmienne. Te przypadki obejmują szablony usługi Resource Manager, program PowerShell i program Visual Studio.
Uwaga
Definicja ujścia publicznej konfiguracji usługi Azure Monitor ma dwie właściwości, resourceId i region. Są one wymagane tylko w przypadku klasycznych maszyn wirtualnych i klasycznych usług w chmurze. Właściwość regionu nie powinna być używana dla innych zasobów. Właściwość resourceId jest używana na maszynach wirtualnych usługi ARM do wypełniania pola resourceID w dziennikach przekazanych do usługi Event Hubs.
"PublicConfig" {
"WadCfg": {
"DiagnosticMonitorConfiguration": {
"overallQuotaInMB": 10000,
"DiagnosticInfrastructureLogs": {
"scheduledTransferLogLevelFilter": "Error"
},
"PerformanceCounters": {
"scheduledTransferPeriod": "PT1M",
"sinks": "AzureMonitorSink",
"PerformanceCounterConfiguration": [
{
"counterSpecifier": "\\Processor(_Total)\\% Processor Time",
"sampleRate": "PT1M",
"unit": "percent"
}
]
},
"Directories": {
"scheduledTransferPeriod": "PT5M",
"IISLogs": {
"containerName": "iislogs"
},
"FailedRequestLogs": {
"containerName": "iisfailed"
},
"DataSources": [
{
"containerName": "mynewprocess",
"Absolute": {
"path": "C:\\MyNewProcess",
"expandEnvironment": false
}
},
{
"containerName": "badapp",
"Absolute": {
"path": "%SYSTEMDRIVE%\\BadApp",
"expandEnvironment": true
}
},
{
"containerName": "goodapp",
"LocalResource": {
"relativePath": "..\\PeanutButter",
"name": "Skippy"
}
}
]
},
"EtwProviders": {
"sinks": "",
"EtwEventSourceProviderConfiguration": [
{
"scheduledTransferPeriod": "PT5M",
"provider": "MyProviderClass",
"Event": [
{
"id": 0
},
{
"id": 1,
"eventDestination": "errorTable"
}
],
"DefaultEvents": {
}
}
],
"EtwManifestProviderConfiguration": [
{
"scheduledTransferPeriod": "PT2M",
"scheduledTransferLogLevelFilter": "Information",
"provider": "5974b00b-84c2-44bc-9e58-3a2451b4e3ad",
"Event": [
{
"id": 0
}
],
"DefaultEvents": {
}
}
]
},
"WindowsEventLog": {
"scheduledTransferPeriod": "PT5M",
"DataSource": [
{
"name": "System!*[System[Provider[@Name='Microsoft Antimalware']]]"
},
{
"name": "System!*[System[Provider[@Name='NTFS'] and (EventID=55)]]"
},
{
"name": "System!*[System[Provider[@Name='disk'] and (EventID=7 or EventID=52 or EventID=55)]]"
}
]
},
"Logs": {
"scheduledTransferPeriod": "PT1M",
"scheduledTransferLogLevelFilter": "Verbose",
"sinks": "ApplicationInsights.AppLogs"
},
"CrashDumps": {
"directoryQuotaPercentage": 30,
"dumpType": "Mini",
"containerName": "wad-crashdumps",
"CrashDumpConfiguration": [
{
"processName": "mynewprocess.exe"
},
{
"processName": "badapp.exe"
}
]
}
},
"SinksConfig": {
"Sink": [
{
"name": "AzureMonitorSink",
"AzureMonitor":
{
"ResourceId": "{insert resourceId if a classic VM or cloud service, else property not needed}",
"Region": "{insert Azure region of resource if a classic VM or cloud service, else property not needed}"
}
},
{
"name": "ApplicationInsights",
"ApplicationInsights": "{Insert InstrumentationKey}",
"Channels": {
"Channel": [
{
"logLevel": "Error",
"name": "Errors"
},
{
"logLevel": "Verbose",
"name": "AppLogs"
}
]
}
},
{
"name": "EventHub",
"EventHub": {
"Url": "https://myeventhub-ns.servicebus.windows.net/diageventhub",
"SharedAccessKeyName": "SendRule",
"usePublisherId": false
}
},
{
"name": "secondaryEventHub",
"EventHub": {
"Url": "https://myeventhub-ns.servicebus.windows.net/secondarydiageventhub",
"SharedAccessKeyName": "SendRule",
"usePublisherId": false
}
},
{
"name": "secondaryStorageAccount",
"StorageAccount": {
"name": "secondarydiagstorageaccount",
"endpoint": "https://core.windows.net"
}
}
]
}
},
"StorageAccount": "diagstorageaccount",
"StorageType": "TableAndBlob"
}
Uwaga
Definicja ujścia prywatnej konfiguracji usługi Azure Monitor ma dwie właściwości: PrincipalId i Secret. Są one wymagane tylko w przypadku klasycznych maszyn wirtualnych i klasycznych usług w chmurze. Te właściwości nie powinny być używane dla innych zasobów.
"PrivateConfig" {
"storageAccountName": "diagstorageaccount",
"storageAccountKey": "{base64 encoded key}",
"storageAccountEndPoint": "https://core.windows.net",
"storageAccountSasToken": "{sas token}",
"EventHub": {
"Url": "https://myeventhub-ns.servicebus.windows.net/diageventhub",
"SharedAccessKeyName": "SendRule",
"SharedAccessKey": "{base64 encoded key}"
},
"AzureMonitorAccount": {
"ServicePrincipalMeta": {
"PrincipalId": "{Insert service principal client Id}",
"Secret": "{Insert service principal client secret}"
}
},
"SecondaryStorageAccounts": {
"StorageAccount": [
{
"name": "secondarydiagstorageaccount",
"key": "{base64 encoded key}",
"endpoint": "https://core.windows.net",
"sasToken": "{sas token}"
}
]
},
"SecondaryEventHubs": {
"EventHub": [
{
"Url": "https://myeventhub-ns.servicebus.windows.net/secondarydiageventhub",
"SharedAccessKeyName": "SendRule",
"SharedAccessKey": "{base64 encoded key}"
}
]
}
}
XML
<?xml version="1.0" encoding="utf-8"?>
<DiagnosticsConfiguration xmlns="http://schemas.microsoft.com/ServiceHosting/2010/10/DiagnosticsConfiguration">
<PublicConfig>
<WadCfg>
<DiagnosticMonitorConfiguration overallQuotaInMB="10000">
<PerformanceCounters scheduledTransferPeriod="PT1M" sinks="AzureMonitorSink">
<PerformanceCounterConfiguration counterSpecifier="\Processor(_Total)\% Processor Time" sampleRate="PT1M" unit="percent" />
</PerformanceCounters>
<Directories scheduledTransferPeriod="PT5M">
<IISLogs containerName="iislogs" />
<FailedRequestLogs containerName="iisfailed" />
<DataSources>
<DirectoryConfiguration containerName="mynewprocess">
<Absolute path="C:\MyNewProcess" expandEnvironment="false" />
</DirectoryConfiguration>
<DirectoryConfiguration containerName="badapp">
<Absolute path="%SYSTEMDRIVE%\BadApp" expandEnvironment="true" />
</DirectoryConfiguration>
<DirectoryConfiguration containerName="goodapp">
<LocalResource name="Skippy" relativePath="..\PeanutButter"/>
</DirectoryConfiguration>
</DataSources>
</Directories>
<EtwProviders>
<EtwEventSourceProviderConfiguration
provider="MyProviderClass"
scheduledTransferPeriod="PT5M">
<Event id="0"/>
<Event id="1" eventDestination="errorTable"/>
<DefaultEvents />
</EtwEventSourceProviderConfiguration>
<EtwManifestProviderConfiguration provider="5974b00b-84c2-44bc-9e58-3a2451b4e3ad" scheduledTransferLogLevelFilter="Information" scheduledTransferPeriod="PT2M">
<Event id="0"/>
<DefaultEvents eventDestination="defaultTable"/>
</EtwManifestProviderConfiguration>
</EtwProviders>
<WindowsEventLog scheduledTransferPeriod="PT5M">
<DataSource name="System!*[System[Provider[@Name='Microsoft Antimalware']]]"/>
<DataSource name="System!*[System[Provider[@Name='NTFS'] and (EventID=55)]]" />
<DataSource name="System!*[System[Provider[@Name='disk'] and (EventID=7 or EventID=52 or EventID=55)]]" />
</WindowsEventLog>
<Logs bufferQuotaInMB="1024"
scheduledTransferPeriod="PT1M"
scheduledTransferLogLevelFilter="Verbose"
sinks="ApplicationInsights.AppLogs"/> <!-- sinks attribute added in 1.5 -->
<CrashDumps containerName="wad-crashdumps" directoryQuotaPercentage="30" dumpType="Mini">
<CrashDumpConfiguration processName="mynewprocess.exe" />
<CrashDumpConfiguration processName="badapp.exe"/>
</CrashDumps>
<DockerSources> <!-- Added in 1.9 -->
<Stats enabled="true" sampleRate="PT1M" scheduledTransferPeriod="PT1M" />
</DockerSources>
</DiagnosticMonitorConfiguration>
<SinksConfig> <!-- Added in 1.5 -->
<Sink name="AzureMonitorSink">
<AzureMonitor> <!-- Added in 1.11 -->
<resourceId>{insert resourceId}</ResourceId> <!-- Parameter only needed for classic VMs and Classic Cloud Services, exclude VMSS and Resource Manager VMs-->
<Region>{insert Azure region of resource}</Region> <!-- Parameter only needed for classic VMs and Classic Cloud Services, exclude VMSS and Resource Manager VMs -->
</AzureMonitor>
</Sink>
<Sink name="ApplicationInsights">
<ApplicationInsights>{Insert InstrumentationKey}</ApplicationInsights>
<Channels>
<Channel logLevel="Error" name="Errors" />
<Channel logLevel="Verbose" name="AppLogs" />
</Channels>
</Sink>
<Sink name="EventHub"> <!-- Added in 1.7 -->
<EventHub Url="https://myeventhub-ns.servicebus.windows.net/diageventhub" SharedAccessKeyName="SendRule" usePublisherId="false" />
</Sink>
<Sink name="secondaryEventHub"> <!-- Added in 1.7 -->
<EventHub Url="https://myeventhub-ns.servicebus.windows.net/secondarydiageventhub" SharedAccessKeyName="SendRule" usePublisherId="false" />
</Sink>
<Sink name="secondaryStorageAccount"> <!-- Added in 1.7 -->
<StorageAccount name="secondarydiagstorageaccount" endpoint="https://core.windows.net" />
</Sink>
</SinksConfig>
</WadCfg>
<StorageAccount>diagstorageaccount</StorageAccount>
<StorageType>TableAndBlob</StorageType> <!-- Added in 1.8 -->
</PublicConfig>
<PrivateConfig> <!-- Added in 1.3 -->
<StorageAccount name="" key="" endpoint="" sasToken="{sas token}" /> <!-- sasToken in Private config added in 1.8.1 -->
<EventHub Url="https://myeventhub-ns.servicebus.windows.net/diageventhub" SharedAccessKeyName="SendRule" SharedAccessKey="{base64 encoded key}" />
<AzureMonitorAccount>
<ServicePrincipalMeta> <!-- Added in 1.11; only needed for classic VMs and Classic cloud services -->
<PrincipalId>{Insert service principal clientId}</PrincipalId>
<Secret>{Insert service principal client secret}</Secret>
</ServicePrincipalMeta>
</AzureMonitorAccount>
<SecondaryStorageAccounts>
<StorageAccount name="secondarydiagstorageaccount" key="{base64 encoded key}" endpoint="https://core.windows.net" sasToken="{sas token}" />
</SecondaryStorageAccounts>
<SecondaryEventHubs>
<EventHub Url="https://myeventhub-ns.servicebus.windows.net/secondarydiageventhub" SharedAccessKeyName="SendRule" SharedAccessKey="{base64 encoded key}" />
</SecondaryEventHubs>
</PrivateConfig>
<IsEnabled>true</IsEnabled>
</DiagnosticsConfiguration>
Uwaga
Definicja ujścia publicznej konfiguracji usługi Azure Monitor ma dwie właściwości, resourceId i region. Są one wymagane tylko w przypadku klasycznych maszyn wirtualnych i klasycznych usług w chmurze. Te właściwości nie powinny być używane w przypadku maszyn wirtualnych usługi Resource Manager ani zestawów skalowania maszyn wirtualnych. Istnieje również dodatkowy element prywatnej konfiguracji dla ujścia usługi Azure Monitor, który przekazuje identyfikator podmiotu zabezpieczeń i wpis tajny. Jest to wymagane tylko w przypadku klasycznych maszyn wirtualnych i klasycznych usług w chmurze. W przypadku maszyn wirtualnych i zestawów skalowania maszyn wirtualnych usługi Resource Manager można wykluczyć definicję usługi Azure Monitor w ramach prywatnego elementu konfiguracji.