Łukasz Bielak

Łukasz Bielak

Jak monitorować produkcję w Azure?

Po wdrożeniu systemu na produkcję istnieje ciągła potrzeba monitorowania go. Oczywiście powinno się monitorować zarówno dostępność wszystkich elementów, ich wydajność, ale w przypadku systemów BI również to, czy mamy aktualne dane. Z pomocą przychodzą tutaj usługi Azure Log Analytics i Alertów. Ta pierwsza zbiera na bieżąco informacje o konkretnych usługach, umożliwiając ich późniejszą analizę. Druga natomiast, w razie jakichkolwiek problemów, wyśle stosowne ostrzeżenie do Administratora. W tym wpisie pokażę jak skonfigurować te usługi na przykładzie Azure Analysis Services.

Po co monitorować produkcję?

Przede wszystkim po to, aby zapewnić użytkownikom poczucie, że ktoś czuwa nad systemem, a co za tym idzie, że jest on stabilny. Stosując analogię – dużo lepiej zareagujesz na wiadomość, że system przestał działać, ale ktoś go naprawia, niż gdy zobaczysz, że coś nie działa, ale nie wiesz ile to może potrwać. Po kilku takich sytuacjach możesz mieć poczucie, że twoja praca będzie nieoczekiwanie przerwana, a ty nie dostarczysz jakiegoś zestawiania na czas. Drugim powodem jest oczywiście fakt, że powinniśmy eliminować wszelkie przyczyny niedostępności systemu, a dzięki logom mamy informację jaki był powód i czas wystąpienia problemu. W systemach BI istotne jest także zapewnienie aktualnych danych. Dlatego często śledzimy procesy ETL, aby w razie problemów, jak najszybciej załadować świeże dane.

Jakie mamy sposoby na monitorowanie?

Oczywiście jest wiele narzędzi, z których można wybierać. Ale można również stworzyć swoje własne, jeśli te dostępne na rynku z jakichś powodów nie spełniają naszych wymagań. W przypadku platformy Azure do usług dostajemy “podstawowy” pakiet, który umożliwia nam zbudowanie prostego systemu do monitoringu. W skład tego pakietu wchodzą Alerty, czyli funkcjonalność informująca, że jakaś metryka przekroczyła próg. Powiadomienie o problemie można otrzymać za pośrednictwem maila, sms-a czy nawet wiadomości głosowej. Możemy też zdefiniować grupę odbiorców takiej wiadomości. Pozostaje nam tylko wybrać odpowiednie parametry, które wyzwolą wysłanie wiadomości.

Jak skonfigurować Alerty - przykład Azure Analysis Services

Po pierwsze, należy wybrać metrykę, która będzie opisywała problem. Załóżmy, że chcemy dostać informację w momencie, kiedy Analysis Services przestaje odpowiadać, jaka metryka opisuje taką sytuację. Można pomyśleć, że jeśli wartość QPU będzie na maksymalnym poziomie, to prawdopodobnie możemy się spodziewać problemów. Otóż nie do końca, bo mogą zdarzyć się sytuacje, w których na wykresie pojawią się piki (bo np. ktoś uruchomi ciężkie zapytanie i taki pik nastąpi). Lepiej jest skorzystać z miary Query Pool Busy Threads, która opisuje jak wiele zapytań “czeka w kolejce”. Jeśli ta średnia liczba utrzymuje się na poziomie 50 w czasie 5 minut oznacza to, że “coś się dzieje”, a prawdopodobnie ruch na modelu jest bardzo duży i AS nie daje sobie rady. Oczywiście to, kiedy alert zostanie wysłany, należy dobrać do własnych preferencji. Jak to zrobić?

1. Wybierz usługę i przejdź do zakładki Alerts.

2. Wybierz opcję “New alert rule”.

3. Skonfiguruj zasób, do którego chcesz przypisać alert i warunek.

4. Dodaj grupę odbiorców, nazwę i poziom ważności. Teraz możesz utworzyć regułę.

5. Pozostaje czekać na maila.

Jak skonfigurować Log Analytics?

Konfiguracja tej usługi, a także podłączenie innych, które będą zbierały logi, są bardzo proste. Więcej wysiłku będzie wymagać odpytywanie zebranych logów. Jakie informacje są zbierane? To zależy od typu zasobu, natomiast wróćmy do Analysis Services. Odpytując Log Analytics można zobaczyć zarówno treść zapytań, które były uruchamiane, czas ich trwania, użytkownika, a także wiele innych informacji. Możemy to wykorzystać w momencie, kiedy któryś z użytkowników skarży się na wydajność. Wystarczy, że odnajdziemy zapytania, które uruchamiał i spróbujemy zoptymalizować wykorzystane miary. Wracając do konfiguracji:

1. Konieczne jest utworzenie zasobu, konfiguracja jest bardzo prosta.

2. Następnie trzeba przypiąć usługę Log Analytics do zasobu, który chcemy monitorować.

3. Pozostaje przejść do Log Analytics i wykonać przykładowe zapytanie

4. Logi można przeglądać również w Power BI, i na ich podstawie tworzyć przejrzyste raporty.

Do czego jeszcze można wykorzystać logi i alerty?

W skrócie – do wielu innych rzeczy. Możemy np. monitorować Azure Data Factory (kiedy któryś z pipelinów zakończy się błędem, dostaniemy maila z informacją), a także wiele innych usług – na różne sposoby. Zaleta Log Analytics i Alertów jest taka, że są to usługi, które bardzo łatwo skonfigurować i nie ma konieczności budowania dodatkowych rozwiązań do monitorowania systemu.

Jeżeli zainteresowała cię tematyka alertów – zapraszam na YouTube. Na moim kanale umieściłem nowy film, z którego dowiesz się na ten temat jeszcze więcej!

Udostępnij post

Share on facebook
Share on twitter
Share on linkedin
Share on print
Share on email

Pozostańmy w kontakcie

Jeżeli chcesz być na bieżąco informowany o nowych wpisach oraz dostawać materiały, których nie publikuję na blogu - zapisz się do newslettera!