-
New Feature Request
-
Resolution: Won't fix
-
Major
-
None
-
1.8.4
-
None
Hi,
thanks for writing this great piece of software.
Many companies run java software in their productive environments - currently it´s a little
bit difficult/uncomfortable to monitor the behavior of java-services with zabbix.
(see: http://www.kjkoster.org/zapcat/Zapcat_JMX_Zabbix_Bridge.html and
http://www.zabbix.com/documentation/1.8/manual/cookbook/specific?s[]=jmx#jmx)
A handy possibility to monitor java applications would be very welcome in many datacenters!
The java way to monitor applications is JMX (Java Management Extensions,
http://en.wikipedia.org/wiki/Java_Management_Extensions).
There are some specific solutions which use jmx-bridges deployed in application-servers - but existing possibilities
have some disadvantages:
- it´s necessary to deploy the jmx-bridge in the application to be monitored
(this is not not a good option - especially if you have support contracts for
that applications) - it´s necessary to add a UserParameter for every monitored value to every agent
- invoking a complete jvm for getting one single value consumes a lot of resources
(especially if you monitor i.e. 20 items every minute)
In my opinion it would be a good idea to enhance the agent to have the possibility
to invoke a subagent and to communicate via stdin/stdout descriptors.
This can be used to write powerful tools which collect information in a flexible and
efficient way.
The configuration syntax could look like this:
SubAgent=java-jmx-agent-activemq,/usr/sbin/java --jmx-url "service:jmx:rmi:///jndi/rmi://localhost:9999/jmxrmi"
SubAgent=java-jmx-agent-generic,/usr/sbin/java --pidfile /var/run/jboss/jboss.pid
Agent and subagent may chat in the following way:
Gain list of measures
–
AGENT>list
SUBAGENT>foo
SUBAGENT>foobar
SUBAGENT>barfoo
–
Gain a measure
–
AGENT>get foobar
SUBAGENT>10111.5
AGENT>get barfoo
SUBAGENT>OK
–
Subagent child processes will be handeled like this:
- they are started with the first monitoring request to the subagent item
- they are stopped on agent shutdown with SIGTERM
- they are restarted if subagent´s pid is missing
What do you think about this?
Do you have suggestion for the implementation?
Can you recommend some source locations?
Regards
Marc
- is duplicated by
-
ZBXNEXT-1010 Co-processes for Agent for fast retrieval of many user parameters
- Closed