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

简介:

本次实验紧接上次实验,ganglia节点需要开启,且已经安装Nagios,Nagios安装可参考我前面关于nagios的博客:实战Nagios网络监控(1)——监控本机运行状态和Mysq主机

注:ganglia与nagios可以部署在不同的主机


主机nagios状态如下:

wKioL1gSp9KAHjdHAAKfKFi_oNU988.png

主机ganglia状态如下:


server1

wKioL1gSqk7iFdV3AAEd9BZdVhA356.png

server2

wKioL1gSqnKTTPl0AAERibGH19U241.png



        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端的资源被监控:


wKiom1gSrNmx9bM-AAHWREVYg-g491.png


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



wKioL1gSrZSRqigmAAGxd3yq6O4346.png



本文转自willis_sun 51CTO博客,原文链接:http://blog.51cto.com/willis/1866634,如需转载请自行联系原作者

相关文章
|
3月前
|
弹性计算 运维 Serverless
项目管理和持续集成系统搭建问题之云效流水线支持阿里云产品的企业用户如何解决
项目管理和持续集成系统搭建问题之云效流水线支持阿里云产品的企业用户如何解决
75 1
项目管理和持续集成系统搭建问题之云效流水线支持阿里云产品的企业用户如何解决
|
3月前
|
安全 前端开发 持续交付
项目管理和持续集成系统搭建问题之云效的缺陷管理如何解决
项目管理和持续集成系统搭建问题之云效的缺陷管理如何解决
80 6
|
3月前
|
分布式计算 DataWorks 关系型数据库
MaxCompute 生态系统中的数据集成工具
【8月更文第31天】在大数据时代,数据集成对于构建高效的数据处理流水线至关重要。阿里云的 MaxCompute 是一个用于处理大规模数据集的服务平台,它提供了强大的计算能力和丰富的生态系统工具来帮助用户管理和处理数据。本文将详细介绍如何使用 DataWorks 这样的工具将 MaxCompute 整合到整个数据处理流程中,以便更有效地管理数据生命周期。
112 0
|
23天前
|
NoSQL Java Redis
开发实战:使用Redisson实现分布式延时消息,订单30分钟关闭的另外一种实现!
本文详细介绍了 Redisson 延迟队列(DelayedQueue)的实现原理,包括基本使用、内部数据结构、基本流程、发送和获取延时消息以及初始化延时队列等内容。文章通过代码示例和流程图,逐步解析了延迟消息的发送、接收及处理机制,帮助读者深入了解 Redisson 延迟队列的工作原理。
|
27天前
|
SQL 数据库连接 数据库
管理系统中的Visual Studio与SQL集成技巧与方法
在现代软件开发和管理系统中,Visual Studio(VS)作为强大的集成开发环境(IDE),与SQL数据库的紧密集成是构建高效、可靠应用程序的关键
|
1月前
|
SQL 监控 数据库
管理系统VS SQL:高效集成的关键技巧与方法
在现代企业信息化建设中,管理系统(如ERP、CRM等)与SQL数据库之间的紧密集成是确保数据流动顺畅、业务逻辑高效执行的关键
|
2月前
|
并行计算 关系型数据库 分布式数据库
朗坤智慧科技「LiEMS企业管理信息系统」通过PolarDB产品生态集成认证!
近日,朗坤智慧科技股份有限公司「LiEMS企业管理信息系统软件」通过PolarDB产品生态集成认证!
|
3月前
|
存储 Prometheus 监控
Grafana 与 Prometheus 集成:打造高效监控系统
【8月更文第29天】在现代软件开发和运维领域,监控系统已成为不可或缺的一部分。Prometheus 和 Grafana 作为两个非常流行且互补的开源工具,可以协同工作来构建强大的实时监控解决方案。Prometheus 负责收集和存储时间序列数据,而 Grafana 则提供直观的数据可视化功能。本文将详细介绍如何集成这两个工具,构建一个高效、灵活的监控系统。
366 1
|
3月前
|
运维 持续交付 项目管理
项目管理和持续集成系统搭建问题之帮助以诺行进行项目管理如何解决
项目管理和持续集成系统搭建问题之帮助以诺行进行项目管理如何解决
34 3