Istnieje natywne wsparcie dla monitorowania aplikacji JMX wykorzystuj?ce demona Áú»¢¶Ä²© zwanego "Brama Java Áú»¢¶Ä²©", dost?pne jest od wersji Áú»¢¶Ä²© 2.0. Brama Java Áú»¢¶Ä²© jest demonem napisanym w Java. ?eby uzyska? warto?? jakiego? licznika JMX na ho?cie, serwer Áú»¢¶Ä²© pyta o to bram? Java Áú»¢¶Ä²©, kt¨®ra u?ywa do zdalnego odpytania aplikacji. Aplikacja nie wymaga ?adnego dodatkowego oprogramowania, jedynie musi by? uruchomiona z opcj? linii komend -Dcom.sun.management.jmxremote
.
Brama Java akceptuje po??czenia przychodz?ce z serwera lub proxy Áú»¢¶Ä²© i mo?e by? u?yta jedynie jako "pasywne proxy". W przeciwie¨½stwie do proxy Áú»¢¶Ä²©, mo?e r¨®wnie? by? u?ywana przez proxy Áú»¢¶Ä²© (proxy Áú»¢¶Ä²© nie mog? by? ??czone w ?a¨½cuch). Dost?p do ka?dej bramy Java konfigurowany jest bezpo?rednio w pliku konfiguracyjnym serwera lub proxy Áú»¢¶Ä²©, z tym, ?e mo?na skonfigurowa? jedynie jedn? bram? Java dla serwera lub proxy Áú»¢¶Ä²©. Je?eli host posiada zar¨®wno pozycje typu Agent JMX jak i innych typ¨®w, tylko pozycje Agent JMX zostan? przekazane do bramy Java.
Gdy nast?puje aktualizacja pozycji przez bram? Java, serwer lub proxy Áú»¢¶Ä²© ??czy si? z bram? Java i ??da warto?ci, kt¨®re brama Java pobiera i odsy?a z powrotem do serwera lub proxy. Zatem, brama Java nie cache'uje ?adnych warto?ci.
Serwer lub proxy Áú»¢¶Ä²© posiada specyficzny typ procesu, kt¨®ry ??czy si? do bramy Java, jest on kontrolowany przez opcj? StartJavaPollers. Wewn?trznie, brama Java uruchamia wiele w?tk¨®w, zgodnie z opcj? START_POLLERS. Po stronie serwera, je?eli po??czenie zajmie wi?cej czasu ni? ilo?? sekund z opcji Timeout, zostanie ono zako¨½czone, ale brama Java mo?e nadal odbiera? warto?ci z licznika JMX. ?eby to rozwi?za?, od Áú»¢¶Ä²© 2.0.15 i Áú»¢¶Ä²© 2.2.10 w bramie Java istnieje opcja TIMEOUT, kt¨®ra pozwala ustali? op¨®?nienie dla operacji sieciowych JMX.
Serwer lub proxy Áú»¢¶Ä²© spr¨®buj? zgrupowa? zapytania do jednego docelowego JMX (zgodnie z interwa?ami pozycji) i wys?a? je do Bramy Java w jednym po??czeniu (dla zwi?kszenia wydajno?ci).
Sugerujemy, by warto?? StartJavaPollers by?a mniejsza lub r¨®wna warto?ci START_POLLERS, w przeciwnym razie mo?e nast?pi? sytuacja, gdy nie b?dzie dost?pny ?aden wolny w?tek w bramie Java do obs?u?enia przychodz?cych zapyta¨½.
Rozdzia?y poni?ej opisuj? jak pobra? i uruchomi? bram? Java Áú»¢¶Ä²©, jak skonfigurowa? serwer Áú»¢¶Ä²© (lub proxy Áú»¢¶Ä²©), by u?ywa? bramy Java Áú»¢¶Ä²© do monitorowania JMX, i jak skonfigurowa? pozycje Áú»¢¶Ä²© w interfejsie u?ytkownika, by odpowiada?y konkretnym licznikom JMX.
Istniej? dwa sposoby pobrania bramy Java. Pierwszym jest pobranie pakietu bramy Java ze strony Áú»¢¶Ä²©, drugim jest kompilacja bramy Java ze ?r¨®de?.
Pakiety bramy Java Áú»¢¶Ä²© (RHEL, Debian, Ubuntu) dost?pne s? do pobrania z .
?eby skompilowa? bram? Java, po pierwsze trzeba uruchomi? skrypt ./configure
z opcj? --enable-java
. Zalecamy ustawienie opcji --prefix
(ustawienie ?cie?ki instalacji) na ?cie?k? inn? ni? domy?lna (/usr/local), ze wzgl?du na to, ?e brama Java podczas instalacji tworzy ca?? struktur? katalog¨®w, a nie jeden plik wykonywalny.
?eby skompilowa? pakiet bramy Java do pliku JAR, nale?y uruchomi? make
. Krok ten wymaga, by programy javac
i jar
, by?y dost?pne ze ?cie?ki wyszukiwania.
Po tym w katalogu src/zabbix_java/bin powinien si? pojawi? plik zabbix-java-gateway-$VERSION.jar. W tym momencie mo?na ju? uruchamia? bram? Java z katalogu dystrybucji w src/zabbix_java, i je?eli ma tak by? to mo?na od razu przej?? do instrukcji konfiguracji i uruchamiania bramy Java. W przeciwnym razie, nale?y si? upewni?, ?e posiadamy odpowiednie uprawnienia do uruchomienia make install
.
Niezale?nie od sposobu pobrania bramy Java, powinni?my mie? kolekcj? skrypt¨®w pow?oki, plik¨®w JAR i plik¨®w konfiguracyjnych w katalogu $PREFIX/sbin/zabbix_java. Znaczenie poszczeg¨®lnych plik¨®w jest opisane kr¨®tko poni?ej.
G?¨®wny plik JAR bramy Java.
lib/logback-core-0.9.27.jar
lib/logback-classic-0.9.27.jar
lib/slf4j-api-1.6.1.jar
lib/android-json-4.3_r3.1.jar
Zale?no?ci bramy Java: , , i biblioteka (do wersji Áú»¢¶Ä²© 2.2.5 u?ywana by?a biblioteka ).
Pliki konfiguracji dla Logback.
Skrypty uruchamiaj?ce i zatrzymuj?ce bram? Java.
Plik konfiguracji wykorzystywany przez powy?sze skrypty uruchamiania i zatrzymywania.
Domy?lnie brama Java s?ucha na porcie 10052. Je?eli planujemy uruchomienie bramy Java na innym porcie, mo?na go ustawi? w skrypcie settings.sh. Opis ustawianie tej i innych opcji mo?na zobaczy? w plik konfiguracji bramy Java.
Port 10052 nie jest portem .
Po ustawieniu wszystkich opcji, mo?na uruchomi? bram? Java skryptem uruchomieniowym:
Natomiast, gdy ju? nie jest potrzebna brama Java, nale?y uruchomi? skrypt zatrzymuj?cy j?:
Nale?y zauwa?y?, ?e w przeciwie¨½stwie do serwera czy proxy, brama Java nie potrzebuje bazy danych.
Gdy brama Java jest ju? uruchomiona, nale?y wskaza? serwerowi Áú»¢¶Ä²© gdzie ma szuka? bramy Java. Mo?na to zrobi? ustawiaj?c parametry JavaGateway i JavaGatewayPort w pliku konfiguracyjnym serwera. Je?eli host, na kt¨®rym jest uruchomiona aplikacja JMX, jest monitorowany przez proxy Áú»¢¶Ä²©, zamiast tego nale?y ustawi? parametry po??czenia w pliku konfiguracyjnym proxy.
Domy?lnie serwer nie uruchamia ?adnych proces¨®w zwi?zanych z monitorowaniem JMX. Je?eli chcemy ich u?y?, nale?y ustawi? liczb? wst?pnie uruchomionych instancji kolejek Java. Mo?na to zrobi? w taki sam spos¨®b, w jaki si? ustawia zwyk?e kolejki i pu?apki.
Nie nale?y zapomina? o zrestartowaniu serwera lub proxy po uko¨½czeniu konfiguracji.
W przypadku wyst?pienia b??d¨®w w bramie Java lub gdy komunikat wy?wietlany w interfejsie u?ytkownika dla pozycji nie jest wystarczaj?co jasny, mo?na si? przyjrze? plikowi logu bramy Java.
Domy?lnie brama Java loguje swoje dzia?ania do pliku logu /tmp/zabbix_java.log z poziomem "info". Czasami informacje te nie s? wystarczaj?ce i trzeba przestawi? poziom logowania na "debug". W przypadku konieczno?ci zwi?kszenia poziomu logowania, nale?y zmodyfikowa? plik lib/logback.xml i zmieni? atrybut level w tagu <root> na "debug":
Nale?y zauwa?y?, ?e w przeciwie¨½stwie do serwera lub proxy Áú»¢¶Ä²©, nie ma konieczno?ci restartowania bramy Java Áú»¢¶Ä²© po zmianie pliku logback.xml - zmiany w pliku logback.xml zostan? zaaplikowane automatycznie. Po zako¨½czeniu ?ledzenia mo?na wr¨®ci? z poziomem logowania na "info".
Je?eli chcemy logowa? do innego pliku, lub na kompletnie inne medium (baza danych), nale?y zmieni? plik logback.xml zgodnie z wymaganiami. Wi?cej szczeg¨®?¨®w mo?na znale?? w .
Czasami w celu ?ledzenia b??d¨®w lepiej jest uruchomi? bram? Java z konsoli zamiast jako demon. ?eby to zrobi?, wystarczy zakomentowa? zmienn? PID_FILE w settings.sh. Je?eli nie ma PID_FILE, skrypt startup.sh uruchomi bram? Java jako aplikacj? konsoli a Logback u?ywa? b?dzie pliku lib/logback-console.xml, w kt¨®rym ustawione jest logowanie z poziomem "debug", na konsol?.
Na koniec, nale?y zauwa?y?, ?e brama Java u?ywa logowania SLF4J, wi?c mo?na zamieni? Logback na inny wybrany pakiet, umieszczaj?c przy tym odpowiedni plik JAR w katalogu lib. Wi?cej szczeg¨®?¨®w mo?na zobaczy? w .