Zabbix Documentation 4.2

3.04.04.4 (current)| In development:5.0 (devel)| Unsupported:1.82.02.22.43.23.44.2Guidelines

User Tools

Site Tools


manual:concepts:java

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
manual:concepts:java [2018/09/11 05:23]
martins-v some rewording
manual:concepts:java [2019/05/15 05:11] (current)
martins-v punctuation fix
Line 13: Line 13:
 Zabbix server or proxy will try to pool requests to a single JMX target together as much as possible (affected by item intervals) and send them to the Java gateway in a single connection for better performance. Zabbix server or proxy will try to pool requests to a single JMX target together as much as possible (affected by item intervals) and send them to the Java gateway in a single connection for better performance.
  
-It is suggested to have **StartJavaPollers** less than or equal to **START_POLLERS**,​ otherwise there might be situations when no threads are available in the Java gateway to service incoming requests.+It is suggested to have **StartJavaPollers** less than or equal to **START_POLLERS**,​ otherwise there might be situations when no threads are available in the Java gateway to service incoming ​requests; in such a case Java gateway uses ThreadPoolExecutor.CallerRunsPolicy,​ meaning that the main thread will service the incoming request and temporarily will not accept any new requests.
  
-Sections below describe how to get and run Zabbix ​Java gateway, how to configure Zabbix server (or Zabbix proxy) to use Zabbix Java gateway for JMX monitoring, and how to configure Zabbix items in Zabbix GUI that correspond to particular JMX counters.+=== Getting ​Java gateway ​===
  
-=== - Getting ​Java gateway ​===+You can install ​Java gateway ​either from the sources or packages downloaded from [[http://​www.zabbix.com/​download.php|Zabbix website]]. ​
  
-You can install Java gateway from either packages or sources downloaded from the [[http://​www.zabbix.com/​download.php|Zabbix website]].  +Using the links below you can access information ​how to get and run Zabbix ​Java gateway, ​how to configure ​Zabbix server ​(or Zabbix proxyto use Zabbix ​Java gateway for JMX monitoring, and how to configure ​Zabbix ​items in Zabbix ​frontend ​that correspond ​to particular JMX counters.
- +
-See instructions for Java gateway installation:​ +
- +
-  * from packages [[:​manual/​installation/​install_from_packages/​rhel_centos#​java_gateway_installation|for RHEL/​CentOS]] +
-  * from packages [[:​manual/​installation/​install_from_packages/​debian_ubuntu#​java_gateway_installation|for Debian/​Ubuntu]] +
-  * by compiling [[:​manual/​installation/​install#​installing_java_gateway|from sources]] +
- +
-=== - Overview of files in Java gateway distribution === +
- +
-Regardless of how you obtained Java gateway, you should have ended up with a collection of shell scripts, JAR and configuration files under $PREFIX/​sbin/​zabbix_java. The role of these files is summarized ​below+
- +
-  bin/​zabbix-java-gateway-$VERSION.jar +
- +
-Java gateway JAR file itself. +
- +
-  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 +
- +
-Dependencies of Java gateway: [[http://​logback.qos.ch/​|Logback]],​ [[http://​www.slf4j.org/​|SLF4J]],​ and [[https://​android.googlesource.com/​platform/​libcore/​+/​master/​json|Android JSON]] library. +
-   +
-  lib/​logback.xml ​  +
-  lib/​logback-console.xml +
-  +
-Configuration files for Logback. +
- +
-  shutdown.sh ​  +
-  startup.sh +
- +
-Convenience scripts for starting and stopping Java gateway. +
-   +
-  settings.sh +
- +
-Configuration file that is sourced by startup and shutdown scripts above. +
- +
-=== - Configuring and running Java gateway === +
- +
-By default, Java gateway listens on port 10052. If you plan on running Java gateway on a different port, you can specify that in settings.sh script. See the description of [[manual:​appendix:​config:​zabbix_java|Java gateway configuration file]] for how to specify this and other options. +
- +
-<note warning>​Port 10052 is not [[http://​www.iana.org/​assignments/​service-names-port-numbers/​service-names-port-numbers.txt|IANA registered]].</​note>​ +
- +
-Once you are comfortable with the settings, you can start Java gateway by running the startup script: +
- +
-  $ ./​startup.sh +
-   +
-Likewise, once you no longer need Java gateway, ​run the shutdown script to stop it: +
- +
-  $ ./​shutdown.sh +
- +
-Note that unlike server or proxy, ​Java gateway ​is lightweight and does not need a database. +
- +
-=== - Configuring server for use with Java gateway === +
- +
-With Java gateway up and runningyou have to tell Zabbix server ​where to find Zabbix Java gateway. This is done by specifying JavaGateway and JavaGatewayPort parameters in the [[manual:​appendix:​config:​zabbix_server|server configuration file]]. If the host on which JMX application is running is monitored by Zabbix proxy, then you specify the connection parameters in the [[manual:​appendix:​config:​zabbix_proxy|proxy configuration file]] instead. +
- +
-  JavaGateway=192.168.3.14 +
-  JavaGatewayPort=10052 +
- +
-By default, server does not start any processes related to JMX monitoring. If you wish to use it, however, you have to specify the number of pre-forked instances of Java pollers. You do this in the same way you specify regular pollers and trappers. +
- +
-  StartJavaPollers=5 +
- +
-Do not forget to restart server or proxy, once you are done with configuring them. +
- +
-=== - Debugging ​Java gateway ​=== +
- +
-In case there are any problems with Java gateway or an error message that you see about an item in the frontend is not descriptive enough, you might wish to take a look at Java gateway log file. +
- +
-By default, Java gateway logs its activities into /​tmp/​zabbix_java.log file with log level %%"​%%info%%"​%%. Sometimes that information is not enough and there is a need for information at log level %%"​%%debug%%"​%%. In order to increase logging levelmodify file lib/​logback.xml ​and change the level attribute of <​root>​ tag to %%"​%%debug%%"​%%:​ +
- +
-  <root level="​debug">​ +
-    <​appender-ref ref="​FILE"​ /> +
-  </​root>​ +
- +
-Note that unlike ​Zabbix ​server or Zabbix ​proxy, there is no need to restart Zabbix Java gateway after changing logback.xml file - changes in logback.xml will be picked up automatically. When you are done with debugging, you can return the logging level to "​info"​. +
- +
-If you wish to log to a different file or a completely different medium like database, adjust logback.xml file to meet your needs. See [[http://​logback.qos.ch/​manual/​|Logback Manual]] for more details. +
- +
-Sometimes for debugging purposes it is useful to start Java gateway as a console application rather than a daemon. To do that, comment out PID_FILE variable in settings.sh. If PID_FILE is omitted, startup.sh script starts Java gateway as a console application and makes Logback use lib/​logback-console.xml file instead, which not only logs to console, but has logging level "​debug"​ enabled as well. +
- +
-Finally, note that since Java gateway uses SLF4J for logging, you can replace Logback with the framework of your choice by placing an appropriate JAR file in lib directory. See [[http://​www.slf4j.org/​manual.html|SLF4J Manual]] for more details.+
  
 +^Installation from ^Instructions ^Instructions ^
 +|//​Sources// ​ |[[:​manual/​installation/​install#​installing_java_gateway|Installation]] ​ |[[:​manual/​concepts/​java/​from_sources|Setup]] ​ |
 +|//​RHEL/​CentOS packages// ​ |[[:​manual/​installation/​install_from_packages/​rhel_centos#​java_gateway_installation|Installation]] ​ |[[:​manual/​concepts/​java/​from_rhel_centos|Setup]] ​ |
 +|//​Debian/​Ubuntu packages// ​ |[[:​manual/​installation/​install_from_packages/​debian_ubuntu#​java_gateway_installation|Installation]] ​ |[[:​manual/​concepts/​java/​from_debian_ubuntu|Setup]] ​ |