Rozwiązywanie problemów z alertami przeszukiwania dzienników w usłudze Azure Monitor
W tym artykule opisano sposób rozwiązywania typowych problemów z alertami przeszukiwania dzienników w usłudze Azure Monitor. Udostępnia również rozwiązania typowych problemów z funkcjonalnością i konfiguracją alertów dzienników.
Alerty dzienników umożliwiają ocenę dzienników zasobów z każdą częstotliwością zestawu przy użyciu zapytania usługi Log Analytics i wyzwolenie alertu opartego na wynikach. Reguły mogą wyzwalać co najmniej jedną akcję przy użyciu grup akcji. Aby dowiedzieć się więcej na temat funkcjonalności i terminologii alertów przeszukiwania dzienników, zobacz Rejestrowanie alertów w usłudze Azure Monitor.
Uwaga
W tym artykule nie omówiono przypadków, w których została wyzwolona reguła alertu, można ją zobaczyć w witrynie Azure Portal, ale powiadomienie nie zostało wysłane. Zobacz Rozwiązywanie problemów z alertami dotyczącymi takich przypadków.
Alert przeszukiwania dzienników nie został wyzwolony, gdy powinien
Jeśli alert wyszukiwania dzienników nie został wyzwolony, sprawdź następujące elementy:
Czy reguła alertu jest w stanie kondycji obniżonej wydajności lub niedostępności?
Wyświetl stan kondycji reguły alertu przeszukiwania dzienników:
W portalu wybierz pozycję Monitor, a następnie pozycję Alerty.
Na górnym pasku poleceń wybierz pozycję Reguły alertów. Na stronie są wyświetlane wszystkie reguły alertów dla wszystkich subskrypcji.
Wybierz regułę alertu przeszukiwania dzienników, którą chcesz monitorować.
W okienku po lewej stronie w obszarze Pomoc wybierz pozycję Kondycja zasobu.
Aby dowiedzieć się więcej, zobacz Monitorowanie kondycji reguł alertów przeszukiwania dzienników.
Sprawdź opóźnienie pozyskiwania dzienników.
Usługa Azure Monitor przetwarza terabajty dzienników klientów z całego świata, co może powodować opóźnienie pozyskiwania dzienników.
Dzienniki są danymi częściowo ustrukturyzowanymi i są z natury bardziej ukryte niż metryki. Jeśli występuje ponad 4-minutowe opóźnienie w wyzwolonych alertach, rozważ użycie alertów dotyczących metryk. Dane można wysyłać do magazynu metryk z dzienników przy użyciu alertów metryk dla dzienników.
Aby zapobiec opóźnieniu, system ponawia próbę oceny alertu wiele razy. Po nadejściu danych alert zostanie wyzwolony, co w większości przypadków nie odpowiada czasowi rekordu dziennika.
Czy akcje są wyciszone lub czy reguła alertu została skonfigurowana do automatycznego rozpoznawania?
Typowym problemem jest to, że uważasz, że alert nie został wyzwolony, ale reguła została skonfigurowana tak, aby alert nie został wyzwolony. Zapoznaj się z zaawansowanymi opcjami reguły alertu przeszukiwania dzienników, aby sprawdzić, czy nie wybrano obu następujących elementów:
- Pole wyboru Wycisz akcje : umożliwia wyciszenie wyzwolonych akcji alertu przez określony czas.
- Automatycznie rozwiąż alerty: umożliwia skonfigurowanie alertu tak, aby był uruchamiany tylko raz na spełniony warunek.
Czy zasób reguły alertu został przeniesiony lub usunięty?
Jeśli zasób reguły alertu zostanie przeniesiony, zostanie zmieniony lub zostanie usunięty, wszystkie reguły alertów dziennika odwołujące się do tego zasobu zostaną przerwane. Aby rozwiązać ten problem, należy ponownie utworzyć reguły alertów przy użyciu prawidłowego zasobu docelowego dla zakresu.
Czy reguła alertu korzysta z tożsamości zarządzanej przypisanej przez system?
Podczas tworzenia reguły alertu dziennika z tożsamością zarządzaną przypisaną przez system tożsamość jest tworzona bez żadnych uprawnień. Po utworzeniu reguły należy przypisać odpowiednie role do tożsamości reguły, aby mogła uzyskać dostęp do danych, które chcesz wykonać. Na przykład może być konieczne nadanie mu roli Czytelnik dla odpowiednich obszarów roboczych usługi Log Analytics lub roli Czytelnik i Podgląd bazy danych dla odpowiedniego klastra ADX. Aby uzyskać więcej informacji na temat używania tożsamości zarządzanych w alertach dzienników, zobacz Tożsamości zarządzane.
Czy zapytanie jest używane w regule alertu przeszukiwania dzienników jest prawidłowe?
Po utworzeniu reguły alertu dziennika zapytanie jest weryfikowane pod kątem poprawnej składni. Jednak czasami zapytanie podane w regule alertu dziennika może uruchomić się niepowodzeniem. Oto niektóre typowe przyczyny:
- Reguły zostały utworzone za pośrednictwem interfejsu API, a użytkownik pominął walidację.
- Zapytanie jest uruchamiane na wielu zasobach i co najmniej jeden z zasobów został usunięty lub przeniesiony.
- Zapytanie kończy się niepowodzeniem , ponieważ:
- Rozwiązanie rejestrowania nie zostało wdrożone w obszarze roboczym, więc tabele nie są tworzone.
- Dane przestały przepływać do tabeli w zapytaniu przez ponad 30 dni.
- Nie utworzono niestandardowych tabel dzienników , ponieważ przepływ danych nie został uruchomiony.
- Zmiany w języku zapytań obejmują poprawiony format poleceń i funkcji, więc podane wcześniej zapytanie nie jest już prawidłowe.
Usługa Azure Service Health monitoruje kondycję zasobów w chmurze, w tym reguły alertów przeszukiwania dzienników. Gdy reguła alertu przeszukiwania dzienników jest w dobrej kondycji, reguła zostanie uruchomiona, a zapytanie zostanie wykonane pomyślnie. Możesz użyć kondycji zasobów dla reguł alertów przeszukiwania dzienników, aby dowiedzieć się więcej o problemach wpływających na reguły alertów przeszukiwania dzienników.
Czy reguła alertu przeszukiwania dzienników była wyłączona?
Jeśli zapytanie reguły alertu przeszukiwania dzienników nie będzie oceniać stale przez tydzień, usługa Azure Monitor wyłączy ją automatycznie.
W poniższych sekcjach wymieniono niektóre przyczyny, dla których usługa Azure Monitor może wyłączyć regułę alertu przeszukiwania dzienników. Ponadto istnieje przykład zdarzenia dziennika aktywności, które jest przesyłane, gdy reguła jest wyłączona.
Przykład dziennika aktywności, gdy reguła jest wyłączona
{
"caller": "Microsoft.Insights/ScheduledQueryRules",
"channels": "Operation",
"claims": {
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/spn": "Microsoft.Insights/ScheduledQueryRules"
},
"correlationId": "abcdefg-4d12-1234-4256-21233554aff",
"description": "Alert: test-bad-alerts is disabled by the System due to : Alert has been failing consistently with the same exception for the past week",
"eventDataId": "f123e07-bf45-1234-4565-123a123455b",
"eventName": {
"value": "",
"localizedValue": ""
},
"category": {
"value": "Administrative",
"localizedValue": "Administrative"
},
"eventTimestamp": "2019-03-22T04:18:22.8569543Z",
"id": "/SUBSCRIPTIONS/<subscriptionId>/RESOURCEGROUPS/<ResourceGroup>/PROVIDERS/MICROSOFT.INSIGHTS/SCHEDULEDQUERYRULES/TEST-BAD-ALERTS",
"level": "Informational",
"operationId": "",
"operationName": {
"value": "Microsoft.Insights/ScheduledQueryRules/disable/action",
"localizedValue": "Microsoft.Insights/ScheduledQueryRules/disable/action"
},
"resourceGroupName": "<Resource Group>",
"resourceProviderName": {
"value": "MICROSOFT.INSIGHTS",
"localizedValue": "Microsoft Insights"
},
"resourceType": {
"value": "MICROSOFT.INSIGHTS/scheduledqueryrules",
"localizedValue": "MICROSOFT.INSIGHTS/scheduledqueryrules"
},
"resourceId": "/SUBSCRIPTIONS/<subscriptionId>/RESOURCEGROUPS/<ResourceGroup>/PROVIDERS/MICROSOFT.INSIGHTS/SCHEDULEDQUERYRULES/TEST-BAD-ALERTS",
"status": {
"value": "Succeeded",
"localizedValue": "Succeeded"
},
"subStatus": {
"value": "",
"localizedValue": ""
},
"submissionTimestamp": "2019-03-22T04:18:22.8569543Z",
"subscriptionId": "<SubscriptionId>",
"properties": {
"resourceId": "/SUBSCRIPTIONS/<subscriptionId>/RESOURCEGROUPS/<ResourceGroup>/PROVIDERS/MICROSOFT.INSIGHTS/SCHEDULEDQUERYRULES/TEST-BAD-ALERTS",
"subscriptionId": "<SubscriptionId>",
"resourceGroup": "<ResourceGroup>",
"eventDataId": "12e12345-12dd-1234-8e3e-12345b7a1234",
"eventTimeStamp": "03/22/2019 04:18:22",
"issueStartTime": "03/22/2019 04:18:22",
"operationName": "Microsoft.Insights/ScheduledQueryRules/disable/action",
"status": "Succeeded",
"reason": "Alert has been failing consistently with the same exception for the past week"
},
"relatedEvents": []
}
Alert przeszukiwania dzienników został wyzwolony, gdy nie powinien
Skonfigurowana reguła alertu dziennika w usłudze Azure Monitor może zostać nieoczekiwanie wyzwolona. W poniższych sekcjach opisano niektóre typowe przyczyny.
Czy alert został wyzwolony z powodu problemów z opóźnieniem?
Usługa Azure Monitor przetwarza terabajty dzienników klientów globalnie, co może powodować opóźnienie pozyskiwania dzienników. Istnieją wbudowane możliwości zapobiegania fałszywym alertom, ale nadal mogą występować na bardzo opóźnianych danych (ponad 30 minut) i danych z skokami opóźnień.
Dzienniki są danymi częściowo ustrukturyzowanymi i są z natury bardziej ukryte niż metryki. Jeśli w wyzwolonych alertach występuje wiele błędów, rozważ użycie alertów dotyczących metryk. Dane można wysyłać do magazynu metryk z dzienników przy użyciu alertów metryk dla dzienników.
Alerty przeszukiwania dzienników działają najlepiej, gdy próbujesz wykryć określone dane w dziennikach. Są one mniej skuteczne, gdy próbujesz wykryć brak danych w dziennikach, takich jak alerty dotyczące pulsu maszyny wirtualnej.
Komunikaty o błędach podczas konfigurowania reguł alertów przeszukiwania dzienników
Zapoznaj się z poniższymi sekcjami, aby zapoznać się z konkretnymi komunikatami o błędach i ich rozwiązaniami.
Nie można zweryfikować kwerendy, ponieważ potrzebujesz uprawnień do dzienników
Jeśli ten komunikat o błędzie jest wyświetlany podczas tworzenia lub edytowania zapytania reguły alertu, upewnij się, że masz uprawnienia do odczytywania dzienników zasobów docelowych.
- Uprawnienia wymagane do odczytu dzienników w trybie dostępu do kontekstu obszaru roboczego:
Microsoft.OperationalInsights/workspaces/query/read
. - Uprawnienia wymagane do odczytu dzienników w trybie dostępu do kontekstu zasobu (w tym zasobu usługi Application Insights opartego na obszarze roboczym):
Microsoft.Insights/logs/tableName/read
.
Aby dowiedzieć się więcej o uprawnieniach, zobacz Zarządzanie dostępem do obszarów roboczych usługi Log Analytics.
Częstotliwość 1-minutowa nie jest obsługiwana dla tego zapytania
Istnieją pewne ograniczenia dotyczące używania częstotliwości reguł alertów z jedną minutą. Po ustawieniu częstotliwości reguły alertu na minutę wykonywana jest wewnętrzna manipulacja w celu zoptymalizowania zapytania. Ta manipulacja może spowodować niepowodzenie zapytania, jeśli zawiera nieobsługiwane operacje.
Aby uzyskać listę nieobsługiwanych scenariuszy, zobacz tę notatkę.
Nie można rozpoznać wyrażenia skalarnego o nazwie <>
Ten komunikat o błędzie można zwrócić podczas tworzenia lub edytowania zapytania reguły alertu, jeśli:
- Odwołujesz się do kolumny, która nie istnieje w schemacie tabeli.
- Odwołujesz się do kolumny, która nie została użyta w poprzedniej klauzuli projektu zapytania.
Aby temu zapobiec, możesz dodać kolumnę do poprzedniej klauzuli projektu lub użyć operatora columnifexists .
Interfejs API ScheduledQueryRules nie jest obsługiwany w przypadku alertów pakietu OMS tylko do odczytu
Ten komunikat o błędzie jest zwracany podczas próby zaktualizowania lub usunięcia reguł utworzonych przy użyciu starszej wersji interfejsu API przy użyciu witryny Azure Portal.
- Edytuj lub usuń regułę programowo przy użyciu interfejsu API REST usługi Log Analytics.
- Zalecane: Uaktualnij reguły alertów, aby używać interfejsu API reguł zapytań zaplanowanych (starszy interfejs API znajduje się na ścieżce wycofania).
Osiągnięto limit usługi reguł alertów
Aby uzyskać szczegółowe informacje o liczbie reguł alertów przeszukiwania dzienników na subskrypcję i maksymalnych limitach zasobów, zobacz Limity usługi Azure Monitor. Zobacz Sprawdzanie całkowitej liczby używanych reguł alertów dziennika, aby zobaczyć, ile reguł alertów metryk jest obecnie używanych. Jeśli osiągnięto limit przydziału, poniższe kroki mogą pomóc w rozwiązaniu problemu.
Usuń lub wyłącz reguły alertów dotyczących przeszukiwania dzienników, które nie są już używane.
Użyj dzielenia według wymiarów , aby zmniejszyć liczbę reguł. W przypadku użycia dzielenia według wymiarów jedna reguła może monitorować wiele zasobów.
Jeśli chcesz zwiększyć limit przydziału, kontynuuj otwieranie wniosku o pomoc techniczną i podaj następujące informacje:
- Identyfikatory subskrypcji i identyfikatory zasobów, dla których należy zwiększyć limit przydziału
- Przyczyna zwiększenia limitu przydziału
- Typ zasobu dla zwiększenia limitu przydziału, taki jak Log Analytics lub Application Insights
- Żądany limit przydziału
Niepełne filtrowanie czasu w zapytaniach ARG i ADX
W przypadku korzystania z zapytań usługi Azure Data Explorer (ADX) lub usługi Azure Resource Graph (ARG) w alertach wyszukiwania dzienników może wystąpić problem polegający na tym, że ustawienie "Stopień szczegółowości agregacji" nie stosuje filtru czasu do zapytań. Może to prowadzić do nieoczekiwanych wyników i potencjalnych problemów z wydajnością, ponieważ zapytanie zwraca wszystkie 30 dni danych z wersji roboczej, zamiast zamierzonego zakresu czasu.
Aby rozwiązać ten problem, należy jawnie zastosować filtry czasu w zapytaniach ARG i ADX. Poniżej przedstawiono kroki, które należy wykonać, aby upewnić się, że:
Odpowiednie filtrowanie czasu: Zidentyfikuj zakres czasu: określ określony zakres czasu, którego chcesz wykonać zapytanie. Jeśli na przykład chcesz wykonać zapytanie dotyczące danych z ostatnich 24 godzin, musisz określić ten zakres czasu w zapytaniu.
Zmodyfikuj zapytanie: dodaj filtr czasu do zapytania ARG lub ADX, aby ograniczyć dane zwracane do żądanego zakresu czasu. Oto przykład modyfikowania zapytania:
// Original query without time filter
resources
| where type == "microsoft.compute/virtualmachines"
// Modified query with time filter
resources
| where type == "microsoft.compute/virtualmachines"
| where timestamp >= ago(24h)
- Przetestuj zapytanie: uruchom zmodyfikowane zapytanie, aby upewnić się, że zwraca oczekiwane wyniki w określonym zakresie czasu.
- Alerty aktualizacji: zaktualizuj alerty wyszukiwania dzienników, aby używać zmodyfikowanego zapytania z jawnym filtrem czasu. Zapewni to, że alerty są oparte na prawidłowych danych i nie zawierają niepotrzebnych danych historycznych. Stosując jawne filtry czasu w zapytaniach ARG i ADX, można uniknąć problemu pobierania nadmiernych danych i upewnić się, że alerty wyszukiwania dzienników są dokładne i wydajne.
Następne kroki
- Dowiedz się więcej o alertach dzienników na platformie Azure.
- Dowiedz się więcej o konfigurowaniu alertów dzienników.
- Dowiedz się więcej o zapytaniach dzienników.