nagios自定义监控硬盘脚本

在客户端以下位置编辑配置文件

1、vim /usr/lib64/nagios/pligins/check_disk.sh

#!/bin/bash
#!/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 -P|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  "#echo -n可以让输出的内容不换行
                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

2. 保存后,修改该脚本的权限
chmod +x  /usr/lib/nagios/plugins//check_disk.sh (client上)
3. 然后编辑/etc/nagios/nrpe.cfg文件
vim /etc/nagios/nrpe.cfg  # 加入一行:(client上)
command[check_disk]=/usr/lib/nagios/plugins/check_disk.sh
保存,重启nrpe服务
/etc/init.d/nrpe restart (client上)

4. 检测刚才的脚本是否正常运行的方法是,到server端执行如下命令:
check_nrpe -H 192.168.0.12 -c check_disk (server上)
如果正常的话,会输出一行磁盘检测的数据,否则可能会报错。

5. 到server上添加相应的service
cd /etc/nagios/conf.d/
vim 192.168.0.12.cfg     # 加入如下内容:
define service{
        use     generic-service
        host_name       192.168.0.12
        service_description     check_disk
        check_command           check_nrpe!check_disk
        max_check_attempts 5
        normal_check_interval 1
}
6. 重启nagios服务
/etc/init.d/nagios restart   (server上)

7、使用浏览器访问发现已经添加一项监控服务

时间: 2024-11-08 01:03:27

nagios自定义监控硬盘脚本的相关文章

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

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

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 &

Nagios自定义扩展

原理:监控端通过check_nrpe把要监控的指令发送给被监控端,被监控端在本机执行监控任务,并把执行的结果发送回监控端. 如何扩展Nagios,以实现自定义监控? 借助插件进行的每一次有效的Nagios检查(Nagios check)都会生成一个数字表示的退出状态.可能的状态有: 0--各方面都正常,检查成功完成. 1--资源处于警告状态.某个地方不太妙. 2--资源处于临界状态.原因可能是主机宕机或服务未运行. 3--未知状态,这未必表明就有问题,而是表明检查没有给出一个清楚明确的状态. 插

Nagios自定义报警时间

Nagios自定义报警时间 遇到需要自定义检查和报警时间的,总结一下.大家集思广益,不断完善. 常调用的模板配置文件: efine service{ name                           generic-service         ; 定义一个服务名称 active_checks_enabled          1                       ; Activeservice checks are enabled passive_checks_enab

Cacti 模板(图形模板、数据模板、主机模板)与自定义监控脚本

Cacti定义了三种类型的模板,分别是 主机模板 数据模板 图形模板     主机模板(Host templates),它是图像模板和数据查询的一个集合,描述了监控某一类型的机器需要生成那些图像. 数据模板(Data templates),它描述了 Cacti 存储哪些数据到指定类型的 RRD 文件.该模板与 RRDTool 工具的 create 命令相关. 图形模板(Graph templates),描述了生成的一张图像应该是什么样子的.包括使用哪些数据模板.展示哪些元素.是否使用 CDEF

nagios监控流量脚本

需求是我们需要对服务器上的流量进行监控,网络上有个流传的check_traffic.sh,它需要被监控机开启snmp.但是感觉都使用上了nagios还要开snmp...有点斧子剪刀一起用的感觉,所以就动手写了个监控流量的shell: #!/bin/sh usage() { echo "Usage: $0 [-n <eth0>] [-w <tx rx>] [-c <tx rx>]" 1>&2; exit 1; } foundw=0; fo

nagios一键安装脚本V1.0(客户端+服务端)

服务端脚本: #!//bin/bash #nagios一键安装脚本 path=`pwd` yum_user() { echo -e "\033[32m开始安装基础支持套件和添加用户......\033[0m" yum -y install httpd gcc glibc glibc-common gd gd-devel  if [ $? -ne 0 ] then    echo -e "\033[31mYUM安装失败!\033[0m"   exit 1 fi ech

自定义zabbix脚本--网卡平均流量

自定义zabbix脚本--网卡平均流量1. 在客户端修改配置文件 /etc/zabbix/zabbix_agentd.conf需要改动两个地方:(1) UnsafeUserParameters=1(2) UserParameter=my.net.if[*](改成英文的方括号), /usr/local/sbin/zabbix/net.sh $1 $2 //其中UserParameter用来自定义键值,(类似于net.if.in),自己写的脚本往往会有参数,所以需要加,这是固定写法,如果脚本压根就没

如何自定义服务脚本以及如何制作标准rpm服务脚本

自定义服务脚本: #!/bin/bash #myscript #chkconfig: 2345 90 20 #description: Starts, stops and saves iptables firewall case $1 in start) echo "start my script!!" sleep 1 ;; restart) echo "restart my script!!" sleep 1 ;; stop) echo "stop my