Monitorowanie i rozwiązywanie problemów z zbieraniem danych DCR w usłudze Azure Monitor

Ten artykuł zawiera szczegółowe metryki i dzienniki, których można użyć do monitorowania wydajności i rozwiązywania problemów związanych z zbieraniem danych w usłudze Azure Monitor. Ta telemetria jest obecnie dostępna dla scenariuszy zbierania danych zdefiniowanych przez reguły zbierania danych (DCR), takie jak agent usługi Azure Monitor i interfejs API pozyskiwania dzienników.

Ważne

W tym artykule odwołuje się tylko do scenariuszy zbierania danych korzystających z kontrolerów domeny, w tym następujących:

Zapoznaj się z dokumentacją innych scenariuszy, aby uzyskać informacje dotyczące monitorowania i rozwiązywania problemów, które mogą być dostępne.

Funkcje diagnostyczne dcR obejmują metryki i dzienniki błędów emitowane podczas przetwarzania dziennika. Metryki dcR zawierają informacje o ilości pozyskiwanych danych, liczbie i charakterze błędów przetwarzania oraz statystyk związanych z przekształcaniem danych. Dzienniki błędów dcR są generowane za każdym razem, gdy przetwarzanie danych nie powiedzie się, a dane nie docierają do miejsca docelowego.

Dzienniki błędów kontrolera domeny

Dzienniki błędów są generowane, gdy dane docierają do potoku pozyskiwania usługi Azure Monitor, ale nie docierają do miejsca docelowego. Przykłady warunków błędów obejmują:

  • Błędy dostarczania dziennika
  • Błędy przekształcania , w których struktura dzienników sprawia, że przekształcenie KQL jest nieprawidłowe
  • Wywołania interfejsu API pozyskiwania dzienników:
    • z dowolną odpowiedzią HTTP inną niż 200/202
    • z ładunkiem zawierającym źle sformułowane dane
    • z ładunkiem na wszelkie limity pozyskiwania
    • ograniczanie przepustowości z powodu przekroczenia limitów wywołań interfejsu API

Aby uniknąć nadmiernego rejestrowania trwałych błędów związanych z tym samym przepływem danych, niektóre błędy będą rejestrowane tylko przez ograniczoną liczbę godzin, po których następuje komunikat o błędzie podsumowania. Błąd jest następnie wyciszany do końca godziny. Liczba rejestrowanych błędów może się różnić w zależności od regionu, w którym jest wdrażana usługa DCR.

Niektóre błędy pozyskiwania dzienników nie zostaną zarejestrowane, ponieważ nie można ich skojarzyć z kontrolerem domeny. Nie można zarejestrować następujących błędów:

  • Błędy spowodowane źle sformułowanym identyfikatorem URI wywołania (kod odpowiedzi HTTP 404)
  • Niektóre wewnętrzne błędy serwera (kod odpowiedzi HTTP 500)

Włączanie dzienników błędów dcR

Dzienniki błędów dcR są implementowane jako dzienniki zasobów w usłudze Azure Monitor. Włącz zbieranie dzienników, tworząc ustawienie diagnostyczne dla kontrolera domeny. Każde dcR będzie wymagać własnego ustawienia diagnostycznego. Aby uzyskać szczegółowe informacje, zobacz Tworzenie ustawień diagnostycznych w usłudze Azure Monitor . Wybierz kategorię Błędy dziennika i Wyślij do obszaru roboczego usługi Log Analytics. Możesz wybrać ten sam obszar roboczy, który jest używany przez kontroler domeny, lub chcesz skonsolidować wszystkie dzienniki błędów w jednym obszarze roboczym.

Pobieranie dzienników błędów dcR

Dzienniki błędów są zapisywane w tabeli DCRLogErrors w obszarze roboczym usługi Log Analytics określonym w ustawieniu diagnostycznym. Poniżej przedstawiono przykładowe zapytania, których można użyć w usłudze Log Analytics , aby pobrać te dzienniki.

Pobieranie wszystkich dzienników błędów dla określonego kontrolera domeny

DCRLogErrors
| where _ResourceId == "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-resource-group/providers/microsoft.insights/datacollectionrules/my-dcr"

Pobieranie wszystkich dzienników błędów dla określonego strumienia wejściowego w określonym kontrolerze domeny

DCRLogErrors
| where _ResourceId == "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-resource-group/providers/microsoft.insights/datacollectionrules/my-dcr"
| where InputStream == "Custom-MyTable_CL"

Metryki DCR

Metryki dcR są zbierane automatycznie dla wszystkich kontrolerów domeny i można je analizować przy użyciu eksploratora metryk, takiego jak metryki platformy dla innych zasobów platformy Azure. Strumień wejściowy jest dołączany jako wymiar, więc jeśli masz kontroler domeny z wieloma strumieniami wejściowymi, możesz przeanalizować je, filtrując lub dzieląc. Niektóre metryki obejmują inne wymiary, jak pokazano w poniższej tabeli.

Metric Wymiary opis
Rejestruje bajty pozyskiwania na minutę Strumień wejściowy Łączna liczba bajtów odebranych na minutę.
Rejestruje żądania pozyskiwania na minutę Strumień wejściowy
Kod odpowiedzi HTTP
Liczba odebranych połączeń na minutę
Dzienniki wierszy porzucone na minutę Strumień wejściowy Liczba wierszy dziennika porzuconych podczas przetwarzania na minutę. Obejmuje to porzucone wiersze zarówno z powodu kryteriów filtrowania w transformacji KQL, jak i wierszy porzuconych z powodu błędów.
Dzienniki odebrane wiersze na minutę Strumień wejściowy Liczba wierszy dziennika odebranych do przetwarzania na minutę.
Czas trwania przekształcania dzienników na minutę Strumień wejściowy Średnie środowisko uruchomieniowe transformacji KQL na minutę. Reprezentuje wydajność kodu transformacji KQL. Przepływy danych z dłuższym czasem wykonywania transformacji mogą wystąpić opóźnienia przetwarzania danych i większe opóźnienie danych.
Błędy przekształcania dzienników na minutę Strumień wejściowy
Typ błędu
Liczba napotkanych błędów przetwarzania na minutę

Rozwiązywanie typowych problemów

Jeśli brakuje oczekiwanych danych w obszarze roboczym usługi Log Analytics, wykonaj następujące podstawowe kroki, aby rozwiązać ten problem. Przyjęto założenie, że włączono rejestrowanie DCR zgodnie z powyższym opisem.

  • Sprawdź metryki, takie jak Logs Ingestion Bytes per Min i Logs 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ą porzucane. Może to nie oznaczać błędu, ponieważ wiersze mogą zostać porzucone przez przekształcenie. Jeśli porzucone wiersze są takie same, Logs Rows Dropped per Min nie zostaną pozyskane żadne dane w obszarze roboczym. Sprawdź, Logs Transformation Errors per Min czy występują błędy przekształcania.
  • Sprawdź Logs Transformation Errors per Min , czy istnieją błędy z przekształceń zastosowanych do danych przychodzących. Może to być spowodowane zmianami w strukturze danych lub samym przekształceniem.
  • Sprawdź DCRLogErrors błędy pozyskiwania, które mogły zostać zarejestrowane. Może to zawierać dodatkowe szczegóły dotyczące identyfikowania głównej przyczyny problemu.

Monitorowanie pozyskiwania dzienników

Poniższe sygnały mogą być przydatne do monitorowania kondycji kolekcji dzienników przy użyciu kontrolerów domeny. Utwórz reguły alertów, aby zidentyfikować te warunki.

Sygnał Możliwe przyczyny i akcje
Nowe wpisy w DCRErrorLogs pliku lub nagłe zmiany w pliku Log Transform Errors. — Problemy z konfiguracją interfejsu API pozyskiwania dzienników, takimi jak uwierzytelnianie, dostęp do dcR lub DCE, problemy z ładunkiem wywołań.
- Zmiany w strukturze danych powodujące błędy przekształcania KQL.
— Zmiany w konfiguracji docelowej danych powodujące niepowodzenia dostarczania danych.
Nagłe zmiany w Logs Ingestion Bytes per Min - Zmiany w konfiguracji pozyskiwania dzienników na kliencie, w tym ustawienia usługi AMA.
- Zmiany w strukturze wysłanych dzienników.
Nagłe zmiany proporcji między Logs Ingestion Bytes per Min i Logs Rows Received per Min - Zmiany w strukturze wysłanych dzienników. Sprawdź zmiany, aby upewnić się, że dane są prawidłowo przetwarzane przy użyciu przekształcenia KQL.
Nagłe zmiany w Logs Transformation Duration per Min - Zmiany w strukturze dzienników wpływające na wydajność kryteriów filtrowania dzienników ustawionych w transformacji KQL. Sprawdź zmiany, aby upewnić się, że dane są prawidłowo przetwarzane przy użyciu przekształcenia KQL.
Logs Ingestion Requests per Min lub Logs Ingestion Bytes per Min zbliża się do limitów usługi interfejsu API pozyskiwania dzienników. — Sprawdź i zoptymalizuj konfigurację kontrolera domeny, aby uniknąć ograniczania przepustowości.

Alerty

Zamiast reaktywnie rozwiązywać problemy, utwórz reguły alertów, aby otrzymywać proaktywne powiadomienia, gdy wystąpi potencjalny warunek błędu. Poniższa tabela zawiera przykłady reguł alertów, które można utworzyć w celu monitorowania pozyskiwania dzienników.

Stan Szczegóły alertu
Nagłe zmiany wierszy porzucone Reguła alertu metryki używająca progu dynamicznego dla elementu Logs Rows Dropped per Min.
Liczba wywołań interfejsu API zbliżających się do limitów usługi Reguła alertu metryki używająca statycznego progu dla elementu Logs Ingestion Requests per Min. Ustaw próg zbliżony do 12 000, czyli limit usługi dla maksymalnej liczby żądań/minut na dcR.
Dzienniki błędów Alert zapytania dziennika przy użyciu polecenia DCRLogErrors. Użyj miary wierszy tabeli i wartości progowej 1, aby otrzymywać alerty za każdym razem, gdy zostaną zarejestrowane błędy.

Następne kroki