CentOS7中自定义nagios插件脚本-创新互联

一、 系统环境

成都创新互联公司专注于陇川网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供陇川营销型网站建设,陇川网站制作、陇川网页设计、陇川网站官网定制、小程序开发服务,打造陇川网络公司原创品牌,更为您提供陇川网站排名全网营销落地服务。

      操作系统:CentOS 7

     nagios 服务器端版本:nagios-4.0.8-2.el7.x86_64

     nrpe 客户端版本:nrpe-2.15-7.el7.x86_64

二、nagios自定义插件返回码:
     Return Code    Service State    Host State
       0       OK              UP
       1       WARNING        UP or DOWN/UNREACHABLE*
       2       CRITICAL       DOWN/UNREACHABLE
       3       UNKNOWN        DOWN/UNREACHABLE

三、定义插件,将插件放在 /usr/lib64/nagios/plugins

(1)脚本需要具有执行权限

  -rwxrwxrwx 1 nagios nagios 281 May 24 13:35 check_zfstatus.sh

(2)定义监控命令,在被监控端 /etc/nagios/nrpe.cfg 中,

   command[check_zfs]= /usr/bin/sudo /usr/lib64/nagios/plugins/check_zfstatus.sh

(3)在nagios 服务器端定义 service 及command

define command{
         command_name check_nrpe
         command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
        }

     define service{
           use        local-service
           host_name         test
           service_description     zfs_status
           check_command       check_nrpe!check_zfs
          }

四、重启进程,在可以在监控界面看到定义的服务了

PS: 在安装过程中遇到的问题及解决办法

 附上脚本代码:

 #! /bin/bash
  sudo  /usr/sbin/zpool scrub myzpool
  device=` sudo /usr/sbin/zpool status | grep -o UNAVAIL | uniq `
  status=UNAVAIL
 if [[ "$device" == "$status" ]]; then
   echo " device wrong!"
   exit 2
else
   echo "device all right;"
   exit 0
fi
脚本说明:

(1)因为zpool 只有root用户有权限,nrpe 无法调用,所以需要编辑 /etc/sudoers 文件,给予

  nrpe 权限。添加  nrpe ALL=(ALL)  NOPASSWD:ALL

  Defaults   requiretty,修改为 #Defaults   requiretty,表示不需要控制终端。

(2)[[ "$device" == "$status" ]]    因为device变量有时会为空值,故需要在判断时候写两个中括号

(3)如遇到监控状态输出与 脚本执行结果不一致时,调错,切换到nagios 用户
 /usr/lib64/nagios/plugins/check_nrpe -H IP地址 -c check_zfs

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


文章题目:CentOS7中自定义nagios插件脚本-创新互联
新闻来源:http://ybzwz.com/article/dchpjo.html