Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ten artykuł zawiera przykładowe definicje reguł zbierania danych (DCR) dla typowych scenariuszy zbierania danych w usłudze Azure Monitor. Można zmodyfikować te definicje DCR zgodnie z wymaganiami środowiska i utworzyć regułę zbierania danych, korzystając ze wskazówek w artykule Tworzenie lub edytowanie reguły zbierania danych. Możesz również użyć i połączyć podstawowe strategie w tych przykładach, aby utworzyć DCR dla innych scenariuszy.
Te przykłady wymagają znajomości struktury DCR zgodnie z opisem w temacie Struktura reguły zbierania danych w usłudze Azure Monitor. Kilka można skonfigurować przy użyciu witryny Azure Portal bez żadnej szczegółowej wiedzy na temat struktury DCR. Użyj tych przykładów jako punktu wyjścia, jeśli chcesz zarządzać DCR przy użyciu metod spoza portalu Azure, takich jak ARM, CLI i PowerShell. Możesz potrzebować użyć tych sposobów do edytowania istniejących DCR-ów w celu zaimplementowania zaawansowanych funkcji, takich jak przekształcenia.
Każdy z tych przykładów koncentruje się na konkretnym źródle danych, chociaż można połączyć wiele źródeł danych różnych typów w jednym DCR. Dołącz przepływ danych dla każdego z nich, aby wysłać dane do odpowiedniego miejsca docelowego. Nie ma różnicy funkcjonalnej między łączeniem wielu źródeł danych w jednym kontrolerze domeny lub tworzeniem oddzielnych kontrolerów domeny dla każdego źródła danych. Wybór zależy od wymagań dotyczących zarządzania zbieraniem danych i monitorowania ich.
Uwaga / Notatka
Przykłady przedstawione w tym artykule zawierają źródłowy kod JSON wymagany do utworzenia DCR. Po utworzeniu reguła zbierania danych (DCR) będzie miała dodatkowe właściwości zgodnie z opisem w Strukturze reguły zbierania danych w usłudze Azure Monitor.
Zbieranie danych klienta maszyny wirtualnej
W poniższych przykładach przedstawiono definicje dcR do zbierania różnych rodzajów danych z maszyn wirtualnych przy użyciu agenta usługi Azure Monitor. Te DCR można utworzyć przy użyciu portalu Azure, jak opisano w Zbieranie danych z klienta maszyny wirtualnej za pomocą usługi Azure Monitor.
Zdarzenia systemu Windows
DCR-y dla zdarzeń systemu Windows używają windowsEventLogs
jako źródła danych ze strumieniem przychodzącym Microsoft-Event
. Schemat tego strumienia jest znany, więc nie trzeba go definiować w dataSources
sekcji. Zdarzenia do zbierania są określone we właściwości xPathQueries
. Zobacz Zbieranie zdarzeń systemu Windows za pomocą agenta usługi Azure Monitor, aby uzyskać więcej informacji na temat używania programu XPaths do filtrowania określonych danych, które chcesz zebrać. Aby rozpocząć, możesz użyć wskazówek w tym artykule, aby utworzyć kontroler domeny przy użyciu witryny Azure Portal, a następnie sprawdzić kod JSON, korzystając ze wskazówek w definicji kontrolera domeny.
Można dodać przekształcenie do właściwości dataFlows
kolumn obliczeniowych oraz dalsze filtrowanie danych, ale należy używać XPaths do filtrowania danych w agencie w jak największym zakresie w celu zwiększenia wydajności i uniknięcia potencjalnych opłat za konsumpcję danych.
Następujący przykładowy DCR wykonuje następujące działania:
- Zbiera zdarzenia aplikacji i systemu Windows o poziomie błędu Ostrzeżenie, Błąd lub Krytyczny.
- Wysyła dane do tabeli zdarzeń w obszarze roboczym.
- Używa prostego przekształcenia elementu
source
, które nie powoduje zmiany danych przychodzących.
{
"location": "eastus",
"properties": {
"dataSources": {
"windowsEventLogs": [
{
"name": "eventLogsDataSource",
"streams": [
"Microsoft-Event"
],
"xPathQueries": [
"System!*[System[(Level = 1 or Level = 2 or Level = 3)]]",
"Application!*[System[(Level = 1 or Level = 2 or Level = 3)]]"
]
}
]
},
"destinations": {
"logAnalytics": [
{
"workspaceResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/my-resource-group/providers/Microsoft.OperationalInsights/workspaces/my-workspace",
"name": "centralWorkspace"
}
]
},
"dataFlows": [
{
"streams": [
"Microsoft-Event"
],
"destinations": [
"centralWorkspace"
],
"transformKql": "source",
"outputStream": "Microsoft-Event"
}
]
}
}
Zdarzenia dziennika systemu
DCR dla zdarzeń Syslog używają źródła danych syslog
ze strumieniem przychodzącym Microsoft-Syslog
. Schemat tego strumienia jest znany, więc nie trzeba go definiować w dataSources
sekcji. Zdarzenia do zebrania są określone we właściwościach facilityNames
i logLevels
. Aby uzyskać więcej informacji, zobacz Zbieranie zdarzeń dziennika systemowego za pomocą agenta usługi Azure Monitor. Aby rozpocząć, możesz użyć wskazówek w tym artykule, aby utworzyć kontroler domeny przy użyciu witryny Azure Portal, a następnie sprawdzić kod JSON, korzystając ze wskazówek w definicji kontrolera domeny.
Możesz dodać transformację do właściwości dataFlows
dla dodatkowej funkcjonalności i dalszego filtrowania danych, ale należy używać facilityNames
i logLevels
do filtrowania, aby uzyskać jak największą wydajność oraz uniknąć potencjalnych opłat za wprowadzenie danych.
Następujący przykładowy DCR wykonuje następujące działania:
- Zbiera wszystkie zdarzenia z
cron
obiektu. - Zbiera zdarzenia od
Warning
oraz wyższe zdarzenia z obiektówsyslog
idaemon
. - Wysyła dane do tabeli Syslog w obszarze roboczym.
- Używa prostego przekształcenia elementu
source
, które nie powoduje zmiany danych przychodzących.
{
"location": "eastus",
"properties": {
"dataSources": {
"syslog": [
{
"name": "cronSyslog",
"streams": [
"Microsoft-Syslog"
],
"facilityNames": [
"cron"
],
"logLevels": [
"Debug",
"Info",
"Notice",
"Warning",
"Error",
"Critical",
"Alert",
"Emergency"
]
},
{
"name": "syslogBase",
"streams": [
"Microsoft-Syslog"
],
"facilityNames": [
"daemon",
"syslog"
],
"logLevels": [
"Warning",
"Error",
"Critical",
"Alert",
"Emergency"
]
}
]
},
"destinations": {
"logAnalytics": [
{
"workspaceResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/my-resource-group/providers/Microsoft.OperationalInsights/workspaces/my-workspace",
"name": "centralWorkspace"
}
]
},
"dataFlows": [
{
"streams": [
"Microsoft-Syslog"
],
"destinations": [
"centralWorkspace"
],
"transformKql": "source",
"outputStream": "Microsoft-Syslog"
}
]
}
}
Liczniki wydajności
DCR dla danych wydajności używają performanceCounters
źródła danych z przychodzącymi Microsoft-InsightsMetrics
i Microsoft-Perf
strumieniami.
Microsoft-InsightsMetrics
służy do wysyłania danych do metryk usługi Azure Monitor, natomiast Microsoft-Perf
służy do wysyłania danych do obszaru roboczego usługi Log Analytics. Jeśli wysyłasz dane wydajności do obu miejsc docelowych, możesz uwzględnić oba źródła danych w DCR. Schematy tych strumieni są znane, więc nie trzeba ich definiować w dataSources
sekcji.
Liczniki wydajności, które należy zbierać, są określone we właściwości counterSpecifiers
. Aby uzyskać więcej informacji, zobacz Zbieranie liczników wydajności za pomocą agenta usługi Azure Monitor. Aby rozpocząć, możesz użyć wskazówek w tym artykule, aby utworzyć kontroler domeny przy użyciu witryny Azure Portal, a następnie sprawdzić kod JSON, korzystając ze wskazówek w definicji kontrolera domeny.
Możesz dodać przekształcenie do właściwości dataFlows
dla Microsoft-Perf
w celu uzyskania dodatkowych funkcji i dalszego filtrowania danych, ale należy wybrać jedynie potrzebne liczniki w counterSpecifiers
, aby zapewnić wydajność i uniknąć potencjalnych opłat za pozyskiwanie.
Następujący przykładowy DCR wykonuje następujące działania:
- Zbiera zestaw liczników wydajności co 60 sekund i kolejny zestaw co 30 sekund.
- Wysyła dane do metryk usługi Azure Monitor i obszaru roboczego usługi Log Analytics.
- Używa prostego przekształcenia elementu
source
, które nie powoduje zmiany danych przychodzących.
{
"location": "eastus",
"properties": {
"dataSources": {
"performanceCounters": [
{
"name": "perfCounterDataSource60",
"streams": [
"Microsoft-Perf",
"Microsoft-InsightsMetrics"
],
"samplingFrequencyInSeconds": 60,
"counterSpecifiers": [
"\\Processor(_Total)\\% Processor Time",
"\\Memory\\Committed Bytes",
"\\LogicalDisk(_Total)\\Free Megabytes",
"\\PhysicalDisk(_Total)\\Avg. Disk Queue Length"
]
},
{
"name": "perfCounterDataSource30",
"streams": [
"Microsoft-Perf"
],
"samplingFrequencyInSeconds": 30,
"counterSpecifiers": [
"\\Process(_Total)\\Thread Count"
]
}
]
},
"destinations": {
"logAnalytics": [
{
"workspaceResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/my-resource-group/providers/Microsoft.OperationalInsights/workspaces/my-workspace",
"name": "centralWorkspace"
}
],
"azureMonitorMetrics":
{
"name": "azureMonitorMetrics-default"
}
},
"dataFlows": [
{
"streams": [
"Microsoft-Perf"
],
"destinations": [
"centralWorkspace"
],
"transformKql": "source",
"outputStream": "Microsoft-Perf"
},
{
"streams": [
"Microsoft-Perf"
],
"destinations": [
"azureMonitorMetrics-default"
],
"outputStream": "Microsoft-InsightsMetrics"
}
]
}
}
Dzienniki tekstowe
DCR-y dla dzienników tekstowych mają logfiles
źródło danych ze szczegółami dotyczącymi dzienników, które mają być zbierane przez agenta. Obejmuje to nazwę strumienia, który musi być zdefiniowany w streamDeclarations
kolumnach danych przychodzących. Obecnie jest to określona lista, jak opisano w Zbieranie dzienników z pliku tekstowego za pomocą agenta Azure Monitor.
Dodaj przekształcenie do dataFlows
właściwości , aby odfiltrować rekordy, których nie chcesz zbierać, i formatować dane w celu dopasowania ich do schematu tabeli docelowej. Typowym scenariuszem jest przeanalizowanie rozdzielonego pliku dziennika do wielu kolumn zgodnie z opisem w Rozdzielone pliki dziennika.
Następujący przykładowy DCR wykonuje następujące działania:
- Zbiera wpisy ze wszystkich plików z rozszerzeniem
.txt
wc:\logs
folderze komputera agenta. - Używa przekształcenia, aby podzielić dane przychodzące na kolumny na podstawie ogranicznika przecinka (
,
). Ta transformacja jest specyficzna dla formatu pliku dziennika i musi być dostosowywana dla plików dziennika z innymi formatami. - Wysyła zebrane dzienniki do niestandardowej tabeli o nazwie
MyTable_CL
. Ta tabela musi już istnieć i mieć kolumny wyprowadzane przez przekształcenie. - Zbiera
FilePath
iComputer
dla dziennika tekstowego zgodnie z opisem w sekcji Przychodzący strumień. Te kolumny muszą również istnieć w tabeli docelowej.
{
"location": "eastus",
"properties": {
"dataCollectionEndpointId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/my-resource-group/providers/Microsoft.Insights/dataCollectionEndpoints/my-dce",
"streamDeclarations": {
"Custom-MyLogFileFormat": {
"columns": [
{
"name": "TimeGenerated",
"type": "datetime"
},
{
"name": "RawData",
"type": "string"
},
{
"name": "FilePath",
"type": "string"
},
{
"name": "Computer",
"type": "string"
}
]
}
},
"dataSources": {
"logFiles": [
{
"streams": [
"Custom-MyLogFileFormat"
],
"filePatterns": [
"C:\\logs\\*.txt"
],
"format": "text",
"settings": {
"text": {
"recordStartTimestampFormat": "ISO 8601"
}
},
"name": "myLogFileFormat-Windows"
}
]
},
"destinations": {
"logAnalytics": [
{
"workspaceResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/my-resource-group/providers/Microsoft.OperationalInsights/workspaces/my-workspace",
"name": "MyDestination"
}
]
},
"dataFlows": [
{
"streams": [
"Custom-MyLogFileFormat"
],
"destinations": [
"MyDestination"
],
"transformKql": "source | project d = split(RawData,\",\") | project TimeGenerated=todatetime(d[0]), Code=toint(d[1]), Severity=tostring(d[2]), Module=tostring(d[3]), Message=tostring(d[4])",
"outputStream": "Custom-MyTable_CL"
}
]
}
}
Dzienniki Json
DCRs dla dzienników Json mają logfiles
źródło danych zawierające szczegółowe informacje dotyczące plików dziennika, które powinny być zbierane przez agenta. Obejmuje to nazwę strumienia, który musi być zdefiniowany w streamDeclarations
kolumnach danych przychodzących. Aby uzyskać więcej informacji, zobacz Zbieranie dzienników z pliku JSON za pomocą agenta usługi Azure Monitor.
Dodaj przekształcenie do dataFlows
właściwości , aby odfiltrować rekordy, których nie chcesz zbierać, i formatować dane w celu dopasowania ich do schematu tabeli docelowej.
Następujący przykładowy DCR wykonuje następujące działania:
- Zbiera wpisy ze wszystkich plików z rozszerzeniem
.json
wc:\logs
folderze komputera agenta. Plik musi być sformatowany w formacie json i mieć kolumny wymienione w deklaracji strumienia. - Wysyła zebrane dzienniki do niestandardowej tabeli o nazwie
MyTable_CL
. Ta tabela musi już istnieć i mieć te same kolumny co strumień przychodzący. Jeśli kolumny nie są zgodne, należy zmodyfikować właściwośćtransformKql
w celu sformatowania danych dla tabeli docelowej.
{
"location": "eastus",
"properties": {
"dataCollectionEndpointId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/my-resource-group/providers/Microsoft.Insights/dataCollectionEndpoints/my-dce",
"streamDeclarations": {
"Custom-Json-stream": {
"columns": [
{
"name": "TimeGenerated",
"type": "datetime"
},
{
"name": "FilePath",
"type": "string"
},
{
"name": "Code",
"type": "int"
},
{
"name": "Module",
"type": "string"
},
{
"name": "Message",
"type": "string"
}
]
}
},
"dataSources": {
"logFiles": [
{
"streams": [
"Custom-Json-stream"
],
"filePatterns": [
"C:\\logs\\*.json"
],
"format": "json",
"name": "MyJsonFile"
}
]
},
"destinations": {
"logAnalytics": [
{
"workspaceResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/my-resource-group/providers/Microsoft.OperationalInsights/workspaces/my-workspace",
"name": "MyDestination"
}
]
},
"dataFlows": [
{
"streams": [
"Custom-Json-stream"
],
"destinations": [
"MyDestination"
],
"transformKql": "source",
"outputStream": "Custom-MyTable_CL"
}
]
}
}
Wysyłanie danych do usługi Event Hubs lub magazynu
Kontrolery domeny wysyłające dane do centrów zdarzeń lub kont magazynu używają tych samych źródeł danych co inne kontrolery domeny, które zbierają dane za pomocą agenta usługi Azure Monitor (AMA), ale mają co najmniej jedno z następujących miejsc docelowych. Aby uzyskać więcej informacji, zobacz Wysyłanie danych do usług Event Hubs i Storage (wersja zapoznawcza).
eventHubsDirect
storageBlobsDirect
storageTablesDirect
Uwaga / Notatka
DCRs wysyłające dane do centrów zdarzeń lub kont przechowywania muszą mieć "kind": "AgentDirectToStore"
Następujący przykładowy DCR wykonuje następujące działania:
- Zbiera liczniki wydajności i zdarzenia systemu Windows z maszyn z systemem Windows za pomocą agenta usługi Azure Monitor (AMA).
- Wysyła dane do centrum zdarzeń, magazynu obiektów blob i magazynu tabel.
{
"location": "eastus",
"kind": "AgentDirectToStore",
"properties": {
"dataSources": {
"performanceCounters": [
{
"streams": [
"Microsoft-Perf"
],
"samplingFrequencyInSeconds": 10,
"counterSpecifiers": [
"\\Process(_Total)\\Working Set - Private",
"\\Memory\\% Committed Bytes In Use",
"\\LogicalDisk(_Total)\\% Free Space",
"\\Network Interface(*)\\Bytes Total/sec"
],
"name": "perfCounterDataSource"
}
],
"windowsEventLogs": [
{
"streams": [
"Microsoft-Event"
],
"xPathQueries": [
"Application!*[System[(Level=2)]]",
"System!*[System[(Level=2)]]"
],
"name": "eventLogsDataSource"
}
]
},
"destinations": {
"eventHubsDirect": [
{
"eventHubResourceId": "/subscriptions/71b36fb6-4fe4-4664-9a7b-245dc62f2930/resourceGroups/my-resource-group/providers/Microsoft.EventHub/namespaces/my-eventhub-namespace/eventhubs/my-eventhub",
"name": "myEh"
}
],
"storageBlobsDirect": [
{
"storageAccountResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/my-resource-group/providers/Microsoft.Storage/storageAccounts/mystorageaccount",
"containerName": "myperfblob",
"name": "PerfBlob"
},
{
"storageAccountResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/my-resource-group/providers/Microsoft.Storage/storageAccounts/mystorageaccount",
"containerName": "myeventblob",
"name": "EventBlob"
}
],
"storageTablesDirect": [
{
"storageAccountResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/my-resource-group/providers/Microsoft.Storage/storageAccounts/mystorageaccount",
"containerName": "myperftable",
"name": "PerfTable"
},
{
"storageAccountResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/my-resource-group/providers/Microsoft.Storage/storageAccounts/mystorageaccount",
"containerName": "mymyeventtable",
"name": "EventTable"
}
]
},
"dataFlows": [
{
"streams": [
"Microsoft-Perf"
],
"destinations": [
"myEh",
"PerfBlob",
"PerfTable"
]
},
{
"streams": [
"Microsoft-Event"
],
"destinations": [
"myEh",
"EventBlob",
"EventTable"
]
},
]
}
}
API do przetwarzania dzienników
Kontrolery domeny dla interfejsu API pozyskiwania dzienników muszą definiować schemat strumienia przychodzącego w streamDeclarations
sekcji definicji kontrolera domeny. Dane przychodzące muszą być sformatowane w formacie JSON ze schematem pasującym do kolumn w tej definicji. Nie jest wymagane przekształcenie, jeśli ten schemat jest zgodny ze schematem tabeli docelowej. Jeśli schematy nie są zgodne, musisz dodać transformację do właściwości dataFlows
w celu sformatowania danych. Aby uzyskać więcej informacji, sprawdź API pozyskiwania dzienników w usłudze Azure Monitor.
Poniższy przykładowy kontroler domeny zawiera następujące szczegóły:
- Wysyła dane do tabeli o nazwie
MyTable_CL
w obszarze roboczym o nazwiemy-workspace
. Przed zainstalowaniem tego kontrolera domeny należy utworzyć tabelę z następującymi kolumnami:- Czas wygenerowania
- Komputer
- DodatkowyKontekst
- ExtendedColumn (zdefiniowany w transformacji)
- Stosuje przekształcenie danych przychodzących w celu sformatowania danych dla tabeli docelowej.
Ważne
Ten przykład nie zawiera właściwości dataCollectionEndpointId
, ponieważ jest ona tworzona automatycznie podczas tworzenia DCR. Wartość tej właściwości jest potrzebna, ponieważ jest to adres URL, do którego aplikacja będzie wysyłać dane. Aby można było utworzyć tę właściwość, DCR musi mieć kind:Direct
. Aby uzyskać więcej informacji, zobacz Właściwości .
{
"location": "eastus",
"kind": "Direct",
"properties": {
"streamDeclarations": {
"Custom-MyTable": {
"columns": [
{
"name": "Time",
"type": "datetime"
},
{
"name": "Computer",
"type": "string"
},
{
"name": "AdditionalContext",
"type": "string"
}
]
}
},
"destinations": {
"logAnalytics": [
{
"workspaceResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/my-resource-group/providers/microsoft.operationalinsights/workspaces/my-workspace",
"name": "LogAnalyticsDest"
}
]
},
"dataFlows": [
{
"streams": [
"Custom-MyTable"
],
"destinations": [
"LogAnalyticsDest"
],
"transformKql": "source | extend jsonContext = parse_json(AdditionalContext) | project TimeGenerated = Time, Computer, AdditionalContext = jsonContext, ExtendedColumn=tostring(jsonContext.CounterName)",
"outputStream": "Custom-MyTable_CL"
}
]
}
}
Przekształcanie przestrzeni roboczej DCR
Przekształcenia DCR dla przestrzeni roboczej mają pustą datasources
sekcję, ponieważ są stosowane do wszystkich danych wysyłanych do obsługiwanych tabel w tej przestrzeni. Musi zawierać tylko jeden wpis dla workspaceResourceId
oraz wpis dla każdej tabeli z przekształceniem w dataFlows
. Musi również mieć wartość "kind": "WorkspaceTransforms"
.
Poniższy przykładowy wniosek o zmianę domeny zawiera następujące szczegóły:
- Przekształcenie tabeli
LAQueryLogs
, która filtruje zapytania dotyczące samej tej tabeli i dodaje kolumnę zawierającą nazwę obszaru roboczego. - Przekształcenie tabeli
Event
, która filtruje zdarzenia informacyjne i usuwa kolumnęParameterXml
. Dotyczy to tylko danych pochodzących z przestarzałego agenta usługi Log Analytics, a nie agenta usługi Azure Monitor, zgodnie z opisem w przekształcaniu przestrzeni roboczych DCR.
{
"kind": "WorkspaceTransforms",
"location": "eastus",
"properties": {
"dataSources": {},
"destinations": {
"logAnalytics": [
{
"workspaceResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/my-resource-group/providers/Microsoft.OperationalInsights/workspaces/my-workspace",
"name": "clv2ws1"
}
]
},
"dataFlows": [
{
"streams": [
"Microsoft-Table-LAQueryLogs"
],
"destinations": [
"clv2ws1"
],
"transformKql": "source | where QueryText !contains 'LAQueryLogs' | extend Context = parse_json(RequestContext) | extend Workspace_CF = tostring(Context['workspaces'][0]) | project-away RequestContext, Context"
},
{
"streams": [
"Microsoft-Table-Event"
],
"destinations": [
"clv2ws1"
],
"transformKql": "source | where EventLevelName in ('Error', 'Critical', 'Warning') | project-away ParameterXml"
}
]
}
}
Wysyłanie danych do wielu tabel
Istnieje wiele powodów, dla których warto wysłać dane z jednego źródła danych do wielu tabel w tym samym obszarze roboczym usługi Log Analytics, w tym z następujących:
- Oszczędzaj koszty zbierania danych, poprzez wysyłanie rekordów używanych do okazjonalnego rozwiązywania problemów do tabeli podstawowych dzienników.
- Wysyłaj rekordy lub kolumny z poufnymi danymi do tabeli z różnymi uprawnieniami lub ustawieniami przechowywania.
Aby wysyłać dane z jednego źródła danych do wielu tabel, utwórz wiele przepływów danych w kontrolerze domeny z unikatowym zapytaniem przekształcenia i tabelą wyjściową dla każdego z nich, jak pokazano na poniższym diagramie.
Ważne
Obecnie tabele w kontrolerze domeny muszą znajdować się w tym samym obszarze roboczym usługi Log Analytics. Aby wysłać do wielu obszarów roboczych z jednego źródła danych, użyj wielu zasad zbierania danych (DCR) i skonfiguruj aplikację do wysyłania danych do każdego obszaru roboczego.
Poniższy przykład filtruje rekordy wysyłane do tabeli zdarzeń przez agenta usługi Azure Monitor. Do tabeli zdarzeń są wysyłane tylko zdarzenia ostrzegawcze i błędy. Inne zdarzenia są wysyłane do kopii tabeli zdarzeń o nazwie Event_CL, która jest skonfigurowana dla dzienników podstawowych.
Uwaga / Notatka
Ten przykład wymaga kopii tabeli zdarzeń utworzonej w tym samym obszarze roboczym o nazwie Event_CL.
{
"location": "eastus",
"properties": {
"dataSources": {
"windowsEventLogs": [
{
"name": "eventLogsDataSource",
"streams": [
"Microsoft-Event"
],
"xPathQueries": [
"System!*[System[(Level = 1 or Level = 2 or Level = 3)]]",
"Application!*[System[(Level = 1 or Level = 2 or Level = 3)]]"
]
}
]
},
"destinations": {
"logAnalytics": [
{
"workspaceResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/my-resource-group/providers/Microsoft.OperationalInsights/workspaces/my-workspace",
"name": "MyDestination"
}
]
},
"dataFlows": [
{
"streams": [
"Microsoft-Event"
],
"destinations": [
"MyDestination"
],
"transformKql": "source | where EventLevelName in ('Error', 'Warning')",
"outputStream": "Microsoft-Event"
},
{
"streams": [
"Microsoft-Event"
],
"destinations": [
"MyDestination"
],
"transformKql": "source | where EventLevelName !in ('Error', 'Warning')",
"outputStream": "Custom-Event_CL"
}
]
}
}