设为首页 收藏本站
查看: 1586|回复: 0

一个用于监控Dell PowerEdge服务器硬件状态的nagios/icinga插件

[复制链接]

尚未签到

发表于 2019-1-26 10:42:20 | 显示全部楼层 |阅读模式
  手头有几台dell服务器, 分别是PE2850和PE R710,想把硬件状态监控加入icinga中,但是网上提供的大多是依赖dell  openmanager的snmp服务,用起来有些不对劲,自己对snmp所知较少,尤其是那些OID,一大串数字,不知道具体代表什么。
  前几天发现openmanager自带的命令omreport可以直接执行,于是写了这个脚本,很简单,分别检查chassis(基础构件,包括主板,电源)和storage(存储)
  1.    脚本
  vim /usr/local/nagios/libexec/check_dell_omreport
  #!/bin/bash
  # Program : check_dell_omreport
  # Version : 1.0
  # Date    : Jul 28 2012
  # Author  : huky - alonerhu@yahoo.com.cn
  # Summary : a simple nagios/icinga plugin that checks the status of chassis &
  #           storage on Dell PowerEdge servers with omreport in Dell Openmanager
  # Licence : GPL - summary below, full text at http://www.fsf.org/licenses/gpl.txt
  #这里指定openmanager安装路径,默认是/opt/dell/srvadmin
  DELL_SRV_DIR=/opt/dell/srvadmin
  PATH=$PATH:$DELL_SRV_DIR/oma/bin:$DELL_SRV_DIR/bin:$DELL_SRV_DIR/sbin
  #OMREPORT=`find $DELL_SRV_DIR -name omreport 2> /dev/null`
  STOR_CTRL=/tmp/dell.storage.ctr
  LOG_FILE=/tmp/dell_omreport.log
  STATE_OK=0
  STATE_WARNING=1
  STATE_CRITICAL=2
  STATE_UNKOWN=3
  if [ ! -d $DELL_SRV_DIR ]; then
  echo "Please install OpenManger and define the PATH after DELL_SRV_DIR" && exit $STATE_UNKOWN
  fi
  /etc/init.d/dataeng status >> /dev/null
  if [ ! $? -eq 0 ]; then
  echo "Please start the service dataeng" && exit $STATE_UNKOWN
  fi
  #check chassis
  omreport chassis | grep ^[^Ok] | grep ":" | sed '/COMPONENT/d' > $LOG_FILE
  #check storage
  omreport storage controller | grep "^ID" | cut -d":" -f2 > $STOR_CTRL
  if [ ! -s $STOR_CTRL ]; then
  echo "Have you installed the package for storage?" >> $LOG_FILE
  fi
  for CONTR_ID in `cat $STOR_CTRL`
  do
  omreport storage controller controller=$CONTR_ID | grep -2  ^Status | sed '/--/d' | awk '{if (NR%5==0){print $0} else {printf"%s  ",$0}}' | grep -v Ok | tr -s " *" " " >> $LOG_FILE
  done
  if [ -s $LOG_FILE ]; then
  paste -s $LOG_FILE > $LOG_FILE.2
  if [ `grep -c "Critical" $LOG_FILE` -eq `grep -c "\-Critical" $LOG_FILE` ]; then
  echo `cat $LOG_FILE.2` && exit $STATE_WARNING
  else
  echo `cat $LOG_FILE.2` && exit $STATE_CRITICAL
  fi
  else
  echo "Machine is Health" && exit $STATUS_OK
  fi
  2.    安装
  2.1    把脚本放在受控端相应位置(默认是这里:/usr/local/nagios/libexec/check_dell_omreport)
  2.2    然后在受控端修改nrpe服务的配置文件
  vim /usr/local/nagios/etc/nrpe.cfg
  增加一行
  command[check_omreport]=/usr/local/nagios/libexec/check_dell_omreport
  3.    监控
  主控端修改相应的监控配置,我是把这几个服务放在一个服务组里面,如下:
  define service {
  use generic-service
  host_name           主机名1,主机名3,主机名3,主机名4,主机名5
  service_description         Dell_OM
  check_command check_nrpe_1arg!check_omreport
  }
  define servicegroup{
  servicegroup_name Hardware_Status
  alias 硬件状态
  members 主机名1,Dell_OM,主机名2,Dell_OM,主机名3,Dell_OM,主机名4,Dell_OM,主机名5,Dell_OM
  }
  4.    测试
  # /usr/local/icinga/libexec/check_nrpe -H 192.168.10.121 -c check_omreport

  Controllers >  5.    启用
  重启服务后,在服务组里面可以看到相关的信息


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-667711-1-1.html 上篇帖子: 开源Linux监控系统:Icinga 下篇帖子: icinga2 借助check_iostat.sh抓取linux服务器的diskIO(硬盘繁忙度)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表