Piotr Jasiulewicz

Piotr Jasiulewicz PHP/Java
professional

Temat: Staly monitoring aplikacji

Czesc,

chce Was zapytac, drogie kolezanki i koledzy o Wasze doswiadczenie w kwestii stalego monitoringu aplikacji w Java.

Aplikacja, ktora buduje, w swojej naturze jest rozproszona i dziala na zasadzie mastera i workerow w stosunku 1:N gdzie N jest od 2 do bardzo duzo. Istotnym elementem skladanki jest to, ze N zmienia sie plynnie (wszystko na Amazon AWS) w zaleznosci od ilosci zadan na masterze, tak wiec dochodzi problem, ze nie mozemy skladowac logow itd lokalnie bo najzwyczajniej przestan istniec jak maszyn zostanie wylaczona.

Co chce monitorowac?
- wydajnosc aplikacji w czasie, czyli czy jest np spadek wydajnosci zalezny od
- wydajnosc kolejnych wersji - dobrze porownac, czy nasza super optymalizacja przypadkiem czegosc nie wysadza
- samo dzialania aplikacji i czy nie wybucha (czy nie wali exceptionow)
- parametry JVM, czas GC
- transakcje biznesowe, czyli jak cala "machina" wplywa na ilosc danych i ilosc jednostek przechodzacych przez system

Przegladalem popularne rozwiazania:
- NewRelic - moze monitorowac sporo, ale potrzebuje web containera (tomcat7), z ktorym moja aplikacja na razie sie gryzie (jakies problemy z zaleznosciami springa - chyba)
- ServerDensity - monitoring SaaS, ale maja plugin do monitoringu JVMa, troche malo
- appDynamics - sa super drodzy, aplikacja potrafi sama okreslic (ponoc) transakcje biznesowe, polaczenia z innymi maszynami o raz co ciekawe, potrafi sama okreslic co jest "normalnym" obciazeniem dla Twojej aplikacji

Zastanawiam sie, czy nie ma jakichs jeszcze, moze bardziej niskopoziomowych sposobow na monitoring?

Pozdrawiam,
Piotr
Łukasz Kwiatkowski

Łukasz Kwiatkowski Programista Java

Temat: Staly monitoring aplikacji

Pewnie ZABBIXa znasz (http://www.zabbix.com/)
Jest to open sourcowe narzędzie do monitoringu wszystkiego. Tyle, że nie potrafi (chyba) "magicznie" analizować aplikacji. Parametry biznesowe musiałbyś udostępniać przez JMX.
Piotr Jasiulewicz

Piotr Jasiulewicz PHP/Java
professional

Temat: Staly monitoring aplikacji

No wlasnie zastanawialem sie nad takim zabibix/nagios ale imho to nie dla 3 osobowego teamu bo to tez trzeba potem utrzymac. Ale dzieki za rade:)Ten post został edytowany przez Autora dnia 17.06.13 o godzinie 11:49
Łukasz Kwiatkowski

Łukasz Kwiatkowski Programista Java

Temat: Staly monitoring aplikacji

Utrzymać i tak będziesz musiał.
Jeżeli chodzi o samą konfigurację i zbieranie podstawowych informacji o systemie to agenty zabbixowe są wstępnie skonfigurowane i dostarczają sporo informacji. Przetestowanie zabbixa zajmie Ci jeden dzień, tak więc warto sprawdzić.
Szymon Biliński

Szymon Biliński Programista Java

Temat: Staly monitoring aplikacji

Jeżeli środowiskiem jest AWS, to proponowałbym zapoznać się z CloudWatch (o ile jeszcze tego nie zrobiłeś). Jest to bardzo wygodne i w pełni programowalne rozwiązanie.
Piotr Jasiulewicz

Piotr Jasiulewicz PHP/Java
professional

Temat: Staly monitoring aplikacji

CloudWatch to pierwsze co widzialem, nie za bardzo jednak wiem jak z monitoringiem JVMa ?
Szymon Biliński

Szymon Biliński Programista Java

Temat: Staly monitoring aplikacji

Stan JVM najłatwiej uzyskać za pomocą JMX (przykład). Integracja z CloudWatch jest kwestią utworzenia odpowiedniej metryki i jej zasilenia za pomocą prostego skryptu (np. parę linijek odpalanych z cron'a).

Możliwe, że SDK udostępniane przez Amazon posiada też jakieś dodatkowe funkcje, które ułatwiają monitorowanie JVM, ale niestety nie jestem w stanie się szerzej wypowiedzieć w tej kwestii.

Tak czy inaczej, sugerowałbym bliższe zapoznanie się z CW, bo przy pracy z EC2 jest to wręcz narzucające się rozwiązanie (m. in. dlatego, że łatwo się tym zarządza w kontekście skalowania i nie tylko).
Piotr Jasiulewicz

Piotr Jasiulewicz PHP/Java
professional

Temat: Staly monitoring aplikacji

Ok, przyjrze sie glebiej, nie ukrywam, ze CW jest troche meczacy jesli o ustawianie (bo szukam czegos mneij wiecej gotowego). Do serwerow odpowiada nam NewRelic - bo jest ladny i ergonomiczny... ale mega drogi. Probowalem tez ServerDensity - wszystko sie rozsypuje, wiekszosc rzezcy nei dziala, 2 tyg naprawiali buga, zeby mogl w ogoel cokolwiek zaczac wiec odpadli.
Tomasz D

Tomasz D Programista
Java/JEE, freelancer

Temat: Staly monitoring aplikacji

Zobacz może polski (mojej firmy) serwis JBison (https://jbison.com/ ), to moze nie jest ten rozmiar kapelusza co wspomniane wyżej, ale w prostocie jego siła.

My używamy go do monitorwania stanu kilku kolejek przetwarzających wiadomości (dość duże ilości tych wiadomości), mamy rest-api, które zwraca Jsona, a JBison podnosi alarm jak wartości przekraczają zdefiniowany próg.
Piotr Jasiulewicz

Piotr Jasiulewicz PHP/Java
professional

Temat: Staly monitoring aplikacji

@Tomasz Diurko

Spoko, zobacze, ale widac, ze bezpieczenstwo maja w top... 50 - cert im (hmm, patrzac na Twoj profile to w zasadzie Wam) sie wywala na dzien dobry ;-)
Tomasz D

Tomasz D Programista
Java/JEE, freelancer

Temat: Staly monitoring aplikacji

Piotr J.:
@Tomasz Diurko

Spoko, zobacze, ale widac, ze bezpieczenstwo maja w top... 50 - cert im (hmm, patrzac na Twoj profile to w zasadzie Wam) sie wywala na dzien dobry ;-)

Hmm... w jakim sensie się wywala? Nie jestem w tym projekcie, no to taka poboczna appka z funkcjonalnościami, których sami potrzebowaliśmy.
Piotr Jasiulewicz

Piotr Jasiulewicz PHP/Java
professional

Temat: Staly monitoring aplikacji

Chrome mu nie ufa i musisz troche poklikac, aby przejsc dalej.
Piotr Jasiulewicz

Piotr Jasiulewicz PHP/Java
professional

Temat: Staly monitoring aplikacji

Znalazlem cos takiego

http://metrics.codahale.com/

jakby kogos interesowalo ;) Wyglada niezle wiec warto sprobowac.
Łukasz D.

Łukasz D. Software Developer,
DevOps Fan

Temat: Staly monitoring aplikacji

Piotr J.:
Chrome mu nie ufa i musisz troche poklikac, aby przejsc dalej.

U mnie na Chromium Wersja 28.0.1500.52 Ubuntu 13.04 (28.0.1500.52-0ubuntu1.13.04.3) certyfikat przeszedł bez problemów
Piotr Jasiulewicz

Piotr Jasiulewicz PHP/Java
professional

Temat: Staly monitoring aplikacji

Tak, teraz juz przechodzi, to bylo dosc dawno wiec juz ogarneli ;)
Tomasz D

Tomasz D Programista
Java/JEE, freelancer

Temat: Staly monitoring aplikacji

Tak, Zgłosiliśmy komu trzeba, że SSL na https://jbison.com/ nie wszystkim działa :)

Następna dyskusja:

Administrator Aplikacji - J2EE




Wyślij zaproszenie do