nagios监控磁盘I/O小插件,欢迎拍砖

发布于 2022-10-15 07:56:12 字数 3294 浏览 29 评论 0

nagios监控磁盘I/O小插件,欢迎拍砖

需要监控磁盘I/O,在网上找了几个nagios相关插件,没有找到太好用的,找了一些监控I/O的脚本,感觉都太复杂,我想实现的目的很简单 就是I/O利用率达到一定范围报警。参考了N多脚本以后,东拼西凑,有了下面的脚本,实现了我自己的需求,分享出来,欢迎大家拍砖。
      同时也希望大家经常写nagios的监控脚本多分享。

  1. #!/bin/sh
  2. # by siliencen - siliencen@gmail.com
  3. iostat=`which iostat 2>/dev/null`
  4. bc=`which bc 2>/dev/null`
  5. function help {
  6. echo -e "This plugin shows the I/O usage_rate of the specified disk, using the iostat external program.\n\t example \n\t ./io -d sda2 -w 10 -c 20"
  7.         exit -1
  8. }
  9. # Ensuring we have the needed tools:
  10. ( [ ! -f $iostat ] ) && ( echo "ERROR: iostat command not found .Please install" && exit -1 )
  11. # Getting parameters:
  12. while getopts "d:w:c:h" OPT; do
  13.         case $OPT in
  14.                 "d") disk=$OPTARG;;
  15.                 "w") warning=$OPTARG;;
  16.                 "c") critical=$OPTARG;;
  17.                 "h") help;;
  18.         esac
  19. done
  20. # Adjusting the three warn and crit levels:
  21. crit_util=`echo $critical`
  22. warn_util=`echo $warning`
  23. # Checking parameters:
  24. [ ! -b "/dev/$disk" ] && echo "ERROR: Device incorrectly specified" && help
  25. ( [ $warn_util == "" ] || [ $crit_util == "" ] ) && echo "ERROR: You must specify all warning and critical levels" && help
  26. ( [[ "$warn_util" -ge  "$crit_util" ]] ) && echo "ERROR: critical levels must be highter than warning levels" && help
  27. # Doing the actual check:
  28. util=`$iostat -dx 1 10 $disk | grep $disk | awk '{print $12}'|sort -nr | head -n 1 `
  29. # Comparing the result and setting the correct level:
  30. if ( echo ${util} ${crit_util}|awk '!($1>=$2){exit 1}' );then
  31.         msg="CRITICAL"
  32.         status=2
  33. else if ( echo ${util} ${warn_util} |awk '!($1>=$2){exit 1}');then
  34.                 msg="WARNING"
  35.                 status=1
  36.      else
  37.         msg="OK"
  38.         status=0
  39.      fi
  40. fi
  41. # Printing the results:
  42. echo "$msg - I/O stats util_rate=$util  "
  43. # Bye!
  44. exit $status

复制代码

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

永不分离 2022-10-22 07:56:12

这帖子很不错哦-----顶君一下!!!!!!!!!

深圳进口报关
http://www.chinahq-import.com/

注定孤独终老 2022-10-22 07:56:12

有能监控windows的?

不喜欢何必死缠烂打 2022-10-22 07:56:12

有能监控windows的?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文