David O'Brien (Xirus): Wskaźniki! Metryka! Metryka! Część 1

David O'Brien niedawno założył własną firmę Xirus (https://xirus.com.au), skupiającą się na produktach chmurowych Microsoft Azure Stack. Zostały zaprojektowane do spójnego tworzenia i uruchamiania aplikacji hybrydowych w centrach danych, lokalizacjach brzegowych, zdalnych biurach i chmurze.

David szkoli osoby i firmy we wszystkich aspektach Microsoft Azure i Azure DevOps (dawniej VSTS), a nadal zajmuje się praktycznym doradztwem i infrakodowaniem. Od 5 lat jest zdobywcą nagrody Microsoft MVP (Microsoft Most Valuable Professional), a ostatnio otrzymał nagrodę Azure MVP. Jako współorganizator spotkania Microsoft Cloud and Datacentre Meetup w Melbourne, O'Brien regularnie przemawia na międzynarodowych konferencjach, łącząc swoje zainteresowanie podróżowaniem po świecie z pasją dzielenia się historiami IT ze społecznością. Blog Dawida znajduje się pod adresem david-obrien.netpublikuje także swoje szkolenia online w serwisie Pluralsight.

Wykład omawia znaczenie metryk w zrozumieniu tego, co dzieje się w Twoim środowisku i jak działa Twoja aplikacja. Microsoft Azure oferuje zaawansowany i łatwy sposób wyświetlania metryk dla wszelkiego rodzaju obciążeń, a wykład wyjaśnia, jak można z nich wszystkich korzystać.

W niedzielę o trzeciej nad ranem, gdy śpisz, nagle budzi Cię wiadomość tekstowa: „Aplikacja na stan nadkrytyczny znów nie odpowiada”. Co się dzieje? Gdzie i jaki jest powód „hamulców”? Podczas tej prelekcji dowiesz się o usługach, które Microsoft Azure oferuje klientom w celu gromadzenia logów, a w szczególności metryk z obciążeń w chmurze. David podpowie Ci, jakie metryki powinny Cię interesować pracując na platformie chmurowej i jak do nich dotrzeć. Dowiesz się o narzędziach open source i budowaniu pulpitów nawigacyjnych, a będziesz mieć wystarczającą wiedzę, aby tworzyć własne pulpity nawigacyjne.

A jeśli o 3 w nocy ponownie obudzi Cię komunikat o awarii krytycznej aplikacji, możesz szybko znaleźć przyczynę.

Dzień dobry, dziś porozmawiamy o metrykach. Nazywam się David O'Brien, jestem współzałożycielem i właścicielem małej australijskiej firmy konsultingowej Xirus. Jeszcze raz dziękuję, że przyszliście tutaj, aby spędzić ze mną czas. Dlaczego więc tu jesteśmy? Skoro mowa o metrykach, a raczej opowiem o nich, a zanim zaczniemy cokolwiek robić, zacznijmy od teorii.

David O'Brien (Xirus): Wskaźniki! Metryka! Metryka! Część 1

Opowiem Ci czym są metryki, co możesz z nimi zrobić, na co musisz zwrócić uwagę, jak zbierać i umożliwiać zbieranie metryk na Azure oraz na czym polega wizualizacja metryk. Pokażę Ci jak te rzeczy wyglądają w chmurze Microsoftu i jak z tą chmurą pracować.

Zanim zaczniemy, poproszę o podniesienie ręki tych, którzy korzystają z Microsoft Azure. Kto współpracuje z AWS? Widzę niewielu. A co z Googlem? Chmura ALI? Jeden mężczyzna! Świetnie. Czym są zatem metryki? Oficjalna definicja Amerykańskiego Narodowego Instytutu Standardów i Technologii brzmi: „Metryka to standard pomiarowy, który opisuje warunki i zasady pomiaru właściwości i służy do zrozumienia wyników pomiarów”. Co to znaczy?

Weźmy przykład metryki zmiany wolnego miejsca na dysku maszyny wirtualnej. Na przykład otrzymujemy liczbę 90, a liczba ta oznacza procent, czyli ilość wolnego miejsca na dysku wynoszącą 90%. Zaznaczam, że mało interesująca jest lektura opisu definicji metryk, który zajmuje 40 stron w formacie pdf.

Metryka nie mówi jednak, w jaki sposób uzyskano wynik pomiaru, a jedynie pokazuje ten wynik. Co robimy z metrykami?

Najpierw mierzymy wartość czegoś, aby następnie wykorzystać wynik pomiaru.

David O'Brien (Xirus): Wskaźniki! Metryka! Metryka! Część 1

Na przykład dowiedzieliśmy się, ile jest wolnego miejsca na dysku i teraz możemy go wykorzystać, wykorzystać tę pamięć itp. Po otrzymaniu wyniku metrycznego musimy go zinterpretować. Na przykład metryka zwróciła wynik 90. ​​Musimy wiedzieć, co oznacza ta liczba: ilość wolnego miejsca lub ilość zajętego miejsca na dysku w procentach lub gigabajtach, opóźnienie sieci równe 90 ms i tak dalej, czyli , musimy zinterpretować znaczenie wartości metryki. Aby metryki w ogóle miały sens, po zinterpretowaniu pojedynczej wartości metryki, musimy zadbać o to, aby zebranych zostało wiele wartości. Jest to bardzo ważne, ponieważ wiele osób nie jest świadomych konieczności gromadzenia wskaźników. Firma Microsoft bardzo ułatwiła zbieranie metryk, ale od Ciebie zależy, czy zostaną one zebrane. Dane te są przechowywane tylko przez 41 dni i znikają 42 dnia. Dlatego w zależności od właściwości Twojego sprzętu zewnętrznego lub wewnętrznego warto zadbać o to, jak zapisać metryki na dłużej niż 41 dni – w postaci logów, logów itp. Dlatego po pobraniu należy je umieścić w miejscu, które w razie potrzeby pozwoli na wyciągnięcie wszelkich statystyk zmian wyników metryki. Gdy już je tam umieścisz, możesz zacząć efektywnie z nimi pracować.

Dopiero po uzyskaniu metryk, zinterpretowaniu ich i zebraniu możesz stworzyć umowę SLA – Service Level Agreement. Ta umowa SLA może nie mieć większego znaczenia dla Twoich klientów; jest ważniejsza dla Twoich współpracowników, menedżerów, osób utrzymujących system i dbających o jego funkcjonalność. Metryka może mierzyć liczbę zgłoszeń – np. otrzymujesz 5 zgłoszeń dziennie i w tym przypadku pokazuje szybkość reakcji na zgłoszenia użytkowników oraz szybkość rozwiązywania problemów. Wskaźnik nie powinien po prostu wskazywać, że Twoja witryna ładuje się w 20 ms lub że szybkość reakcji wynosi 20 ms. Metryka to coś więcej niż tylko jeden wskaźnik techniczny.

Dlatego zadaniem naszej rozmowy jest przedstawienie Państwu szczegółowego obrazu istoty metryk. Metryka służy temu, aby patrząc na nią uzyskać pełny obraz procesu.

David O'Brien (Xirus): Wskaźniki! Metryka! Metryka! Część 1

Kiedy już uzyskamy dane, możemy na 99% zagwarantować, że system działa, ponieważ nie tylko sprawdzenie pliku dziennika stwierdza, że ​​system działa. Gwarancja dostępności na poziomie 99% oznacza, że ​​na przykład API przez 99% czasu odpowiada z normalną szybkością 30 ms. To jest dokładnie to, co interesuje Twoich użytkowników, Twoich współpracowników i menedżerów. Wielu naszych klientów monitoruje logi serwera WWW, ale nie zauważa w nich żadnych błędów i uważa, że ​​wszystko jest w porządku. Na przykład widzą prędkość sieci 200 Mb/s i myślą: „ok, wszystko jest super!” Aby jednak osiągnąć te 200, użytkownicy potrzebują czasu reakcji wynoszącego 30 milisekund i właśnie tego wskaźnika nie mierzy się i nie gromadzi w plikach dziennika. Jednocześnie użytkownicy dziwią się, że strona ładuje się bardzo wolno, bo nie mając niezbędnych metryk, nie znają przyczyn takiego zachowania.

Ponieważ jednak mamy umowę SLA zapewniającą 100% dostępności, klienci zaczynają narzekać, ponieważ korzystanie z witryny jest w rzeczywistości bardzo trudne. Dlatego, aby stworzyć obiektywną umowę SLA, konieczne jest zobaczenie pełnego obrazu procesu tworzonego przez zebrane metryki. Jest to ciągły problem, z którym spotykam się z niektórymi dostawcami, którzy tworząc umowy SLA nie mają pojęcia, co oznacza termin „uptime” i w większości przypadków nie wyjaśniają swoim klientom, jak działa ich API.

Jeśli stworzyłeś usługę, na przykład API dla osoby trzeciej, powinieneś zrozumieć, co oznacza wynikowa metryka 39,5 - odpowiedź, odpowiedź pomyślna, odpowiedź z szybkością 20 ms lub z szybkością 5 ms. Do Ciebie należy dostosowanie umowy SLA do Twojej własnej umowy SLA, do własnych wskaźników.

Kiedy już to wszystko wymyślisz, możesz zacząć tworzyć oszałamiający pulpit nawigacyjny. Powiedzcie mi, czy ktoś już korzystał z aplikacji do interaktywnych wizualizacji Grafana? Świetnie! Jestem wielkim fanem tego oprogramowania typu open source, ponieważ jest ono bezpłatne i łatwe w użyciu.

David O'Brien (Xirus): Wskaźniki! Metryka! Metryka! Część 1

Jeśli jeszcze nie korzystałeś z Grafany, powiem Ci jak z nią pracować. Każdy, kto urodził się w latach 80. i 90., prawdopodobnie pamięta CareBears? Nie wiem, jak popularne były te niedźwiedzie w Rosji, ale jeśli chodzi o wskaźniki, powinniśmy być tymi samymi „troskliwymi misiami”. Jak powiedziałem, potrzebny jest pełny obraz działania całego systemu, a nie powinien on dotyczyć tylko Twojego API, Twojej witryny internetowej czy usługi działającej na maszynie wirtualnej.

David O'Brien (Xirus): Wskaźniki! Metryka! Metryka! Część 1

Należy zorganizować zbiór tych metryk, które najpełniej odzwierciedlają działanie całego systemu. Większość z Was jest programistami, więc Wasze życie ciągle się zmienia, dostosowując się do nowych wymagań produktu i tak samo jak zajmujecie się procesami kodowania, tak powinniście zajmować się metrykami. Musisz wiedzieć, jak metryka odnosi się do każdej linii kodu, którą piszesz. Na przykład w przyszłym tygodniu rozpoczynasz nową kampanię marketingową i spodziewasz się, że Twoją witrynę odwiedzi duża liczba użytkowników. Do analizy tego zdarzenia potrzebne będą metryki, a być może potrzebny będzie cały dashboard do śledzenia aktywności tych osób. Będziesz potrzebować wskaźników, aby zrozumieć, jak skuteczna jest Twoja kampania marketingowa i jaka jest jej rzeczywista skuteczność. Pomogą Ci np. opracować skuteczny CRM – system zarządzania relacjami z klientami.

Zacznijmy więc od naszej usługi w chmurze Azure. Bardzo łatwo jest znaleźć i zorganizować kolekcję metryk, ponieważ ma ona usługę Azure Monitor. Ten monitor centralizuje zarządzanie konfiguracją systemu. Każdy z elementów platformy Azure, który chcesz zastosować w swoim systemie, ma domyślnie włączonych wiele metryk. Jest to darmowa aplikacja, która działa od razu po wyjęciu z pudełka i nie wymaga żadnych ustawień wstępnych, nie trzeba niczego pisać ani „wkręcać” w swój system. Sprawdzimy to, oglądając poniższe demo.

David O'Brien (Xirus): Wskaźniki! Metryka! Metryka! Część 1

Ponadto możliwe jest wysyłanie tych metryk do aplikacji innych firm, takich jak system przechowywania i analizy logów Splunk, oparta na chmurze aplikacja do zarządzania logami SumoLogic, narzędzie do przetwarzania logów ELK i IBM Radar. To prawda, że ​​​​istnieją niewielkie różnice, które zależą od wykorzystywanych zasobów - maszyny wirtualnej, usług sieciowych, baz danych Azure SQL, czyli wykorzystanie metryk różni się w zależności od funkcji Twojego środowiska pracy. Nie twierdzę, że te różnice są poważne, ale niestety nadal występują i należy to wziąć pod uwagę. Włączanie i wysyłanie metryk jest możliwe na kilka sposobów: poprzez Portal, CLI/Power Shell lub przy użyciu szablonów ARM.

David O'Brien (Xirus): Wskaźniki! Metryka! Metryka! Część 1

Zanim rozpocznę moje pierwsze demo, odpowiem na wszelkie pytania. Jeśli nie ma pytań, zaczynajmy. Na ekranie widać, jak wygląda strona Azure Monitor. Czy ktoś z Was może powiedzieć, że ten monitor nie działa?

David O'Brien (Xirus): Wskaźniki! Metryka! Metryka! Część 1

Więc teraz wszystko jest w porządku, możesz zobaczyć, jak wyglądają usługi monitorowania. Mogę powiedzieć, że jest to doskonałe i bardzo proste narzędzie do codziennej pracy. Można go używać do monitorowania aplikacji, sieci i infrastruktury. Ostatnio interfejs monitorowania został udoskonalony i jeśli wcześniej usługi znajdowały się w różnych miejscach, teraz wszystkie informacje o usługach są konsolidowane na stronie głównej monitora.

Tabela metryk to zakładka znajdująca się na ścieżce HomeMonitorMetrics, do której możesz przejść, aby wyświetlić wszystkie dostępne metryki i wybrać te, których potrzebujesz. Jeśli jednak chcesz włączyć zbieranie metryk, musisz użyć ścieżki katalogu ustawień HomeMonitorDiagnostic i zaznaczyć pola wyboru metryk Włączone/Wyłączone. Domyślnie prawie wszystkie metryki są włączone, ale jeśli chcesz włączyć coś dodatkowego, będziesz musiał zmienić status diagnostyczny z Wyłączony na Włączony.

David O'Brien (Xirus): Wskaźniki! Metryka! Metryka! Część 1

Aby to zrobić, kliknij linię wybranej metryki i na zakładce, która się otworzy, włącz tryb diagnostyczny. Jeżeli zamierzasz analizować wybraną metrykę, to po kliknięciu linku Włącz diagnostykę należy w wyświetlonym oknie zaznaczyć pole wyboru Wyślij do Log Analytics.

David O'Brien (Xirus): Wskaźniki! Metryka! Metryka! Część 1

Log Analytics jest nieco podobny do Splunk, ale kosztuje mniej. Ta usługa umożliwia zbieranie wszystkich metryk, dzienników i wszystkiego, czego potrzebujesz, i umieszczanie ich w obszarze roboczym Log Analytics. Usługa wykorzystuje specjalny język przetwarzania zapytań KQL - Kusto Quarry Language, jego działaniu przyjrzymy się w kolejnym demie. Na razie zaznaczę, że za jego pomocą można tworzyć zapytania dotyczące metryk, logów, terminów, trendów, wzorców itp. i tworzyć dashboardy.

Zatem zaznaczamy checkbox Send to Log Analytics oraz checkboxy panelu LOG: DataPlaneRequests, MongoRequests i QueryRuntimeStatistics, a poniżej na panelu METRIC – checkbox Requests. Następnie nadajemy nazwę i zapisujemy ustawienia. W wierszu poleceń reprezentuje to dwie linie kodu. Swoją drogą Azure Cloud Shell pod tym względem przypomina Google, co pozwala także na korzystanie z wiersza poleceń w przeglądarce internetowej. AWS nie ma czegoś takiego, więc Azure jest pod tym względem znacznie wygodniejszy.

Na przykład mogę uruchomić wersję demonstracyjną za pośrednictwem interfejsu internetowego bez użycia żadnego kodu na moim laptopie. Aby to zrobić, muszę uwierzytelnić się przy użyciu mojego konta platformy Azure. Można wówczas zastosować np. terrafone, jeśli już z niego korzystasz, poczekać na połączenie z usługą i uzyskać środowisko pracy Linux, z którego domyślnie korzysta Microsoft.

David O'Brien (Xirus): Wskaźniki! Metryka! Metryka! Część 1

Następnie używam Bash, wbudowanego w Azure Cloud Shell. Bardzo przydatną rzeczą jest wbudowane w przeglądarkę IDE, czyli lekka wersja VS Code. Następnie mogę przejść do szablonu metryk błędów, edytować go i dostosować do własnych potrzeb.

David O'Brien (Xirus): Wskaźniki! Metryka! Metryka! Część 1

Po skonfigurowaniu gromadzenia metryk w tym szablonie można go użyć do utworzenia metryk dla całej infrastruktury. Po zastosowaniu wskaźników, zebraniu ich i zapisaniu musimy je zwizualizować.

David O'Brien (Xirus): Wskaźniki! Metryka! Metryka! Część 1

Azure Monitor zajmuje się tylko metrykami i nie zapewnia ogólnego obrazu kondycji systemu. Poza środowiskiem platformy Azure może działać wiele innych aplikacji. Jeśli więc potrzebujesz monitorować wszystkie procesy, wizualizując wszystkie zebrane metryki w jednym miejscu, to Azure Monitor się do tego nie nadaje.

Aby rozwiązać ten problem, Microsoft oferuje narzędzie Power BI, czyli kompleksowe oprogramowanie do analizy biznesowej, które obejmuje wizualizację szerokiej gamy danych. Jest to dość drogi produkt, którego koszt zależy od zestawu potrzebnych funkcji. Domyślnie oferuje 48 rodzajów danych do przetworzenia i jest powiązany z usługami Azure SQL Data Warehouse, Azure Data Lake Storage, Azure Machine Learning Services i Azure Databricks. Dzięki skalowalności możesz otrzymywać nowe dane co 30 minut. Może to być wystarczające dla Twoich potrzeb, jeśli potrzebujesz wizualizacji monitorowania w czasie rzeczywistym. W tym przypadku zalecane jest skorzystanie z aplikacji takich jak wspomniana przeze mnie Grafana. Dodatkowo dokumentacja Microsoft opisuje możliwość przesyłania metryk, logów i tabel zdarzeń przy pomocy narzędzi SIEM do systemów wizualizacji Splunk, SumoLogic, ELK i IBM radar.

23:40 min

Ciąg dalszy już wkrótce...

Kilka reklam 🙂

Dziękujemy za pobyt z nami. Podobają Ci się nasze artykuły? Chcesz zobaczyć więcej ciekawych treści? Wesprzyj nas składając zamówienie lub polecając znajomym, VPS w chmurze dla programistów od 4.99 USD, unikalny odpowiednik serwerów klasy podstawowej, który został przez nas wymyślony dla Ciebie: Cała prawda o VPS (KVM) E5-2697 v3 (6 rdzeni) 10GB DDR4 480GB SSD 1Gbps od 19$ czyli jak udostępnić serwer? (dostępne z RAID1 i RAID10, do 24 rdzeni i do 40 GB DDR4).

Dell R730xd 2 razy taniej w centrum danych Equinix Tier IV w Amsterdamie? Tylko tutaj 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6 GHz 14C 64 GB DDR4 4x960 GB SSD 1 Gb/s 100 Telewizor od 199 USD w Holandii! Dell R420 — 2x E5-2430 2.2 GHz 6C 128 GB DDR3 2x960 GB SSD 1 Gb/s 100 TB — od 99 USD! Czytać o Jak zbudować firmę infrastrukturalną klasy z wykorzystaniem serwerów Dell R730xd E5-2650 v4 o wartości 9000 euro za grosz?

Źródło: www.habr.com

Dodaj komentarz