piątek, 31 października 2014

Camel Monitoring : Hawtio : Standalone solution : part 1

Monitorowanie procesów to bardzo ważna sprawa, gdyż pozwala wypełnić SLA projektu.
Zbieranie statystyk i monitoring powinien być procesem ciągłym i trwać przez cały proces developmentu oraz w pewnej określonej formie znajdować się na systemie produkcyjnym.


Samo podejście do monitorowanie nie jest specjalnie łatwe ale możemy wykorzystać tutaj cały arsenał features javy jak JMX, AOP (może nie koniecznie javy w tym przypadku,), biblioteki jak Metrics, Spring Boot Actuator, Guava StopWatch, JavaMelody, itd.





W Apache Camel można jeszcze wyróżnić komponenty jak :
 - Wiretap
 - Advicewith
 - Intercept
 - Log
 - Tracer
 - NotifyBuilder
 - DataSet
 - Metrics (since 2.14.0)

Ja jakiś czas temu zacząłem używać Hawtio do wizualizacji procesów Apache Camel.
Wygląda to świetnie.
Pokaże jak można szybko te dwie rzeczy zintegrować.

Prosta trasa :
Konfiguracja
Zwróć szczególną uwagę na klasę Main, którą użyłem .. teraz przykład z dokumentacji.
Pozwala ona na minimalizację pracy  programisty i łatwe wygaszanie procesów Camela. Bez niej musiałeś wszystko robić z palca lub też odpalać kontekst np na jakiś określony do testów czas.

Tip : Można wygaszać trasę Camela poprzez jej identyfikator ID - to często się przydaję, zwłaszcza w testach integracyjnych.
Intergracja z Hawtio :
Odpalam i widzę logi :
i teraz otrzymuje takie piękne wykresy i statystyki :) - zajebiscie :) - tylko dla tak pięknego dashboardu warto używać hawtio.








































Podsumowanie : 
Monitoring to konieczna podstawa wszyskiego jeśli mówimy o chęci zachowania SLA czy późniejszej poprawie wydajności czy eliminacji wąskich gardeł.
Poznając sposoby monitorowania poprawiasz jakość, bezpieczeństwo , wydajność swojego softu.
Dalsze możliwe formy monitorowania, które wymieniłem na początku  opiszę w następnych postach.
cdn

Brak komentarzy:

Prześlij komentarz