Dziś temat, nad którym długo się zastanawiałem. Monitorowanie Aplikacji. Z jednej strony, temat złożony, a z drugiej nie taki straszny jak się może wydawać. Przy tym wszystkim, zostaje jeszcze aspekt tego jak opisać to zagadnienie w sposób, który zainteresuje Ciebie.
Promocja na kursy z Cyberbezpieczeństwa!
Zapisy przyjmujemy do 13 listopada do 23:59! . Skorzystaj z promocji: https://asdevops.pl/nis2-promocja/
Teoretycznie, mógłbym opisać monitoring jakiegoś CRMa. Jednak skąd mam pewność, że Ty nie używasz rozwiązania konkurencji? Wtedy, taka instrukcja miała by raczej niewielką wartość dla Ciebie.
Postanowiłem przygotować instrukcję, która:
– pokaże przykładowe wyciągnięcie danych z aplikacji,
– komunikację przez API i JSON
i jednocześnie będzie dla Ciebie interesująca. Zrobimy zatem monitoring na przykładzie… aplikacji pogodowej. Oczywiście, jeżeli masz jakieś propozycje na temat tego, co chciałbyś abym opisał, to śmiało pisz. Może interesował Cię będzie również monitoring Dockera?
Poniżej znajdziesz instrukcję na to, jak taki monitoring wykonać. Zanim jednak do tego przejdziemy, warto pamiętać o podstawach.
Aplikacja, niezależnie od rodzaju użytego języka oprogramowania, frameworka czy bazy danych to dalej serwer. Tzw. serwer aplikacyjny. A skoro tak to warto pamiętać o tym, aby monitorować ten serwer jak każdy inny.
Najpierw podłącz do Zabbixa podstawowe parametry typu CPU, pamięć i dysk twardy. Do tego, warto pamiętać o bazie danych. Przede wszystkim, czy jest dostępna? Do tego, możesz monitorować takie parametry jak kolejki bazy czy też czas wykonywania zapytań. Również same wartości w tabelach. Wszak, każda aplikacja to jakiś serwer. Inny przykład. Jeżeli wykorzystujesz Dockera, to pamiętaj, aby skorzystać z oficjalnego szablonu Zabbixa do Dockera.
Monitorowanie Aplikacji
Zademonstruję teraz jak wykorzystać w Zabbixie monitorowanie JSON na przykładzie pogody.
Oczywiście, podobnie będzie to wyglądać w przypadku komunikacji z innymi aplikacjami. Przede
wszystkim potrzebujesz komunikacji poprzez API. Jeżeli będziesz pracować na swojej, firmowej i mało
znanej aplikacji to sugeruję kontakt z zespołem programistów odpowiedzialnych za oprogramowanie.
Skorzystamy z serwisu:
https://openweathermap.org/api
Wybierz przycisk „Subscribe”:
Następnie Get API key:
Zarejestruj się, aby uzyskać API. W zakładce „API keys” w tym miejscu znajdziesz swój klucz API:
Pobierz URL miasta, które Cię interesuje. Przykładowo Warszawę:
Dla Warszawy to:
https://openweathermap.org/city/756135
To, co potrzebujemy to kod miasta. W tym wypadku to 756135, które znalazłeś w URLu. Przejdź do Zabbixa do zakładki „Hosts”:
Wybierz „Applications” przy Twoim serwerze Zabbixa:
Wybierz Create Application.
Nazwij aplikację. Np. „Pogodynka”:
Po dodaniu, przejdź na zakładkę Items i wybierz „Create Item”
Następnie uzupełniasz poniższe dane:
Oczywiście, w URL podajesz swoje API. W moim przypadku wygląda to następująco:
http://api.openweathermap.org/data/2.5/weather?id=756135&units=metric&APPID=c9c05fb81e933 3xxxxxxxxxefc3bda47
Te „xxxx” to mój ukryty kod API Kliknij przycisk „Parse” przy URL.
Wypełnij następująco opcje poniżej:
- Request type: GET
- Timeout: 3s
- Request body type: Raw data
- Required status codes: 200
- Follow redirects: Zaznacz
- Retrieve mode: Body
- Convert to JSON: Zaznacz
- Type of Information: TEXT
- Update interval: 60s
- Applications: Select Pogodynka
- Enabled: Zaznacz
Kliknij „Add”
Następnie wejdź w Latest Data i sprawdź, czy dane są pobierane:
Jak widzisz, Zabbix pokazuje 16 stopni:
Czyli tak jak na stronie:
Oczywiście, dalej możesz utworzyć pod to wykres lub trigger, który będzie monitorował o odpowiednich zmianach pogody.
Czy interesuje Ciebie przygotowanie triggeru albo wykresu? Daj znać! Z miłą chęcią również i w tym pomogę!