分享一个监控MFS的nagios插件

最近线上刚好有监控MFS服务器的需求,

我把脚本拿下来测试了一下,貌似有些小错误,不知道是不是系统不一样的原因。

我的测试环境是centos 6.5 86_64。

#!/bin/bash#by cuiyuanrong#QQ:295749093# Nagios return codesSTATE_OK=0STATE_WARNING=1STATE_CRITICAL=2STATE_UNKNOWN=3# Set MFS Path And Warning/CRITICAL ValueMFS_Path="/usr/sbin"MFS_Mount_Point="/mnt/mfs"WARNING_Value=85CRITICAL_Value=95#Get Master server ProcessMaster(){MFS_PID=`ps -ef | grep mfsmaster | grep ${mfspath} | awk '{print $2}'`if [ "${MFS_PID}" = "" ];thenecho "ERROR : mfs master does not start"exit $STATE_CRITICALelseecho "OK : mfs master server running OK!"exit $STATE_OKfi}#Get chunker server ProcessChunker(){MFS_PID=`ps -ef | grep mfschunkserver | grep ${mfspath} | awk '{print $2}'`if [ "${MFS_PID}" = "" ];thenecho "ERROR : mfs chunkserver does not start"exit $STATE_CRITICALelseecho "OK : mfs master chunkserver running OK!"exit $STATE_OKfi}Disk_used(){Disk_used=`df -h | grep ${mountpoint} | awk '{print $5}' | awk -F% '{print $1}'`if [ ${Disk_used} -ge ${warningdiskused} -a ${Disk_used} -lt ${criticaldiskused} ];thenecho "Waring :mfs disk used Rate is "${Disk_used}""exit $STATE_WARNINGelif [ ${Disk_used} -ge ${criticaldiskused} ];thenecho "CRITICAL :mfs disk used Rate is "${Disk_used}""exit $STATE_CRITICALelif [ "${Disk_used}" = "" ];thenecho "CRITICAL :mfs client not mount on"exit $STATE_CRITICALelseecho "OK : MFS client mount on and disk used rate is ${Disk_used}% , Everything is OK!"exit $STATE_OKfi}#Get metalogger server ProcessMetalogger(){MFS_PID=`ps -ef | grep mfsmetalogger | grep ${mfspath} | awk '{print $2}'`if [ "${MFS_PID}" = "" ];thenecho "ERROR : mfs mfsmetalogger does not start"exit $STATE_CRITICALelseecho "OK : mfs master mfsmetalogger running OK!"exit $STATE_OKfi}# Functions plugin usageprint_usage(){Program_name=$(basename $0)echo ""echo " -M MFS master server status "echo " -C MFS chunker server status "echo " -U MFS client disk used Rate "echo " -L MFS metalogger server status "echo " -h Show this page "echo ""echo " Usage1 : ${Program_name} -M mfsmasterpath"echo "??? ex : ${Program_name} -M ${MFS_Path}"echo " Usage2 : ${Program_name} -C mfschunkpath"echo "??? ex : ${Program_name} -C ${MFS_Path}"echo " Usage3 : ${Program_name} -U mountpoint warningrate criticalrate"echo "??? ex : ${Program_name} -U ${MFS_Mount_Point} 60 80"echo " Usage4 : ${Program_name} -L mfsmetaloggerpath"echo "??? ex : ${Program_name} -L ${MFS_Path}"echo "???? ex : ${Program_name} -h"echo ""exit 0}# Parse parameterwhile [ $# -gt 0 ]docase "$1" in-h | --help)print_usageexit $STATE_OK;;-M | --master)mfspath=${2:-"${MFS_Path}"}Master;;-C | --chunker)mfspath=${2:-"${MFS_Path}"}Chunker;;-U | --usedwarning)mountpoint=${2:-"${MFS_Mount_Point}"}warningdiskused=${3:-"${WARNING_Value}"}criticaldiskused=${4:-"${CRITICAL_Value}"}Disk_used;;-L | --metalogger)mfspath=${2:-"${MFS_Path}"}Metalogger;;*) echo "Unknown argement: $1"exit $STATE_UNKNOWN;;esacshiftdone

分享一个监控MFS的nagios插件

相关文章:

你感兴趣的文章:

标签云: