nagios自定义监控系统磁盘脚本

客户端

1、创建脚本check_disk.sh

[[email protected] ~]# vim /usr/lib64/nagios/plugins/check_disk.sh        #一般都放在这个路径下

#!/bin/bash

row=`df -h|wc -l`

for i in `seq 2 $row`

do

ava=`df -h|sed -n "$i"p|awk ‘{print $4}‘`         #获取磁盘可用值

u_per=`df -h|sed -n "$i"p|sed -n "s/\%//"p|awk ‘{print $5}‘`     #获取使用百分比值

p_p=`df -h|sed -n "$i"p|awk ‘{print $6}‘`      #获取挂载分区

if [ "$u_per" -gt "97" ]

then

echo -n "$p_p CRITICAL $u_per% $ava "

sta[$i]=2

elif [ "$u_per" -gt "95" ]

then

echo -n "$p_p WARNING! $u_per% $ava "

sta[$i]=1

else

echo -n "$p_p OK $u_per% $ava "

sta[$i]=0

fi

done

n=0

for j in `seq 2 $row`

do

if [ "${sta[$j]}" -gt $n ]

then

n=${sta[$j]}

fi

done

exit $n

######输出结果######

[[email protected] ~]# sh /usr/lib64/nagios/plugins/check_disk.sh

/ OK 26% 13G /dev/shm OK 0% 242M /boot OK 8% 426M

[[email protected] ~]# echo $?

0

2、保存后,修改该脚本的权限

[[email protected] ~]# chmod +x /usr/lib64/nagios/plugins/check_disk.sh

3、编辑/etc/nagios/nrpe.cfg,加入自定义的脚本

[[email protected] ~]# vim /etc/nagios/nrpe.cfg

command[check_disk]=/usr/lib64/nagios/plugins/check_disk.sh

4、重启nrpe服务

[[email protected] ~]# /etc/init.d/nrpe restart

服务端

5、检测刚才的脚本是否正常运行

[[email protected] ~]# /usr/lib64/nagios/plugins/check_nrpe -H 192.168.219.128 -c check_disk

/ OK 26% 13G /dev/shm OK 0% 242M /boot OK 8% 426M

解释说明:

如果正常的话,会输出一行磁盘检测的数据,否则可能会报错。

#####错误#####

[[email protected] ~]# /usr/lib64/nagios/plugins/check_nrpe -H 192.168.153.129 -c check_disk

NRPE: Unable to read output

#############

注:原因是客户端的脚本没有修改权限

6、添加相应的service

[[email protected] ~]#  cd /etc/nagios/conf.d

[[email protected] conf.d]# vim 192.168.219.128.cfg

define service{

use                     generic-service

host_name               192.168.219.128

service_description     check_disk

check_command           check_nrpe!check_disk

max_check_attempts      5

normal_check_interval   1

}

注:也要检查一下/etc/nagios/object/commands.cfg里有没有check_nrpe

7、重启nagios服务、启动http服务

[[email protected] conf.d]# /etc/init.d/nagios restart

[[email protected] conf.d]# /etc/init.d/httpd start

8、访问浏览器查看

时间: 2024-11-05 11:41:39

nagios自定义监控系统磁盘脚本的相关文章

shell编程之【nagios自定义监控系统磁盘脚本】

之前写了一篇文章主要介绍nagios的搭建使用 http://msiyuetian.blog.51cto.com/8637744/1704346 下面这篇文章主要介绍nagios自定义监控系统磁盘的脚本实现. Nagios可以识别4种状态返回信息,即 0 表示状态正常(OK).1 表示出现警告(WARNING).2 表示出现非常严重的错误(CRITICAL),3 表示未知错误(UNKNOWN).Nagios根据插件返回来的值,来判断监控对象的状态,并通过web显示出来.我们就可以利用上面这个特性

3.2-nagios自定义监控系统磁盘脚本

一. 自定义nagios监控脚本 1. 在客户端上创建脚本/usr/local/nagios/libexec/check_disk.sh vim  /usr/local/nagios/libexec/check_disk.sh 写入如下内容:(client上) #!/bin/bash row=`df -h |wc -l`             #输出的总行数 for i in `seq 2 $row`          #从第二行开始为真实的磁盘,因为第一行为抬头信息 do ava=`df -

nagios监控脚本(自定义监控系统磁盘)

1. 在客户端上创建脚本/usr/local/nagios/libexec/check_disk.shvim  /usr/local/nagios/libexec/check_disk.sh 写入如下内容:(client上)#!/bin/bash#!/bin/bashrow=`df -h |wc -l`for i in `seq 2 $row`do        ava=`df -h |sed -n "$i"p|awk '{print $4}'`        u_per=`df -h

shell编程之【zabbix自定义监控网卡流量脚本】

之前写了一篇文章主要介绍zabbix的搭建使用http://msiyuetian.blog.51cto.com/8637744/1705396 下面这篇文章主要介绍zabbix自定义监控网卡流量的脚本实现 前期准备 1.说明 server ip :192.168.0.115 client ip :192.168.0.114 2.开启服务 因为之前搭建过zabbix环境,这里就不重复了,直接开启服务端的所需服务: [[email protected] ~]# /etc/init.d/httpd s

监控系统子脚本

一.监控系统负载 [[email protected] ~]# vim mon/shares/load.sh#!/bin/bash load=`uptime |awk -F 'average:' '{print $2}'|cut -d',' -f1|sed 's/ //g' |cut -d. -f1` if [ $load -gt 20 ] && [ $send -eq "1" ] then echo "$addr `date +%T` load is $lo

监控系统主脚本

main.sh 作为主脚本,作为整个脚本的入口,也就是说,当我们执行监控系统的时候,最开始执行的就是 main.sh,如果想去执行 shares 下的监控脚本,直接在 main.sh 去调用就可以了 [[email protected] ~]# cat mon/bin/main.sh #!/bin/bash # 是否发邮件的开关 export send=1 export addr=`/sbin/ifconfig |grep -A1 'eth0' |grep addr: |awk '{print

搭建基于Nagios的监控系统——之监控远程Windows服务器

分享了如何监控Linux服务器,我们来看看使用Nagios如何监控Windows服务器. 第一部分:配置被监控的Windows服务器   首先,访问 http://sourceforge.net/projects/nscplus/,下载符合自己服务器的 NSClinent++.我下载下来以后的文件名为:NSCP-0.4.1.73-Win32.msi 双击安装程序,选择 Complete Install,并且选择生成实例配置文件,其他的就一路下一步就OK了. 其次,在 NSClient++ 的安装

搭建基于Nagios的监控系统——之监控远程Linux服务器

上一篇介绍了如何安装Nagios Core,这一篇跟大家分享一下如何将一台远程的Linux服务器加入纳入监控范围. 第一部分:在远程Linux上安装Nagios Plugins和NRPE   第一步:下载Nagios Plugins和NREP扩展的安装程序   [plain] view plain copy cd Downloads wget http://nagios-plugins.org/download/nagios-plugins-2.0.tar.gz 访问 http://www.na

nagios自定义监控API插件

监控思路:通过url访问某一接口文件的具体返回内容,正则匹配某一接口存活必定含有的字符,若有则证明接口存活,若无则接口有问题. 废话不多说,上插件: #!/usr/bin/env python # -*- coding: utf-8 -*- import re import urllib import sys import getopt def usage():     print """Usage: check_api [-h|--help] [-u|--url url]