Amazon CloudWatch Logs oferuje teraz automatyczną analizę wzorców i wykrywanie nieprawidłowości
Przeszukiwanie danych dziennika w celu znalezienia wniosków operacyjnych lub biznesowych często przypomina szukanie igły w stogu siana. Zwykle wymaga to ręcznego filtrowania i przeglądania poszczególnych danych dziennika.
Aby Ci w tym pomóc, Amazon CloudWatch dodał nowe możliwości automatycznego rozpoznawania i grupowania wzorców w danych dziennika, wydobywania godnych uwagi treści i trendów oraz powiadamiania o nieprawidłowościach za pomocą zaawansowanych algorytmów uczenia maszynowego (ML) ukształtowanych na podstawie dziesięcioleci danych operacyjnych Amazon i AWS.
CloudWatch oferuje teraz następujące funkcje, na które warto zwrócić uwagę:
- zakładka Patterns na stronie Logs Insights pozwala znaleźć powtarzające się wzorce w wynikach zapytania i umożliwia ich szczegółową analizę. Ułatwia to znalezienie tego, czego szukasz i zapoznanie się z nową lub niespodziewaną zawartością w dziennikach;
- przycisk Compare w selektorze przedziału czasowego na stronie Logs Insights umożliwia szybkie porównanie wyników zapytania dla wybranego zakresu czasu z poprzednim okresem, np. poprzednim dniem, tygodniem lub miesiącem. W ten sposób sprawdzenie, co się zmieniło w porównaniu z poprzednim stabilnym scenariuszem, zajmuje mniej czasu;
- strona Log Anomalies w sekcji Logs panelu nawigacji automatycznie wyświetla anomalie znalezione w dziennikach podczas ich przetwarzania podczas przetwarzania.
Pora sprawdzić, w jaki sposób działają one w praktyce podczas typowej akcji związanej z rozwiązywaniem problemów. Autorzy przyjrzą się się dziennikom niektórych aplikacji, aby znaleźć kluczowe wzorce, porównają dwa okresy, aby zrozumieć, co się zmieniło i wreszcie zobaczą, jak wykrywanie nieprawidłowości może pomóc w wykrywaniu problemów.
Wyszukiwanie powtarzających się wzorców w rejestrach zdarzeń
W konsoli CloudWatch należy wybrać Logs Insights w sekcji Logs panelu nawigacyjnego. Na początek wybrano grupy dzienników, do których autorzy chcą wysłać zapytanie. W tym przypadku wybierają grupę dzienników funkcji Lambda, którą chcą sprawdzić, a następnie opcję Run query.
Na karcie Pattern widać wzorce znalezione w tych grupach logów. Wygląda na to, że jeden ze wzorców jest błędny. Można go wybrać, aby szybko dodać go jako filtr do zapytania i skupić się na logach zawierających ten wzorzec. Na razie autorzy wybierają ikonę lupy, aby przeanalizować wzór.
W oknie Pattern inspect wyświetlany jest histogram z wystąpieniami wzorca w wybranym okresie. Po histogramie dostarczane są próbki z logów.
Zmienne części wzorca (takie jak liczby) zostały wyodrębnione jako „tokeny”. Należy wybrać zakładkę Token values, aby zobaczyć wartości tokena. Można także wybrać wartość tokena, aby szybko dodać ją jako filtr do zapytania i skupić się na logach zawierających wybrany wzorzec z tą konkretną wartością.
Można także spojrzeć na zakładkę Related patterns, aby zobaczyć inne dzienniki, które zwykle występowały w tym samym czasie, co analizowany wzorzec. Na przykład, jeśli spojrzy się na dziennik ERROR, który zawsze był zapisywany razem z dziennikiem DEBUG pokazującym więcej szczegółów, relacja ta byłaby widoczna.
Porównanie logów z poprzednim okresem
Aby lepiej zrozumieć, co się dzieje, należy wybrać przycisk Compare w selektorze przedziału czasowego. Spowoduje to aktualizację zapytania w celu porównania wyników z poprzednim okresem. Na przykład można wybrać Previous day, aby zobaczyć, co się zmieniło w porównaniu z poprzednim.
W zakładce Patterns widać, że faktycznie nastąpił 10-procentowy spadek liczby błędów, więc obecna sytuacja może okazać się nienajgorsza.
Następnie należy wybrać ikonę lupy na wzorcu z typem ważności BŁĄD, aby zobaczyć pełne porównanie dwóch okresów. Wykres nakłada się na występowanie formacji w dwóch okresach (w tym przypadku teraz i wczoraj) w wybranym przedziale czasowym (jedna godzina).
Błędy zmniejszają się, ale nadal występują. Aby je ograniczyć, autorzy wprowadzają pewne zmiany w aplikacji. Wrócą po pewnym czasie, aby porównać logi. Wtedy zostanie znaleziony nowy wzorzec ERROR, którego nie było w poprzednim okresie.
Utworzona aktualizacja prawdopodobnie coś zepsuła, więc należy wrócić do poprzedniej wersji aplikacji. Na razie autorzy zostawią to tak, jak jest, ponieważ liczba błędów jest akceptowalna dla wybranego przypadku użycia.
Wykrywanie anomalii w logu
Spadek liczby błędów uspokaja, jednak skąd wiedzieć czy dzieje się coś nieoczekiwanego? Wykrywanie nieprawidłowości w dziennikach CloudWatch wyszukuje nieoczekiwane wzorce w dziennikach podczas ich przetwarzania podczas pozyskiwania i można je włączyć na poziomie grupy dzienników.
Autorzy wybierają Grupy dzienników w panelu nawigacji i wpisują filtr, aby wyświetlić tę samą grupę dzienników, którą przeglądali wcześniej. Wybierają opcję Configure w kolumnie Anomaly detection, a następnie częstotliwość oceny wynoszącą 5 minut. Opcjonalnie można zastosować dłuższy interwał (do 60 minut) i dodać wzorce, aby przetwarzać tylko określone zdarzenia z dziennika w celu wykrycia anomalii.
Po aktywowaniu wykrywania anomalii dla tej grupy dzienników przychodzące dzienniki są stale oceniane w oparciu o historyczne wartości bazowe. Należy odczekać kilka minut i aby zobaczyć, co zostało wykryte, wybrać opcję Log anomalies w sekcji Logs panelu nawigacji.
Aby uprościć ten widok, można ukryć anomalie, które nas nie interesują. Na razie autorzy wybierają jedną z anomalii, aby w podobny sposób sprawdzić odpowiadający jej wzór.
Po tej dodatkowej kontroli można być pewnym, że nie występują istotne problemy związane z aplikacją. Dzięki wszystkim spostrzeżeniom, które zebrano dzięki nowym funkcjom, można teraz skupić się na błędach w dziennikach, aby zrozumieć, jak je skutecznie rozwiązać.
Warto wiedzieć
Amazon CloudWatch jest już dostępny we wszystkich komercyjnych regionach AWS, w których oferowany jest Amazon CloudWatch Logs, z wyjątkiem regionów Chin (Pekin, Ningxia) i Izraela (Tel Awiw).
Opłaty za wzorce i funkcje zapytań porównawczych są naliczane zgodnie z istniejącymi kosztami zapytań usługi Logs Insights. Porównanie jednogodzinnego okresu z innym jednogodzinnym okresem jest równoznaczne z uruchomieniem pojedynczego zapytania w ciągu dwóch godzin. Wykrywanie anomalii jest wliczone w cenę opłat za przetwarzanie logów i za tę funkcję nie są pobierane żadne dodatkowe opłaty. Aby uzyskać więcej informacji, zapoznaj się z cennikiem CloudWatch.
Uprość sposób analizowania dzienników dzięki automatycznej analizie wzorców logów CloudWatch
źródło: AWS