shell监测datanode个数返回给nagios
步骤一:新建check_datanodes.sh文件并修改权限
[root@master libexec]# vim check_datanodes.sh
#!/bin/sh
# set java environment
export JAVA_HOME=/usr/local/src/java
export JRE_HOME=/usr/local/src/java/jre
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
# set hadoop environment
export HADOOP_HOME=/usr/local/src/hadoop
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
# set hive environment
export HIVE_HOME=/usr/local/src/hive
export PATH=$PATH:$HIVE_HOME/bin
#匹配2为正常,匹配非2数字为警告,否则报错
chk_hdfs=`su -s /bin/bash - hadoop -c 'hdfs dfsadmin -report' | grep 'Live datanodes'`
case $chk_hdfs in
*2*)
echo $chk_hdfs
exit 0
;;
*\d[^2]*)
echo "warning:"$chk_hdfs
exit 1
;;
*)
echo "CRITICAL - Live datanodes is non-existent!"
exit 2
;;
esac
[root@master libexec]# chmod 7