JMX Zabbix Bridge


Welcome to Zapcat’s home. These pages introduce and document Zapcat for Java developers and for system administrators who wish to monitor Java applications from Zabbix.

Zapcat endeavours to be a simple to use bridge between the JMX management API inside Java applications and the Zabbix monitoring tool.

JMX defines a method for Java developers to integrate their applications with existing network management software by dynamically assigning Java objects with management attributes and operations. Think of it as SNMP for Java applications.

Zabbix is software for monitoring your applications, your network and your servers. Zabbix supports both polling and trapping techniques to collect data from monitored hosts. A flexible notification mechanism allows easy and quickly configure different types of notifications for pre-defined events.

Zapcat bridges these two technologies by allowing programmers to instrument their Java applications with a Zabbix agent. This allows system administrators to retrieve JMX management data such as memory use or garbage collection counts. This information is queried directly on Java applications, instead of via scripts or command line utilities.

Reading Guide

The how-to tells you how to instrument your application with a Zapcat agent and you can use the Java template and the Hibernate template to quickly start monitoring the key performance indicators of your Java virtual machine. If you have never used Zapcat before, these might be a good place to start.

The Why Zapcat page explains the philosophy behind Zapcat and why I went ahead an created this tool.

Most serious applications run on some form of application server. The Tomcat how-to, Jetty how-to, Oracle IAS how-to and Openfire how-to give specific instructions for these platforms, along with templates for Zabbix.

The architecture page describes the architecture of Zabbix, Zapcat and the Zapcat agents and libraries. Understanding this architecture helps when you want to start using Zapcat for your applications.

Then there are a number of pages that discuss advanced topics, such as pushing data into the Zabbix server, or how to explore JMX mbeans.

And finally, there is a page where I keep track of links to this site.

Help Wanted

I am looking for people who are willing to participate in this project. There is a lot of work still left to do, but there are some concrete examples of things that I would like to have.

The simplest way to help is to share with me your success stories with Zapcat and Zabbix. E-mail me your war stories and I will give them a nice place on this site.

Another easy way to help is to share with us your Zabbix host configuration and templates, so that others may import them and save time. Just use the export function in Zabbix and e-mail me the export file, with a little message telling what you like about it and why you think it is useful.

If you really have some time to spare, join me on SourceForge and help me with the code.

Known Limitations

The current version of Zapcat does not support attributes that result in maps or in arrays.

You need Java 1.5 or higher for Zapcat. Prior to Java 1.5 there was no serious support for platform mbeans in Java and that limits the usefulness of Zapcat in that environment. If you have to work with an older version of Java, please use one of the command line JMX utilities.

There is limited support for Zabbix 1.1, but there are reports of the Zabbix 1.1 expression parser not grokking the triggers in Zapcat’s templates.

photo: Antonio Jiménez Alonso
if you find this interesting, terrible or just would like to know more, e-mail
web statistics
download zapcat