系统监控类

nagios监控iostat[技术]

网上NetSeek写了一篇文章就是用nagios监控iostat的,但他使用的都是源码包编译的,具体可以参考他的这篇文章http://bbs.linuxtone.org/thread-2289-1-1.html

但编译的方式对于多机部署上来讲可能会有些不太方便,所以蚊子我在网上查了一下要想让nagios监控iostat需要的rpm包

蚊子我的环境都是centos5,所以我下载的包都是rhel5的,有需要其他环境的,我会在下面把下载地址给出,各位自己去找适合自己的。

http://packages.sw.be/perl-Nagios-Plugin/perl-Nagios-Plugin-0.33-1.el5.rf.noarch.rpm
http://dag.wieers.com/rpm/packages/perl-Class-Accessor/perl-Class-Accessor-0.31-1.el5.rf.noarch.rpm
http://dag.wieers.com/rpm/packages/perl-Config-Tiny/perl-Config-Tiny-2.12-1.el5.rf.noarch.rpm
http://dag.wieers.com/rpm/packages/perl-Math-Calc-Units/perl-Math-Calc-Units-1.06-1.el5.rf.noarch.rpm
http://dag.wieers.com/rpm/packages/perl-Params-Validate/perl-Params-Validate-0.89-1.el5.rf.i386.rpm(32位版)
http://dag.wieers.com/rpm/packages/perl-Params-Validate/perl-Params-Validate-0.89-1.el5.rf.x86_64.rpm(64位版)
http://dag.wieers.com/rpm/packages/perl-Regexp-Common/perl-Regexp-Common-2.120-1.2.el5.rf.noarch.rpm

如果需要其他环境的包可以到以下地址下载

perl-nagios-plugin                    http://packages.sw.be/perl-Nagios-Plugin/
perl-class-accessor                 http://dag.wieers.com/rpm/packages/perl-Class-Accessor/
perl-config-tiny                           http://dag.wieers.com/rpm/packages/perl-Config-Tiny/
perl-math-calc-units                 http://dag.wieers.com/rpm/packages/perl-Math-Calc-Units/
perl-params-validate                http://dag.wieers.com/rpm/packages/perl-Params-Validate/
perl-regexp-common                http://dag.wieers.com/rpm/packages/perl-Regexp-Common/

接下来出场的就是我们的主角,监控脚本check_iostat,下载地址是

http://www.ofn.dk/files/software/check_iostat

将此文件下载到/path/to/nagios/libexec下,并赋予执行权限,然后可以通过执行此脚本查看返回值

# ./check_iostat
IOSTAT OK – user 0.50 nice 0.01 sys 1.47 iowait 2.09 idle 0.00  | iowait=2.09%;; idle=0.00%;; user=0.50%;; nice=0.01%;; sys=1.47%;;

当然iostat命令是需要的,如果执行中出现以下错误

# ./check_iostat
Can’t exec “iostat”: No such file or directory at ./check_iostat line 69.
IOSTAT UNKNOWN – Error executing iostat command

请查看sysstat包是否安装

对于批量安装我的想法是,首先将check_iostat和所有rpm包打包上传到所有的服务器,这里最好的选择是rsync的方式,如果都是32位或都是64位的系统,可以直接执行rpm –ivh perl-*就行了,如果是两者都有,我这里写了一个脚本用来判断操作系统,脚本如下

#!/bin/bash
banner=$(uname -i)
cd ~/src
rpm -ivh perl-Class-Accessor-0.31-1.el5.rf.noarch.rpm
rpm -ivh perl-Config-Tiny-2.12-1.el5.rf.noarch.rpm
rpm -ivh perl-Math-Calc-Units-1.06-1.el5.rf.noarch.rpm
rpm -ivh perl-Regexp-Common-2.120-1.2.el5.rf.noarch.rpm
case $banner in
i386)
rpm -ivh perl-Params-Validate-0.89-1.el5.rf.i386.rpm
;;
x86_64)
rpm -ivh perl-Params-Validate-0.89-1.el5.rf.x86_64.rpm
;;
*)
exit 1
;;
esac

rpm -ivh perl-Nagios-Plugin-0.33-1.el5.rf.noarch.rpm

这里把所有包,包含32位和64位的同时放到src目录下。

Related Post

Leave a Reply

Your email address will not be published. Required fields are marked *