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

实战ganglia分布式的监控系统(2)——集成nagios报告Ganglia指标

[复制链接]

尚未签到

发表于 2019-1-12 14:48:45 | 显示全部楼层 |阅读模式
  本次实验紧接上次实验,ganglia节点需要开启,且已经安装Nagios,Nagios安装可参考我前面关于nagios的博客:实战Nagios网络监控(1)——监控本机运行状态和Mysq主机
  
  注:ganglia与nagios可以部署在不同的主机
  

  主机nagios状态如下:

  主机ganglia状态如下:

server1

  
server2


  

          nagios监控远程主机的方式为nagios+nrpe,而ganglia可以使用客户端daemon(Ganglia Monitoring Daemon(gmond))监控远程主机,本次实验为server1上只装有nagios,server1和server2上没有装nrpe服务,服务端server1无法获取server2的主机资源。添加ganglia服务,ganglia集群资源中有server1和server2服务。利用server1上的nagios集成ganglia服务从而让server1上的nagios监控远程主机server2上的资源。
  

  1.ganglia配置
  [root@server1 html]# cp /root/ganglia-3.4.0/contrib/check_ganglia.py   /usr/local/nagios/libexec/
  [root@server1 html]# cd /usr/local/nagios/libexec/
  [root@server1 libexec]# chown nagios.nagios check_ganglia.py
  
    注:check_ganglia.py 命令仅在阈值过高时发出警告。如果希望在阈值过低时发出警告(在disk_free 中是这样),则需要修改代码。我更改了文件的最后部分,如下所示:
  [root@server1 libexec]# vim check_ganglia.py
  
  
  89 if critical > warning:

   90   if value >= critical:
   91     print "CHECKGANGLIA CRITICAL: %s is %.2f" % (metric, value)
   92     sys.exit(2)
   93   elif value >= warning:
   94     print "CHECKGANGLIA WARNING: %s is %.2f" % (metric, value)
   95     sys.exit(1)
   96   else:
   97     print "CHECKGANGLIA OK: %s is %.2f" % (metric, value)
   98     sys.exit(0)
   99 else:
  100   if critical > value:
  101     print "CHECKGANGLIA CRITICAL: %s is %.2f" % (metric, value)
  102     sys.exit(2)
  103   elif warning >= value:
  104     print "CHECKGANGLIA WARNING: %s is %.2f" % (metric, value)
  105     sys.exit(1)
  106   else:
  107     print "CHECKGANGLIA OK: %s is %.2f" % (metric, value)
  108     sys.exit(0)
  
  [root@server1 libexec]# /usr/local/nagios/libexec/check_ganglia.py -h server2.example.com -m disk_free -w 20 -c 10

  CHECKGANGLIA CRITICAL: disk_free is 6.36
  

  2.nagios配置
  [root@server1 ~]# cd /usr/local/nagios/etc/objects/
  [root@server1 objects]# vim commands.cfg
  添加如下内容:
  # 'check_ganglia' command definition
                      define command {
                              command_name check_ganglia
                              command_line $USER1$/check_ganglia.py -h $HOSTNAME$ -m $ARG1$ -w                              $ARG2$ -c $ARG3$
                      }
  [root@server1 objects]# vim templates.cfg
  添加如下内容:
  define service {
  use generic-service
  name ganglia-service
  hostgroup_name ganglia-servers
  service_groups ganglia-metrics
  }
  [root@server1 objects]# vim hosts.cfg
  
  添加如下内容:
  define host{
  use                     linux-server
  host_name               server2.example.com
  alias                   server2
  address                 172.25.254.2
  icon_image              switch.gif
  statusmap_image         switch.gd2
  2d_coords               400,100
  3d_coords               400,200,100
  }
  

  define hostgroup {
  hostgroup_name ganglia-servers
  alias ganglia-servers
  members server2.example.com
  }
  
[root@server1 objects]# vim services.cfg

添加如下内容:
  
  define servicegroup {
  servicegroup_name       ganglia-metrics
  alias                   Ganglia Metrics
  }
  

  define service{
  use                     ganglia-service
  service_description     根分区
  check_command           check_ganglia!disk_free_percent_rootfs!20!10
  }
  

  define service{
  use                     ganglia-service
  service_description     系统负载
  check_command           check_ganglia!load_one!4!5
  }
  

  define service{
  use                     ganglia-service
  service_description     内存空闲
  check_command           check_ganglia!mem_free!50000!30000
  }
  [root@server1 objects]# /etc/init.d/nagios restart
  

  浏览器端刷新查看,servre2端的资源被监控:


  
  等一段时间,状态都变成了OK:
  


  
  





运维网声明 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-662462-1-1.html 上篇帖子: 实战Nagios网络监控(3)——Nagios 微信报警 下篇帖子: 实战Nagios+Ganglia发送警告信息,短信,微信等
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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