We use Nagios for monitoring, and we call the following through NRPE:
#!/bin/bash
# Just for reference:
# Nodetool's output represents "Status" ans "State" in this order.
# Status values: U (up), D (down)
# State values: N (normal), L (leaving), J (joining), M (moving)
NODETOOL=$(which nodetool);
NODES_DOWN=$(${NODETOOL} --host localhost status | grep --count -E
'^D[A-Z]');
if [[ ${NODES_DOWN} -gt 0 ]]; then
output="CRITICAL - Nodes down: ${NODES_DOWN}";
return_code=2;
elif [[ ${NODES_DOWN} -eq 0 ]]; then
output="OK - Nodes down: ${NODES_DOWN}";
return_code=0;
else
output="UNKNOWN - Couldn't retrieve cluster information.";
return_code=3;
fi
echo "${output}";
exit "${return_code}";
I've not used zabbix so I'm not sure the exit codes etc are the same for
you. Also, you may need to modify the REGEX slightly depending on the
Cassandra version you are using. There must be a way to get this via the
JMX console as well, which might be easier for you to monitor.
On 07/03/15 00:37, Kevin Burton wrote:
What’s the best way to monitor nodetool status being down? IE if a
specific server things a node is down (DN).
Does this just use JMX? IS there an API we can call?
We want to tie it into our zabbix server so we can detect if here is
failure.
--
Founder/CEO Spinn3r.com <http://Spinn3r.com>
Location: *San Francisco, CA*
blog:**http://burtonator.wordpress.com
… or check out my Google+ profile
<https://plus.google.com/102718274791889610666/posts>
<http://spinn3r.com>
--
Kind Regards,
Vasileios Vlachos
IT Infrastructure Engineer
MSc Internet & Wireless Computing
BEng Electronics Engineering
Cisco Certified Network Associate (CCNA)