Among all the other features that Zabbix can query directly is monitoring Java application servers using the Java Management Extensions (JMX) protocol. Actually, it's not just application servers—other server software written in Java can be monitored as well. Even standalone Java applications can be monitored, as the JMX framework does not have to be implemented by application developers—it is provided with Java. The main Zabbix daemons are written in C, but the JMX protocol is somewhat complicated, especially all the authorization and encryption methods. Thus, a separate component is used for JMX monitoring: the Zabbix Java gateway. This gateway runs as a separate process and queries JMX interfaces on behalf of the Zabbix server.
In this chapter, we'll set up the Java gateway and monitor a simple property on it. We'll...