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.
Istnieje wiele metod tworzenia reguły zbierania danych (DCR) w usłudze Azure Monitor. W niektórych przypadkach usługa Azure Monitor utworzy regułę zbierania danych i będzie nią zarządzać zgodnie z ustawieniami skonfigurowanymi w portalu Azure. Nawet nie zdajesz sobie sprawy, że pracujesz z DCR w niektórych z tych przypadków. W przypadku innych scenariuszy może być jednak konieczne utworzenie własnych DCR lub edytowanie istniejących, bezpośrednio współpracując z ich definicją w formacie JSON. W tym artykule opisano różne metody tworzenia kontrolera domeny oraz zalecenia dotyczące ich edytowania i rozwiązywania problemów.
Uwaga / Notatka
W tym artykule opisano, jak stworzyć i edytować sam DCR. Aby utworzyć i edytować skojarzenia reguł zbierania danych, zobacz Tworzenie skojarzeń reguł zbierania danych i zarządzanie nimi.
Uprawnienia
Do tworzenia skojarzeń DCR i DCR wymagane są następujące uprawnienia:
Rola wbudowana | Zakresy | Powód |
---|---|---|
Współautor monitorowania |
|
Utwórz lub edytuj reguły DCR, przypisz reguły do maszyny, wdróż skojarzenia. |
Współtwórca maszyny wirtualnej Administrator zasobów połączonej maszyny platformy Azure |
|
Deployuj rozszerzenia agenta na maszynie wirtualnej. |
Dowolna rola obejmująca akcję Microsoft.Resources/deployments/* |
|
Wdrażanie szablonów usługi Azure Resource Manager. |
Ważne
Utwórz DCR w tym samym regionie co docelowy obszar roboczy usługi Log Analytics lub obszar roboczy usługi Azure Monitor. Możesz skojarzyć DCR z maszynami lub kontenerami z dowolnej subskrypcji lub grupy zasobów w dzierżawie. Aby przesłać dane pomiędzy najemcami, musisz najpierw włączyć Azure Lighthouse.
Tworzenie lub edytowanie kontrolera domeny przy użyciu witryny Azure Portal
Witryna Azure Portal oferuje uproszczone środowisko tworzenia kontrolera domeny dla określonych scenariuszy. Korzystając z tej metody, nie musisz rozumieć struktury DCR, chociaż możesz być ograniczony w konfiguracji, którą możesz przeprowadzić, i może być konieczne późniejsze edytowanie definicji DCR, aby wdrożyć zaawansowaną funkcję, taką jak transformacja. Doświadczenie będzie się różnić w każdym scenariuszu, dlatego zapoznaj się z dokumentacją konkretnego scenariusza, nad którym pracujesz, jak opisano w poniższej tabeli.
Scenariusz | Opis |
---|---|
Włączanie szczegółowych informacji o maszynach wirtualnych | Po włączeniu usługi VM Insights na maszynie wirtualnej agent usługi Azure Monitor jest instalowany, a kontroler domeny jest tworzony i skojarzony z maszyną wirtualną. Ta DCR zbiera wstępnie zdefiniowany zestaw liczników wydajności i nie powinna być modyfikowana. Zobacz Włączanie funkcji szczegółowych informacji o maszynach wirtualnych. |
Zbieranie danych klienta z maszyny wirtualnej | Utwórz regułę zbierania danych (DCR) w portalu Azure przy użyciu interfejsu przewodnika, aby wybrać różne źródła danych z systemu operacyjnego klienta maszyny wirtualnej. Przykłady obejmują zdarzenia systemu Windows, zdarzenia dziennika systemowego i dzienniki tekstowe. Agent usługi Azure Monitor jest instalowany automatycznie w razie potrzeby, a skojarzenie jest tworzone między kontrolerem domeny a każdą wybraną maszyną wirtualną. Zobacz Zbieranie danych za pomocą agenta usługi Azure Monitor. |
Eksportowanie metryk | Utwórz regułę zbierania danych (DCR) w portalu Azure, korzystając z interfejsu prowadzącego do wybierania metryk z różnych typów zasobów do zebrania. Tworzone jest skojarzenie między DCR a każdym wybranym zasobem. Aby uzyskać informacje na temat eksportowania metryk, zobacz Tworzenie reguły zbierania danych (DCR). |
Tworzenie tabeli | Podczas tworzenia nowej tabeli w obszarze roboczym usługi Log Analytics przy użyciu witryny Azure Portal przekazywane są przykładowe dane używane przez usługę Azure Monitor do utworzenia kontrolera domeny, w tym przekształcenia, które mogą być używane z interfejsem API pozyskiwania dzienników. Nie można zmodyfikować tego kontrolera domeny w witrynie Azure Portal, ale można go zmodyfikować przy użyciu dowolnej metody opisanej w tym artykule. Zobacz Tworzenie tabeli niestandardowej. |
Monitorowanie rozwiązania Kubernetes | Aby monitorować klaster Kubernetes, należy włączyć usługę Container Insights dla dzienników i rozwiązania Prometheus dla metryk. Kontroler domeny dla każdego z nich jest tworzony i skojarzony z konteneryzowaną wersją agenta usługi Azure Monitor w klastrze. Może być konieczne zmodyfikowanie dziennika DCR dla Container insights, aby dodać przekształcenie. Zobacz Włączanie monitorowania klastrów Kubernetes i Przekształcenia danych w usłudze Container Insights. |
Przekształcanie przestrzeni roboczej DCR | Przekształcenia DCR obszaru roboczego zapewniają przekształcenia dla scenariuszy zbierania danych, które nie korzystają jeszcze z DCR. Możesz utworzyć ten DCR, korzystając z portalu Azure, aby przekształcić określoną tabelę. Zobacz Przekształcenie obszaru roboczego DCR. |
Definicja DCR
Niezależnie od sposobu jego utworzenia każda usługa DCR ma definicję zgodną ze standardowym schematem JSON. Aby utworzyć lub edytować kontroler domeny przy użyciu metody innej niż witryna Azure Portal, musisz pracować bezpośrednio z definicją JSON. W niektórych scenariuszach należy pracować z definicją JSON, ponieważ witryna Azure Portal nie zapewnia sposobu konfigurowania kontrolera domeny zgodnie z potrzebami.
Kod JSON dla DCR można wyświetlić w Azure Portal, klikając widok JSON w menu Przegląd.
Sprawdź, czy w menu rozwijanym wersji interfejsu API wybrano najnowszą wersję. Jeśli nie, niektóre dane JSON mogą nie być wyświetlane.
Możesz również pobrać kod JSON dla DCR, wywołując REST API DCR. Na przykład, poniższy skrypt programu PowerShell pobiera kod JSON dla DCR i zapisuje go w pliku.
$ResourceId = "<ResourceId>" # Resource ID of the DCR to edit
$FilePath = "<FilePath>" # File to store DCR content
$DCR = Invoke-AzRestMethod -Path ("$ResourceId"+"?api-version=2023-03-11") -Method GET
$DCR.Content | ConvertFrom-Json | ConvertTo-Json -Depth 20 | Out-File -FilePath $FilePath
Uwaga / Notatka
Szczegółowe informacje dotyczące kontrolera domeny można uzyskać przy użyciu Get-AzDataCollectionRule
polecenia cmdlet w programie PowerShell lub az monitor data-collection rule show
w poleceniu w interfejsie wiersza polecenia platformy Azure, ale nie udostępniają kodu JSON w formacie wymaganym do edycji. Zamiast tego użyj programu PowerShell lub interfejsu wiersza polecenia, aby wywołać interfejs API REST, jak pokazano w przykładzie.
Tworzenie lub edytowanie kontrolera DCR przy użyciu formatu JSON
pl-PL: Oprócz edytowania istniejącego raportu DCR, można utworzyć nowy przy użyciu jednego z przykładowych raportów DCR, które udostępniają JSON dla kilku typowych scenariuszy. Skorzystaj z informacji w temacie Struktura reguły zbierania danych w usłudze Azure Monitor , aby zmodyfikować plik JSON dla określonego środowiska i wymagań.
Po utworzeniu definicji DCR, można wdrożyć ją w usłudze Azure Monitor przy użyciu portalu Azure, CLI, programu PowerShell, interfejsu API lub szablonów ARM.
Tworzenie lub edytowanie DCR za pomocą CLI
Użyj polecenia az monitor data-collection rule create, aby utworzyć zasadę zbierania danych na podstawie pliku JSON. Można użyć tego samego polecenia, aby zaktualizować istniejący DCR.
az monitor data-collection rule create --location 'eastus' --resource-group 'my-resource-group' --name 'my-dcr' --rule-file 'C:\MyNewDCR.json' --description 'This is my new DCR'
Uwaga / Notatka
Chociaż możesz użyć poleceń programu PowerShell lub interfejsu wiersza polecenia do utworzenia i edytowania kontrolera domeny, metody interfejsu API i usługi ARM będą dostarczać bardziej szczegółowe komunikaty o błędach, jeśli występują błędy kompilacji.
W poniższym przykładzie kontroler domeny określa nazwę tabeli, która nie istnieje w docelowym obszarze roboczym usługi Log Analytics. Polecenie programu PowerShell zwraca ogólny komunikat o błędzie, ale wywołanie interfejsu API zwróci szczegółowy komunikat o błędzie określający dokładny błąd.
Strategie edytowania i testowania DCR
Podczas tworzenia lub edytowania kontrolera domeny przy użyciu jego definicji JSON często trzeba będzie wprowadzić wiele aktualizacji, aby uzyskać żądane funkcje. Potrzebujesz wydajnej metody aktualizacji DCR, rozwiązania problemów, jeśli nie uzyskasz oczekiwanych wyników, a następnie wprowadzenia dodatkowych poprawek. Jest to szczególnie istotne, jeśli dodajesz przekształcenie do DCR, ponieważ należy zweryfikować, czy zapytanie działa zgodnie z oczekiwaniami. Ponieważ nie możesz edytować kodu JSON bezpośrednio w witrynie Azure Portal, poniżej przedstawiono niektóre strategie, których można użyć.
Użyj pliku lokalnego jako źródła dcR
Jeśli używasz lokalnego pliku JSON jako źródła tworzonych i edytowanych DCR, masz pewność, że zawsze masz dostęp do najnowszej wersji definicji DCR. Jest to idealne rozwiązanie, jeśli chcesz zarządzać zmianami za pomocą narzędzi kontroli wersji, takich jak GitHub lub Azure DevOps. Możesz również użyć edytora, takiego jak VS Code, aby wprowadzić zmiany w kontrolerze domeny, a następnie użyć narzędzi wiersza polecenia, aby zaktualizować kontroler domeny w usłudze Azure Monitor zgodnie z powyższym opisem.
Poniżej znajduje się przykładowy skrypt PowerShell, którego można użyć do przesyłania zmian do DCR z pliku źródłowego. Sprawdza to, czy plik źródłowy jest prawidłowy w formacie JSON przed wysłaniem go do usługi Azure Monitor.
param (
[Parameter(Mandatory = $true)][string]$ResourceId, # Resource ID of the DCR
[Parameter(Mandatory = $true)][string]$FilePath # Path to the DCR JSON file to upload
)
# Read the DCR content from the file
Write-Host "Reading new DCR content from: $FilePath" -ForegroundColor Green
$DCRContent = Get-Content $FilePath -Raw
# Ensure the DCR content is valid JSON
try {
$ParsedDCRContent = $DCRContent | ConvertFrom-Json
} catch {
Write-Host "Invalid JSON content in file: $FilePath" -ForegroundColor Red
exit 1
}
# Create or update the DCR in the specified resource group
Write-Host "Deploying DCR $ResourceId ..." -ForegroundColor Green
Invoke-AzRestMethod -Path ("$ResourceId"+"?api-version=2023-03-11") -Method PUT -Payload $DCRContent
Zapisywanie zawartości DCR w pliku tymczasowym
Jeśli nie masz definicji dcR w pliku lokalnym, możesz pobrać definicję z usługi Azure Monitor i zapisać ją w pliku tymczasowym. Następnie możesz edytować plik przy użyciu edytora, takiego jak VS Code, przed wypchnięciem aktualizacji do usługi Azure Monitor.
Poniżej przedstawiono przykładowy skrypt programu PowerShell, którego można użyć do edytowania istniejącego kontrolera domeny w usłudze Azure Monitor. Skrypt pobierze definicję dcR i zapisze ją w pliku tymczasowym przed uruchomieniem programu VS Code. Po wskazaniu skryptowi, że zapisałeś swoje zmiany, DCR zostaje zaktualizowany o nową zawartość, a plik tymczasowy zostaje usunięty.
param ([Parameter(Mandatory=$true)] $ResourceId)
# Get DCR content and save it to a local file
$FilePath = "temp.dcr"
$DCR = Invoke-AzRestMethod -Path ("$ResourceId"+"?api-version=2023-03-11") -Method GET
$DCR.Content | ConvertFrom-Json | ConvertTo-Json -Depth 20 | Out-File $FilePath
# Open DCR in code editor
code $FilePath | Wait-Process
{
#write DCR content back from the file
$DCRContent = Get-Content $FilePath -Raw
Invoke-AzRestMethod -Path ("$ResourceId"+"?api-version=2023-03-11") -Method PUT -Payload $DCRContent
}
#Delete temporary file
Remove-Item $FilePath
Używanie szablonu usługi ARM do edytowania kontrolera domeny w miejscu
Jeśli chcesz wykonać edycje całkowicie w witrynie Azure Portal, możesz użyć funkcji Eksportowanie szablonu , aby pobrać szablon arm dla kontrolera domeny. Następnie możesz zmodyfikować definicję w formacie JSON i ponownie wdrożyć ją w witrynie Azure Portal.
Wybierz DCR, który chcesz zmodyfikować w portalu Azure, a następnie wybierz pozycję Eksportuj szablon. Następnie kliknij przycisk Wdróż , aby ponownie wdrożyć ten sam szablon.
Kliknij pozycję Edytuj szablon, aby otworzyć edytowalną wersję kodu JSON dla DCR. Nie zmieniaj wartości parametrów.
Wprowadź wymagane zmiany w kontrolerze domeny, a następnie kliknij przycisk Zapisz.
Jeśli chcesz utworzyć nowy DCR, zmień parametr nazwy. W przeciwnym razie pozostaw parametry bez zmian. Kliknij pozycję Przejrzyj i utwórz , aby wdrożyć zmodyfikowany szablon i utwórz , aby utworzyć nowy kontroler domeny.
Jeśli kontroler domeny jest prawidłowy bez błędów, wdrożenie zakończy się pomyślnie, a kontroler domeny zostanie zaktualizowany o nową konfigurację. Kliknij pozycję Przejdź do zasobu , aby otworzyć zmodyfikowany kontroler domeny.
Jeśli DCR ma błędy kompilacji, otrzymasz komunikat informujący, że wdrożenie nie powiodło się. Kliknij pozycję Szczegóły błędu i Szczegóły operacji, aby wyświetlić szczegóły błędu. Kliknij Wdróż ponownie, a następnie Edytuj szablon ponownie, aby wprowadzić niezbędne zmiany w DCR, po czym zapisz i wdroż go ponownie.
Weryfikowanie i rozwiązywanie problemów z zbieraniem danych
Po zainstalowaniu DCR może upłynąć kilka minut, aby zmiany zaczęły obowiązywać i dane zostały zebrane ze zaktualizowanym DCR. Jeśli nie widzisz żadnych zbieranych danych, ustalenie głównej przyczyny problemu może być trudne. Skorzystaj z funkcji monitorowania dcR, które obejmują metryki i dzienniki, aby ułatwić rozwiązywanie problemów.
Metryki DCR są zbierane automatycznie dla wszystkich DCR i można je analizować za pomocą eksploratora metryk, podobnego do metryk platformy dla innych zasobów Azure. Włącz dzienniki błędów dcR , aby uzyskać szczegółowe informacje o błędach, gdy przetwarzanie danych nie powiedzie się.
Jeśli nie widzisz zbieranych danych, wykonaj następujące podstawowe kroki, aby rozwiązać ten problem.
- Sprawdź metryki, takie jak
Logs Ingestion Bytes per Min
iLogs Rows Received per Min
, aby upewnić się, że dane docierają do usługi Azure Monitor. Jeśli nie, sprawdź źródło danych, aby upewnić się, że wysyła ona dane zgodnie z oczekiwaniami. - Sprawdź
Logs Rows Dropped per Min
, czy jakiekolwiek wiersze są pomijane. Może to nie oznaczać błędu, ponieważ wiersze mogą zostać porzucone przez przekształcenie. Jeśli jednak porzucone wiersze są takie same jakLogs Rows Dropped per Min
, to żadne dane nie są importowane do obszaru roboczego. Sprawdź,Logs Transformation Errors per Min
czy występują błędy przekształcania. - Sprawdź
Logs Transformation Errors per Min
, czy występują błędy wynikające z przekształceń zastosowanych do danych przychodzących. Może to być spowodowane zmianami w strukturze danych lub samym przekształceniem. - Sprawdź tabelę pod
DCRLogErrors
kątem błędów wczytywania, które mogły zostać zarejestrowane. Może to zawierać dodatkowe szczegóły dotyczące identyfikowania głównej przyczyny problemu.