实战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,如需转载请自行联系原作者

相关文章
|
9天前
|
资源调度 Java 调度
Spring Cloud Alibaba 集成分布式定时任务调度功能
定时任务在企业应用中至关重要,常用于异步数据处理、自动化运维等场景。在单体应用中,利用Java的`java.util.Timer`或Spring的`@Scheduled`即可轻松实现。然而,进入微服务架构后,任务可能因多节点并发执行而重复。Spring Cloud Alibaba为此发布了Scheduling模块,提供轻量级、高可用的分布式定时任务解决方案,支持防重复执行、分片运行等功能,并可通过`spring-cloud-starter-alibaba-schedulerx`快速集成。用户可选择基于阿里云SchedulerX托管服务或采用本地开源方案(如ShedLock)
|
17天前
|
前端开发 关系型数据库 测试技术
django集成pytest进行自动化单元测试实战
在Django项目中集成Pytest进行单元测试可以提高测试的灵活性和效率,相比于Django自带的测试框架,Pytest提供了更为丰富和强大的测试功能。本文通过一个实际项目ishareblog介绍django集成pytest进行自动化单元测试实战。
20 3
django集成pytest进行自动化单元测试实战
|
21天前
|
消息中间件 Java Kafka
"Kafka快速上手:从环境搭建到Java Producer与Consumer实战,轻松掌握分布式流处理平台"
【8月更文挑战第10天】Apache Kafka作为分布式流处理平台的领头羊,凭借其高吞吐量、可扩展性和容错性,在大数据处理、实时日志收集及消息队列领域表现卓越。初学者需掌握Kafka基本概念与操作。Kafka的核心组件包括Producer(生产者)、Broker(服务器)和Consumer(消费者)。Producer发送消息到Topic,Broker负责存储与转发,Consumer则读取这些消息。首先确保已安装Java和Kafka,并启动服务。接着可通过命令行创建Topic,并使用提供的Java API实现Producer发送消息和Consumer读取消息的功能。
40 8
|
16天前
|
JSON 数据管理 关系型数据库
【Dataphin V3.9】颠覆你的数据管理体验!API数据源接入与集成优化,如何让企业轻松驾驭海量异构数据,实现数据价值最大化?全面解析、实战案例、专业指导,带你解锁数据整合新技能!
【8月更文挑战第15天】随着大数据技术的发展,企业对数据处理的需求不断增长。Dataphin V3.9 版本提供更灵活的数据源接入和高效 API 集成能力,支持 MySQL、Oracle、Hive 等多种数据源,增强 RESTful 和 SOAP API 支持,简化外部数据服务集成。例如,可轻松从 RESTful API 获取销售数据并存储分析。此外,Dataphin V3.9 还提供数据同步工具和丰富的数据治理功能,确保数据质量和一致性,助力企业最大化数据价值。
81 1
|
2月前
|
资源调度 Java 调度
Spring Cloud Alibaba 集成分布式定时任务调度功能
Spring Cloud Alibaba 发布了 Scheduling 任务调度模块 [#3732]提供了一套开源、轻量级、高可用的定时任务解决方案,帮助您快速开发微服务体系下的分布式定时任务。
14451 23
|
22天前
|
jenkins Java 持续交付
【一键搞定!】Jenkins 自动发布 Java 代码的神奇之旅 —— 从零到英雄的持续集成/部署实战秘籍!
【8月更文挑战第9天】随着软件开发自动化的发展,持续集成(CI)与持续部署(CD)已成为现代流程的核心。Jenkins 作为一款灵活且功能丰富的开源 CI/CD 工具,在业界应用广泛。以一家电商公司的 Java 后端服务为例,通过搭建 Jenkins 自动化发布流程,包括创建 Jenkins 项目、配置 Git 仓库、设置构建触发器以及编写构建脚本等步骤,可以实现代码的快速可靠部署。
41 2
|
4天前
|
消息中间件 SQL 关系型数据库
go-zero微服务实战系列(十、分布式事务如何实现)
go-zero微服务实战系列(十、分布式事务如何实现)
|
2月前
|
JSON 数据挖掘 API
天猫店铺商品数据接口集成指南与实战技巧
**天猫商品API概览** - **接口**: Tmall.item_search_shop, 获取店铺商品详情。 - **功能**: 开发者可获取商品标题、价格、销量等。 - **流程**: 注册天猫开放平台账户→获App Key/Secret→获取Access Token→构建URL调用API→解析JSON响应。 - **参数**: 包含店铺ID、页码、数量等。 - **返回**: JSON格式的商品列表。 - **应用**: 商品管理、电商应用开发、数据分析。此API助力商家高效管理、提升用户体验。
|
28天前
|
Prometheus 监控 Cloud Native
Gin 集成 prometheus 客户端实现注册和暴露指标
Gin 集成 prometheus 客户端实现注册和暴露指标
49 0
|
2月前
|
数据采集 存储 NoSQL
Redis 与 Scrapy:无缝集成的分布式爬虫技术
Redis 与 Scrapy:无缝集成的分布式爬虫技术
下一篇
云函数