[comment]: # ({869698af-5380e993})
# 3 Instalacja z kodu źródłowego

[comment]: # ({/869698af-5380e993})

[comment]: # ({c93259be-8d0f220e})
#### Przegląd

Jeśli [zainstalowano](/manual/installation/install#installing-java-gateway)
ze źródeł, poniższe informacje pomogą w konfiguracji
Zabbix [Java gateway](/manual/concepts/java).

[comment]: # ({/c93259be-8d0f220e})

[comment]: # ({931dace7-305c7876})
#### Przegląd plików

Jeśli pobrano Java gateway ze źródeł, powinien zostać utworzony zestaw skryptów powłoki, plików JAR i plików konfiguracyjnych w katalogu `$PREFIX/sbin/zabbix_java`.
Rola tych plików została podsumowana poniżej.

    bin/zabbix-java-gateway-$VERSION.jar

Sam plik JAR Java gateway.

    lib/logback-core-1.5.16.jar
    lib/logback-classic-1.5.16.jar
    lib/slf4j-api-2.0.16.jar
    lib/android-json-4.3_r3.1.jar

Zależności Java gateway: biblioteka [Logback](http://logback.qos.ch/), [SLF4J](http://www.slf4j.org/) oraz [Android JSON](https://android.googlesource.com/platform/libcore/+/master/json).

    lib/logback.xml  
    lib/logback-console.xml

Pliki konfiguracyjne dla Logback.

    shutdown.sh  
    startup.sh

Pomocnicze skrypty do uruchamiania i zatrzymywania Java gateway.

    settings.sh

Plik konfiguracyjny, który jest wczytywany przez powyższe skrypty startup i shutdown.

[comment]: # ({/931dace7-305c7876})

[comment]: # ({c5692cf9-571dbbe2})
#### Konfigurowanie i uruchamianie Java gateway

Domyślnie Java gateway nasłuchuje na porcie 10052. Jeśli planujesz uruchamiać Java gateway na innym porcie, możesz to określić w skrypcie `settings.sh`.
Zobacz opis [pliku konfiguracyjnego Java gateway](/manual/appendix/config/zabbix_java), aby dowiedzieć się, jak określić tę i inne opcje.

::: notewarning
Port 10052 nie jest zarejestrowany w [IANA](http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.txt).
:::

Gdy ustawienia będą już odpowiednie, możesz uruchomić Java gateway, wykonując skrypt `startup.sh`:

    ./startup.sh

Analogicznie, gdy Java gateway nie będzie już potrzebny, uruchom skrypt `shutdown.sh`, aby go zatrzymać:

    ./shutdown.sh

Należy pamiętać, że w przeciwieństwie do serwer lub proxy, Java gateway jest lekki i nie wymaga bazy danych.

[comment]: # ({/c5692cf9-571dbbe2})

[comment]: # ({d85c9798-81ca4902})
#### Konfigurowanie serwera do użycia z Java gateway

Gdy Java gateway jest uruchomiony i działa, należy wskazać serwerowi Zabbix, gdzie ma znaleźć Zabbix Java gateway.
W tym celu należy określić parametry `JavaGateway` i `JavaGatewayPort` w [pliku konfiguracyjnym serwera](/manual/appendix/config/zabbix_server).
Jeśli host, na którym działa aplikacja JMX, jest monitorowany przez proxy Zabbix, parametry połączenia należy określić zamiast tego w [pliku konfiguracyjnym proxy](/manual/appendix/config/zabbix_proxy).

    JavaGateway=192.168.3.14
    JavaGatewayPort=10052

Domyślnie serwer nie uruchamia żadnych procesów związanych z monitorowaniem JMX.
Jeśli jednak chcesz z niego korzystać, musisz określić liczbę wstępnie rozwidlonych instancji pollerów Java.
Robi się to w taki sam sposób, jak określa się zwykłe pollery i trappers.

    StartJavaPollers=5

Nie zapomnij ponownie uruchomić serwera lub proxy po zakończeniu konfiguracji.

[comment]: # ({/d85c9798-81ca4902})

[comment]: # ({3cde3628-d86274ab})
#### Debugowanie Java gateway

W przypadku problemów z Java gateway lub gdy komunikat o błędzie dotyczący pozycja w frontendzie nie jest wystarczająco opisowy, warto zajrzeć do pliku dziennika Java gateway.

Domyślnie Java gateway zapisuje swoje działania do pliku `/tmp/zabbix_java.log` z poziomem logowania "info".
Czasami te informacje nie są wystarczające i potrzebne są dane na poziomie logowania "debug".
Aby zwiększyć poziom logowania, zmodyfikuj plik `lib/logback.xml` i zmień atrybut level znacznika `<root>` na `debug`:

    <root level="debug">
      <appender-ref ref="FILE" />
    </root>

Należy pamiętać, że w przeciwieństwie do serwer lub proxy Zabbix, po zmianie pliku `logback.xml` nie ma potrzeby ponownego uruchamiania Java gateway Zabbix - zmiany w `logback.xml` zostaną automatycznie uwzględnione.
Po zakończeniu debugowania możesz przywrócić poziom logowania do "info".

Jeśli chcesz zapisywać logi do innego pliku lub całkowicie innego medium, na przykład bazy danych, dostosuj plik `logback.xml` do swoich potrzeb.
Więcej informacji znajdziesz w [Logback Manual](http://logback.qos.ch/manual/).

Czasami w celach debugowania przydatne jest uruchomienie Java gateway jako aplikacji konsolowej zamiast demona.
Aby to zrobić, zakomentuj zmienną `PID_FILE` w `settings.sh`.
Jeśli `PID_FILE` zostanie pominięta, skrypt `startup.sh` uruchomi Java gateway jako aplikację konsolową i sprawi, że Logback będzie używać pliku `lib/logback-console.xml`, który nie tylko zapisuje logi do konsoli, ale ma również włączony poziom logowania "debug".

Na koniec należy pamiętać, że ponieważ Java gateway używa SLF4J do logowania, możesz zastąpić Logback wybranym przez siebie frameworkiem, umieszczając odpowiedni plik JAR w katalogu lib.
Więcej informacji znajdziesz w [SLF4J Manual](http://www.slf4j.org/manual.html).

[comment]: # ({/3cde3628-d86274ab})

[comment]: # ({27e67930-4332cfb8})
#### Monitorowanie JMX

Zobacz stronę [Monitorowanie JMX](/manual/config/items/itemtypes/jmx_monitoring), aby uzyskać więcej informacji.

[comment]: # ({/27e67930-4332cfb8})
