通常的插件都是关于系统的已知统计数据,但是我们在使用hdparm -t的一些vmware实例上看到了非常奇怪的结果。
任何人都知道一个testing实际上做了一个磁盘写入/读取或nagios nfs挂载?
我会select另一种方法(如果你使用的是ESX)
perl -MCPAN -e 'install <pluginname>'安装所需的Perl模块perl -MCPAN -e 'install <pluginname>' :
aptitude install libxml-libxml-perl libclass-methodmaker-perl libcrypt-ssleay-perl libsoap-lite-perl libuuid-perl 'UUID' => '0.03',改为'UUID' => '0.02', perl Makefile.PL
使
做testing
进行安装
创build这个新的命令:
define command { command_name check_esx command_line $USER1$/check_esx3 -H $HOSTADDRESS$ $ARG1$ -u $ARG2$ -p $ARG3$ -w $ARG4$ -c $ARG5$ $ARG6$ }
现在添加一个新的服务,fe:
define service { name esx-io use generic-service service_description ESX I/O check_command check_esx!-l io!$_SERVICEESX_USER$!$_SERVICEESX_PW$!$_SERVICEIO_WARNING$!$_SERVICEIO_CRITICAL$!$_SERVICEESX_VM$ }
然后在主机上使用这个检查:
define service { use esx-io host_name <hostname> servicegroups foo _ESX_USER <ESX-api check user> _ESX_PW a-password _IO_WARNING 70 _IO_CRITICAL 80 }
也许这不是你想要的,但我想我会分享它。
没有testing过这个,但是如果你想要做的就是写一个然后看一个文件尝试一下shell脚本
#!/bin/bash DATE=`date` #Write echo $DATE > /drive/mount/point/testfile if [ $? -eq 0 ]; then echo "Write Successful" else echo "Cound not write file" exit 2 fi #Read cat /drive/mount/point/testfile > /dev/null if [ $? -eq 0 ]; then echo " - Read Successful" else echo " - Cound not read file" exit 2 fi exit 0
该脚本可以大大改善,并可能有一些错误,但它写入一个文件,然后读回来,如果以太的失败它将返回关键。 你也许可以修改它,所以它使用文件path的argv,它可能会抛出一些不必要的错误到控制台,但这是一个开始
编写自己的testing是微不足道的。 写一个脚本,做你想testing和评估可能的结果。
在你的情况下,你可以在nfs-share或disk上尝试dd来testing写操作,然后打开一个文件来testing读操作。 然后可以使用dd的结果返回三分之一的状态:
您可以在状态之后在string中添加额外的信息。 例如:
OK - Everything went better then expected. Writespeed > 2500kbps WARNING - Write speed is below treshold: < 500kbps. CRITICAL - Write Failed!
在你的check_nrpe-config(或者你用来运行远程脚本的任何东西)中添加这个脚本,你就可以开始了。
监视磁盘性能可能比编写文件和查看需要多长时间要困难得多。 与阅读相同的东西。 你怎么知道在写/读过程中发生了什么? 可能会有CPU的负载尖峰,networkingstream量问题(特别是如果NFS),总之各种事情。 至less在一个窗口中运行collectl,同时在另一个窗口中写入文件。 下面是安装RPM并简单运行“collectl”命令后显示的一个简单示例:
[root@poker ~]# collectl #<--------CPU--------><----------Disks-----------><----------Network----------> #cpu sys inter ctxsw KBRead Reads KBWrit Writes KBIn PktIn KBOut PktOut 0 0 1103 171 0 0 0 0 0 1 0 0 0 0 1120 265 0 0 0 0 0 1 0 1
更多的开关和选项。 它甚至可以显示在同一行上的nfs统计信息,如果你有兴趣。