网站建设资讯

NEWS

网站建设资讯

nagios中mfs如何监控脚本

小编给大家分享一下nagios中mfs如何监控脚本,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

创新互联长期为上1000家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为饶阳企业提供专业的网站制作、成都网站建设饶阳网站改版等技术服务。拥有十年丰富建站经验和众多成功案例,为您定制开发。

最近一直在测试mfs,最后在线上测试完毕后,开始整理监控mfs,

mfs监控指标

  1. 监听端口

  2. 监听进程

  3. 监听vip

  4. 监听读写

现在附监控进程是否存活shell脚本,仅供参考

root@loocha4:/usr/local/nagios/libexec/New# cat check_mfs.sh 
#!/bin/bash
# ===========================================================================================================
#
# MFS status check plugins for nagios
#
# Written by    : caimengzhi
# Release       : 1.0
# Create Date   : 2017-01-12
# Description   : Nagios plugins (script) to check MFS status 
#
# ===========================================================================================================
# Nagios return codes
STATE_OK=0
STATE_WARNING=1
STATE_CRITICAL=2
STATE_UNKNOWN=3
status=0

#Get Master server Process
Master(){
    MFS_PID=$(ps -ef | grep -v grep | grep mfsmaster | wc -l)
    if [ ${MFS_PID} -eq  0 ];then
        echo "ERROR : mfs master does not start"
        exit $STATE_CRITICAL
    else 
        echo "OK : mfs master server running OK!"
        exit $STATE_OK
    fi
}

#Get chunker server Process
Chunker(){
    MFS_PID=$(ps -ef | grep -v grep | grep mfschunkserver | wc -l)
    
    if [ ${MFS_PID} -eq 0 ];then
        echo "ERROR : mfs chunkserver does not start"
        exit $STATE_CRITICAL
    else
        echo "OK : mfs master chunkserver running OK!"
        exit $STATE_OK
    fi
}

Disk_used(){
    Disk_used=`df -h | grep ${mountpoint} |awk '{print $4}'`
    
    if [ ${Disk_used%/%} -ge ${warningdiskused} -a ${Disk_used%/%} -lt ${criticaldiskused}  ];then
        echo "Waring :mfs disk used Rate is "${Disk_used}""
        exit $STATE_WARNING
    elif [ ${Disk_used%/%} -ge ${criticaldiskused} ];then
        echo "CRITICAL :mfs disk used Rate is "${Disk_used}""
        exit $STATE_CRITICAL
    elif [ "${Disk_used%/%}" = "" ];then
        echo "CRITICAL :mfs client not mount on"
        exit $STATE_CRITICAL
    else 
        echo "OK : MFS client mount on and disk used rate is "${Disk_used}" , Everything is OK!"
        exit $STATE_OK
    fi
}

#Get metalogger server Process
Metalogger(){
    MFS_PID=$(ps -ef | grep -v grep | grep mfsmetalogger | wc -l)
    
    if [ ${MFS_PID} -eq 0 ];then
        echo "ERROR : mfs mfsmetalogger does not start"
        exit $STATE_CRITICAL
    else
        echo "OK : mfs master mfsmetalogger running OK!"
        exit $STATE_OK
    fi
}

# Functions plugin usage
print_usage()
{
    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 : sh check_mfs.sh -M mfsmasterpath"
    echo "     ex : sh check_mfs.sh -M /usr/sbin/mfs"
    echo " Usage2 : sh check_mfs.sh -C mfschunkpath"
    echo "     ex : sh check_mfs.sh -C /usr/sbin/mfs"
    echo " Usage3 : sh check_mfs.sh -U mountpoint warningrate criticalrate"
    echo "     ex : sh check_mfs.sh -U /mnt/mfs 60 80"
    echo " Usage4 : sh check_mfs.sh -L mfsmetaloggerpath"
    echo "     ex : sh check_mfs.sh -L /usr/sbin/mfs"
    echo "     ex : sh check_mfs.sh -h"
    echo ""
    exit 0
}

if [ $# -ne 1 ]; then
        echo "Pls input sh  $0 -h and check."
        print_usage
        exit 1;
fi

# Parse parameter
while [ $# -gt 0 ]
do
    case "$1" in 
      -H | -h | --help)
         print_usage
         exit $STATE_OK
         ;;
      -M | -m | --master)
         Master
         ;;
      -C | -c | --chunker)
         Chunker
         ;;
      -U | -u | --usedwarning)
         mountpoint=${2:-"/mnt/mfs"}
         warningdiskused=${3:-"75"}
         criticaldiskused=${4:-"85"}
         Disk_used
         ;;
      -L | -l | --metalogger)
         Metalogger
         ;;
      *)   
         echo "Unknown argement: $1"
         print_usage
         exit $STATE_UNKNOWN
         ;;
    esac
shift
done
exit 0

以下是测试效果

root@loocha4:/usr/local/nagios/libexec/New# ps aux|grep mfs
root      1148  0.0  0.0   8112   936 pts/0    S+   13:29   0:00 grep --color=auto mfs
mfs       6021  1.2  0.3 455572 204124 ?       S

以上是“nagios中mfs如何监控脚本”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!


文章标题:nagios中mfs如何监控脚本
本文地址:http://njwzjz.com/article/ipghog.html