we use zabbix. we run the agent on our linux boxes and also start
zapcat using the class that follows. essentially you go into the zabbix
console and setup "hosts" for the zapcat port, and "hosts" for the
zabbix agent. then setup items for the "zapcat host" that are JMX
metrics. info on zapcat can be found here,
http://www.kjkoster.org/zapcat/Zapcat_JMX_Zabbix_Bridge.html.
we are also working on a "push" model because as someone else mentioned,
zabbix will open a connection to the cassandra node for *every* JMX
metric. with push we can send a blob of data in one connection.
public class CassandraDaemonWithZapcat extends CassandraDaemon {
private static Agent zcAgent;
private static void startZapcat() {
zcAgent = new ZabbixAgent();
}
private static void stopZapcat() {
if (null != zcAgent) {
zcAgent.stop();
}
}
/**
* Main entry point. starts Zapcat then calls
* {...@link CassandraDaemon#main(String[])}.
*
* @param args
* command line args
*/
public static void main(String[] args) {
startZapcat();
try {
CassandraDaemon.main(args);
}
finally {
stopZapcat();
}
}
}
On 01/10/2011 08:40 AM, Jedd Rashbrooke wrote:
Hi Daniel,
A recent web search found your earlier message, but I
had a few (potentially dumb) questions - so this is very
good timing! :)
When you say start with Cassandra - my first dumb
question is how you actually do this. Are you using
packaged versions or tarball installs of Cassandra?
With the output - I've only ever used zabbix_agent.conf
entries that deal with one line of output at a time - do
you parse that output that same way, making ten
separate calls to the web server, or is there some
fancy way of pulling all that information into Zabbix
in one go?
jedd.