温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Nagios插件化之ganglia插件

发布时间:2020-08-13 13:04:04 阅读:749 作者:gold的宠儿 栏目:移动开发
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

 架构:

  nagios跟ganglia一样可以都是监控软件,但是两个也有不同之处,Ganglia的优势在于实时对监控集群中的机器的各项指标,比如CPU、内存、磁盘、温度等数据,汇总成各种图形化界面,并提供可调用数据。而在出现问题的时候报警提示功能,相对较弱。

 Nagios的优势在于出现问题之时可以提供强大的报警提示功能,但是在时间监控上,功能比较弱,即使使用NRPE插件也不足以提供强大的机器监控,所以此处将两者结合起来。实现监控、报警功能。

环境介绍:

1.服务器中已经安装好了Ganglia,安装过程参考:http://9480860.blog.51cto.com/9470860/1746122

2.服务器中已经安装好了Nagios,安装过程详见:http://9480860.blog.51cto.com/9470860/1746124

安装思路:

通过Nagios调用Ganglia的接口,获取整个服务器的监控指标。如果超过设定的指标,则予以报警。

安装过程:

1.Ganglia与naios的结合

# cp ganglia-3.6.0/contrib/check_ganglia.py  /usr/local/nagios/libexec/# chown nagios.nagios check_ganglia.py # /usr/local/nagios/libexec/check_ganglia.py

2.修改gmetad配置,使其shared监控数据

# vim /usr/local/ganglia/etc/gmetad.conf  trusted_hosts 127.0.0.1 192.168.235.138 cjx## vim check_ganglia.py   修改报警脚本try:        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)        s.connect((ganglia_host,ganglia_port))        parser = GParser(host, metric)        value = parser.parse(s.makefile("r"))        s.close()except Exception, err:        print "CHECKGANGLIA UNKNOWN: Error while getting value \"%s\"" % (err)        sys.exit(3if critical > warning:         if value >= critical:                 print "CHECKGANGLIA CRITICAL: %s is %.2f" % (metric, value)                 sys.exit(2)         elif value >= warning:                 print "CHECKGANGLIA WARNING: %s is %.2f" % (metric, value)                 sys.exit(1)         else:                 print "CHECKGANGLIA OK: %s is %.2f" % (metric, value)                 sys.exit(0else:         if critical >= value:                 print "CHECKGANGLIA CRITICAL: %s is %.2f" % (metric, value)                 sys.exit(2)         elif warning >= value:                 print "CHECKGANGLIA WARNING: %s is %.2f" % (metric, value)                 sys.exit(1)         else:                 print "CHECKGANGLIA OK: %s is %.2f" % (metric, value)                 sys.exit(0)  //报警脚本需要特别注意格式,否则会显示错误提示# python check_ganglia.py -h cjx -m load_one -w 10 -c 100

3.增加检测ganglia的命令

# vim /etc/nagios/objects/commands.cfg # 'check_ganglia' command definitiondefine command{        command_name    check_ganglia        command_line    $USER1$/check_ganglia.py -$HOSTADDRESS-$ARG1-$ARG2-$ARG3$        }

4.定义ganglia模板

# vim templates.cfg define service{        name                            ganglia-service                 ; The name of this service template        use                             generic-service        hostgroup_name                  gangliaservers        service_groups                  gangliametrics        register                        0        }

5.定义主机

[root@cjx objects]# vim hosts.cfg define host{    use linux-server    host_name cjx    alias Manager    address 127.0.0.1    icon_p_w_picpath server.gif    statusmap_p_w_picpath server.gd2    2d_coords 200,300    3d_coords 200,300,100    }define hostgroup{            hostgroup_name  ganglia-servers ; The name of the hostgroup             alias            ganglia servers ; Long name of the group             members         *;     }~

5.定义服务

[root@cjx objects]# vim service.cfg define servicegroup {#servicegroup_name ganglia-metricsservicegroup_name gangliametricsalias Ganglia Metrics}define service {use ganglia-servicehost_name cjxhostgroup_name ganglia-serversservice_description load_onecheck_command check_ganglia!load_one!4!5} define service{host_name cjxhostgroup_name ganglia-serversuse ganglia-serviceservice_description disk_freecheck_command check_ganglia!disk_free!0.2!0.1}//定义服务时一定要定义好主机、主机组、服务组,否则会出现errorwarning错误提示,且 网上不好找到答案

6.把文件路径加入到nagios主配置文件里面

[root@cjx objects]# cd ..# vim /etc/nagios/nagios.cfg cfg_file=/etc/nagios/objects/hosts.cfgcfg_file=/etc/nagios/objects/service.cfg

7.验证配置正确性

/usr/local/nagios/bin/nagios -v /etc/nagios/nagios.cfg

8.重启nagios服务

# service nagios restart

9.打开nagios-web页面可以看到相关信息

Nagios插件化之ganglia插件

Nagios插件化之ganglia插件

        这个时候就静静的看着web页面吧。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI

开发者交流群×