• CloudPouch NEW!
  • Blog
  • O stronie
  • Home

Cloudash - wi臋cej ni偶 przegl膮darka log贸w z CloudWatcha


Cloudash - wi臋cej ni偶 przegl膮darka log贸w z CloudWatcha

Cloudash to desktopowa aplikacja s艂u偶膮ca do przegl膮dania log贸w mikroserwis贸w serverless znajduj膮cych si臋 w CloudWatchu. Wersja 1.0.0 ukaza艂a si臋 stosunkowo niedawno i ju偶 zd膮偶y艂a podbi膰 serca wielu programist贸w serverless. Po bli偶szym przyjrzeniu i u偶ywaniu aplikacji przez blisko dwa tygodnie, musz臋 przyzna膰, i偶 zupe艂nie mnie nie to nie dziwi. Dlatego z ch臋ci膮 przybili偶臋 Ci najwa偶niejsze funkcje tego rozwi膮zania 馃槂

W telegraficznym skr贸cie: Cloudash u艂atwia dost臋p do log贸w aplikacji serverless przechowywanych w AWS CloudWatch, oraz na ich podstawie generuje przejrzyste wykresy, daj膮ce wgl膮d w jej stan.

Ze strony cloudash.dev, dowiemy si臋, 偶e to aplikacja s艂u偶膮ca do monitoringu. Nie jest to bynajmniej monitoring w chmurze, do kt贸rego przyzwyczai艂y nas przez ostatnie lata firmy zajmuj膮ce si臋 obserwowalno艣ci膮. Bowiem nie musimy nikomu dawa膰 dost臋pu do naszego konta AWS.

Jest to narz臋dzie z kategorii DX, czyli Developer Experience. Aplikacja desktopowa, kt贸ra w ci膮gu sekund pozwala nam si臋 dosta膰 do interesuj膮cych nas log贸w. Jest to niesamowicie wygodne, gdy poruszamy si臋 na co dzie艅 miedzy wieloma mikroserwisami na wielu kontach AWS (co jest zalecan膮 praktyk膮 bezpiecze艅stwa lub mamy wielu klient贸w).

Szybszy dost臋p do log贸w i metryk

Za powstaniem aplikacji stoj膮 bardzo jasne przes艂anki:

  • szybki i prosty dost臋p do log贸w
  • analiza i przedstawienie metryk dzia艂ania funkcji w czytelny spos贸b.

W Cloudash pracujemy w kontek艣cie serverlessowych projekt贸w. Naturalnym jest, 偶e ka偶dy programista ma pod sob膮 wiele projekt贸w mikroserwis贸w i taki podzia艂 ma sens. Zatem po uruchomieniu aplikacji, nie widzimy ca艂ego konta AWS i wszystkich log贸w - to bowiem mamy w konsoli CloudWatch i skopiowanie tego UX nie stanowi艂oby warto艣ci dla u偶ytkownika.

Jak to zatem wygl膮da?

Konfiguracja jest bardzo prosta. Po uruchomieniu, aplikacja pobiera list臋 naszych profili AWSowych z pliku ~/.aws/credentials. (Je艣li go nie znasz, to polecam ten znakomity artyku艂.) SSO jest wspierane.

Nast臋pnie, wybieramy jeden z profili i region, w tym momencie aplikacja pobiera list臋 stack贸w CloudFormation. Wybieramy ten, kt贸ry nas interesuje, nadajemy w艂asn膮 nazw臋 i voil脿, mamy skonfigurowany projekt.
Konfiguracja projektu

Ekran g艂贸wny projektu

Przechodz膮c na ekran projektu mamy do dyspozycji kart臋 overview z podsumowaniem statystyk dla ca艂ego mikroserwisu. Agreguje ona dane pochodz膮ce ze wszystkich funkcji Lambda (nale偶膮cych do wybranego stacka CloudFormation) na jednym dashboardzie.
Overview

Mo偶emy tu zobaczy膰 sumaryczn膮 ilo艣膰 wywo艂a艅 (invocations) wszystkich funkcji w danym okresie czasu, wraz z wykresem pi臋ciu najcz臋艣ciej uruchomionych. Podobnie mo偶emy obejrze膰 czasy trwania tych funkcji w 95 percentylu (P95). Jest to miara, kt贸ra m贸wi, 偶e 95% wywo艂a艅 tych funkcji trwa nie d艂u偶ej ni偶 warto艣膰 przedstawiona na wykresie.

Mamy r贸wnie偶 informacj臋 o wzgl臋dnej ilo艣ci wszystkich funkcji zako艅czonych b艂臋dem, oraz stosowny histogram.

Ekran funkcji

Dalej, dla ka偶dej funkcji Lambda mamy indywidualn膮 kart臋 na kt贸rej znajduje si臋 wykres z podstawowymi metrykami: ilo艣膰 wywo艂a艅, czas trwania (P95), oraz b艂臋dy.

Ekran funkcji

Pod wykresem widzimy logi z tego samego przedzia艂u czasu, kt贸ry jest wy艣wietlony na wykresie. Logi s膮 posortowane od najnowszych. W estetyczny spos贸b oznaczone s膮 start i koniec wywo艂ania funkcji oraz ewentualne b艂臋dy w logach. Logi mo偶emy oczywi艣cie przeszukiwa膰.

Jedn膮 z nieoczywistych funkcjonalno艣ci, a istn膮 pere艂k膮, w aplikacji jest mo偶liwo艣膰 zoomowania wykresu. Przybli偶aj膮c fragment wykresu, logi pod nim s膮 automatycznie filtrowane do aktualnie wy艣wietlanego przedzia艂u czasu. Tak膮 czynno艣膰 mo偶na wykona膰 wielokrotnie. W ten wizualny spos贸b mo偶emy wykres przybli偶y膰 do miejsca gdzie wyst膮pi艂 b艂膮d, a logi z b艂臋dem automagicznie pojawi膮 si臋 pod wykresem!

Szukanie bug贸w jeszcze nigdy nie sprawia艂o mi tyle frajdy! 馃ぃ

Przybli偶ony b艂膮d z ekranu powy偶ej

Przybli偶ony b艂膮d z ekranu powy偶ej, zauwa偶, 偶e wida膰 b艂膮d w logach.

Kolejny fajny ficzer to grupowanie log贸w po inwokacji - super opcja, gdy w tym samym czasie r贸wnolegle dzia艂a wiele instancji tej samej funkcji. To mega u艂atwia debugowanie.

Informacje z pierwszej r臋ki

W ramach przygotowania si臋 do napisania tego artyku艂u przeprowadzi艂em kr贸tki wywiad z autorem aplikacji Maciejem Winnickim. Tak, jest to dzie艂o Polaka, kt贸rego od niedawna wspiera nasz kolejny rodak Tomasz 艁akomy. Obaj panowie s膮 programistami i architektami rozwi膮za艅 serverless w AWS. Wsp贸lnie pracuj膮 w firmie Stedi.

Maciej udzieli艂 mi ciekawych informacji na temat genezy powstania Cloudash, jak r贸wnie偶 zdradzi艂 plany dalszego rozwoju.
Maciej Winnicki

Powiedzmy, 偶e co艣 si臋 dzieje z aplikacj膮 i po prostu chcesz zobaczy膰 logi pewnej funkcji. Obrazowo m贸wi膮c, co musisz zrobi膰? W zale偶no艣ci od tego jaki masz setupu to albo wchodzisz na SSO page i klikasz na konto albo wchodzisz na konto, podajesz token MFA, przelogowujesz si臋. Potem klikasz CloudWatch albo Lambd臋 je艣li wiesz, kt贸ra funkcja.

I ten proces zajmuje strasznie du偶o czasu i chodzi o to, aby skr贸ci膰 ten czas, 偶eby si臋 nie przeklikiwa膰, aby zobaczy膰 dlaczego Lambda si臋 wywali艂a. A jeszcze jak masz klika kont per env (stage), to jeszcze musisz si臋 przelogowywa膰 mi臋dzy nimi, albo u偶ywa膰 kilku przegl膮darek.

Chodzi o to, aby mie膰 lepszy user experience korzystania, 偶eby wszystko mie膰 w jednym miejscu. Na razie z CloudWatcha i Lambdy, ale pracujemy nad dodaniem log贸w i metryk z API Gateway, tak by mo偶na by艂o zobaczy膰 ca艂y flow.

Patrz膮c po odbiorze aplikacji przez community po jej wypuszczeniu, widz臋, 偶e rozwi膮zuje jaki艣 problem i na pewno dotyka pewnej rzeczy, kt贸ra rezonuje w艣r贸d ludzi.

Zapyta艂em Ma膰ka wprost o konkurencj臋. W ko艅cu na rynku od dawna dzia艂aj膮 rozwi膮zania do monitoringu i obserwowalno艣ci aplikacji serverless (np. lumigo, Thundra, Dashbird, Espagon, Datadog).

Teoretycznie to jest konkurencja. Tylko pomy艣lmy, czego oni ode mnie oczekuj膮? Dost臋pu do konta. Zasadnicza r贸偶nica jest w modelu pracy, ka偶dego z tych narz臋dzi. Oni pobieraj膮 dane z mojego konta i musisz im udost臋pni膰 dost臋p do tego konta. I oni non-stop cyklicznie pobieraj膮 dane z Twojego konta, co generuje pewne koszty.
My nie chcemy Twoich danych! Dostarczymy lepszy experience bez kopiowania wszystkich Twoich danych i wynoszenia ich na inne konto.

Na pytanie o dalsze plany rozwoju Maciek odpowiedzia艂:

Priorytet numer jeden to doda膰 API Gateway, potem lepsze usability przegl膮dania log贸w. Nast臋pnie wsparcie dla CloudWatch Insights.

Podsumowanie

Przyznam, 偶e w pierwszej chwili, gdy przeczyta艂em w internecie o tej aplikacji pomy艣la艂em:

CloudWatch nie jest taki z艂y, a do tego u偶ywam Lumigo. Po co mi to?

Ale ju偶 po kilku godzinach u偶ywania aplikacji by艂em sprzedany. Dedykowana aplikacja desktopowa jest po prostu wygodna w obs艂udze. Podzia艂 na projekty na podstawie stack贸w CloudFormation wydaje si臋 naturalny i oczywisty (uwierzcie mi, 偶e tak nie robi膮 wszyscy).

Niezaprzeczaln膮 i ogromn膮 zalet膮 Cloudash jest jego model pracy: z naszego komputera 艂膮czy si臋 bezpo艣rednio do chmury u偶ywaj膮c naszego profilu AWS. W efekcie, aby u偶ywa膰 tej aplikacji nie potrzebujemy 偶adnych zg贸d szefostwa i nie jeste艣my uzale偶nieni od widzi-mi-si臋 naszych klient贸w.

W jednej apce mo偶emy si臋 prze艂膮cza膰 pojedynczym klikni臋ciem mi臋dzy projektami, kontami AWS i klientami (zak艂adaj膮c, 偶e mamy wiele profili). Niesamowita wygoda, tym bardziej, 偶e w ka偶dym projekcie mamy ten sam przyjazny UI, te same wykresy itd.

Aplikacja Cloudash jest p艂atna. Sprzeda偶 dzia艂a w modelu miesi臋cznej subskrypcji, kt贸ra kosztuje 10 dolar贸w. Cena w stosunku do oferowanej warto艣ci mnie przekonuje. Szybko艣膰 i wygoda pracy, okraszona fajnymi wykresami (kt贸rych samemu nie musz臋 definiowa膰 w CloudWatch) wraz z obs艂ug膮 wielu kont AWS, s膮 zdecydowanie warte tych pieni臋dzy.

https://cloudash.dev/

Kupon promocyjny

Maciek i Tomek, autorzy Cloudash, przygotowali kupon promocyjny dla czytelnik贸w Serverless Polska.

Kupon: SERVERLESSPOLSKA pozwala kupi膰 roczn膮 licencj臋 50 procent taniej. Jest wa偶ny do ko艅ca miesi膮ca (pa藕dziernik 2021).




Cze艣膰

Nazywam si臋 Pawe艂 Zubkiewicz i ciesz臋 si臋, 偶e tu jeste艣!
Od ponad 18 lat profesjonalnie tworz臋 oprogramowanie, a od 2016 roku pasjonuje si臋 Serverless.
T膮 stron臋 stworzy艂em z my艣l膮 o Tobie i o nas wszystkich, kt贸rzy uwa偶aj膮, 偶e trend serverless trwale zmieni spos贸b tworzenia oprogramowania.
Wi臋cej o tej stronie...

Kategorie

Pobierz bezp艂atny PDF

Poradnik 12 Rzeczy o Serverless

Wybrane artyku艂y