Nagios插件化之ganglia插件-创新互联

架构:

公司主营业务:成都做网站、成都网站设计、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联公司推出金安免费做网站回馈大家。

 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(3)
if 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(0)
else:
        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 definition
define command{
        command_name    check_ganglia
        command_line    $USER1$/check_ganglia.py -h $HOSTADDRESS$ -m $ARG1$ -w $ARG2$ -c $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-metrics
servicegroup_name gangliametrics
alias Ganglia Metrics
}
define service {
use ganglia-service
host_name cjx
hostgroup_name ganglia-servers
service_description load_one
check_command check_ganglia!load_one!4!5
}

define service{
host_name cjx
hostgroup_name ganglia-servers
use ganglia-service
service_description disk_free
check_command check_ganglia!disk_free!0.2!0.1
}
//定义服务时一定要定义好主机、主机组、服务组,否则会出现error、warning错误提示,且 网上不好找到答案

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

[root@cjx objects]# cd ..
# vim /etc/nagios/nagios.cfg
cfg_file=/etc/nagios/objects/hosts.cfg
cfg_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页面吧。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


文章标题:Nagios插件化之ganglia插件-创新互联
标题链接:http://azwzsj.com/article/digogc.html