ZenPacks

JMX Notification Listener ZenPack

Capture JMX notifications as Zenoss events.

Support

This is an Open Source ZenPack developed by Zenoss, Inc. Enterprise support for this ZenPack is available to commercial customers with an active subscription.

Releases

Version 0.9.0- Download
Summary of changes: Initial release.
Released on 2013/02/03
Compatible with Zenoss Core 2.5.x, Zenoss Core 3.1.x, Zenoss Core 3.2.x, Zenoss Core 4.2.x, Zenoss Resource Manager 4.1.x, Zenoss Resource Manager 4.2.x

Background

This ZenPack allows JMX notifications to be captured as Zenoss events.

See ZenPacks.zenoss.ZenJMX for a ZenPack that allows polling of metrics from MBean attributes and operations.

Usage

To collect JMX notifications you must edit $ZENHOME/etc/zenjmxnotificationlistener.conf. This file must be used to specify which JMX agents to connect to, and what notifications to collect. After modifying this file you must run zenjmxnotificationlistener restart for the changes to be affected.

Upon installing the ZenPack a default zenjmxnotificationlistener.conf will be created with the following contents.

# Generic configuration
monitorName=localhost
heartbeatInterval=60
heartbeatTimeout=75
connectionRetryInterval=10

# Zenoss XML-RPC connection properties
# xmlRpcUrl is the zenhub url
xmlRpcUrl=http://localhost:8081/zport/dmd/ZenEventManager
xmlRpcUsername=admin
xmlRpcPassword=zenoss

# Each comma-delimited token in serverList must have at least a
# server.TOKEN.url= entry specified below.
#serverList=LOCAL_TOMCAT,LOCALHOST
serverList=LOCALHOST

# Properties where <TOKEN> matches one of the entries in the serverList property
# server.TOKEN.zenossDevice is REQUIRED
# server.TOKEN.url is REQUIRED
# server.TOKEN.scope is OPTIONAL and defaults to *:* or all notification mbeans
# server.TOKEN.username is OPTIONAL and defaults to null
# server.TOKEN.password is OPTIONAL and defaults to null
# server.TOKEN.attributeFilters is OPTIONAL, filter for attributes of interest


# example Definitions for a local Tomcat instance
#server.LOCAL_TOMCAT.zenossDevice=bixby
#server.LOCAL_TOMCAT.url=service:jmx:rmi:///jndi/rmi://10.204.210.40:11111/jmxrmi
#server.LOCAL_TOMCAT.scope=Catalina:type=RequestProcessor
#server.LOCAL_TOMCAT.attributeFilters=attribOne,attribTwo
#server.LOCAL_TOMCAT.username=zenjmxnl
#server.LOCAL_TOMCAT.password=GOAWAY!


server.LOCALHOST.zenossDevice=localhost
server.LOCALHOST.url=service:jmx:rmi:///jndi/rmi://localhost:54107/jmxrmi

The scope and attributeFilters properties are optional, and can be used to restrict the notifications captured from a given server. MBeanServerNotification type notifications are ignored by default as they are noisy and unlikely to be useful.

Installation

Normal Installation (packaged egg)

  1. Download the appropriate egg file for the version of Zenoss you are running.
  2. Ensure you are logged in as the zenoss user:
    $ sudo su - zenoss
  3. Install the ZenPack:
    $ zenpack --install ZenPacks.zenoss.JMXNotificationListener-*.egg
  4. Restart these services:
    $ zenoss restart

Developer Mode Installation

In order to do a development mode installation you will want to clone the existing git repository, and then use the --link flag with the zenpack command:

  1. Ensure you are logged in as the zenoss user:
    $ sudo su - zenoss
  2. Start by cloning the upstream repository:
    $ git clone git://github.com/zenoss/ZenPacks.zenoss.JMXNotificationListener.git
  3. Next, perform the installation:
    $ zenpack --link --install ZenPacks.zenoss.JMXNotificationListener
  4. Finally, restart these serivices:
    $ zenoss restart

Open Source

This ZenPack is developed and supported by Zenoss Inc. Contact Zenoss to request more information regarding this or any other ZenPacks. Click here to view all available Zenoss Open Source ZenPacks.