ganglia-原理介绍(一)

ganglia简介以及工作原理和配置 Ganglia简介,ganglia工作流程以及组成 阅读详情

此文档用于交流学习,转载请注明。可以加入群316297243一起学习

1 Ganglia的概述

  

  Ganglia是UC Berkeley发起的一个开源集群监视项目,设计用于测量数以千计的节点。Ganglia的核心包含gmond、gmetad以及一个Web前端。主要是用来监控系统性能,如:cpu 、mem、硬盘利用率,I/O负载、网络流量情况等,通过曲线很容易见到每个节点的工作状态,对合理调整、分配系统资源,提高系统整体性能起到重要作用。

看下ganglia监控的一个图:



可以很只直观的观察系统的各个指标,特别是对于分布式系统来说,无疑非常重要,而且Hadoop,Hbase提供了集成了ganglia的配置文件。



2 工作原理以及配置简介

2.1 组成

  在了ganglia的组成之前,先来看下一张图



从上图可以很直观的看到,一个监控系统大概包括:

Gmond,gmetad,rrdtool,Apache,PHP以及一个展示的web

 

监控的集群节点的步骤如下:

第一步:在要收集的数据的每个节点安装gmond,主要用来收集节点的信息以及存储信息(这里的存储信息在后面会讲解)

第二步:只要部署在一台机器就可以了(部署在我们需要通过web访问的机器上),主要用来轮询收集gmond的信息,并以某种形式存储到磁盘上。

第三步:安装apache web服务器,以及php(由于gweb是php开发的),构建gweb的执行环境

第四步:安装gweb,以web的形式更清晰的展示刚刚收集的历史数据。

当然其中会用一些插件,后面会讲解怎么用以及怎么安装。

 

 

 2.2 工作的简介

   

1)gmond用于节点信息的收集和存储

收集:一般用于收集本节点,用gmond.conf的udp_rev_channel来配置

存储:并不是所有的gmond的都用来存储,可以找出其中的一台或者几台来存储即可,用gmond.conf的udp_send_channel来配置。

各个gmond节点之间的信息发送接收主要用udp协议

2)gmetad 用于轮询gmond节点存储的信息

Gmetad可以配置轮询的gmond节点,通过source 参数配置。

这里的个gmond节点就是上面udp_send_channel所配置的节点,可以是hostname或者ip

3)rrdtool 用于存储数据,和画图

rrdtool把gmetad轮询收集到的数据持久化磁盘文件中,并且还可以利用这些数据画图,更好的展示这些数据


2.3 各个组件的配置说明

  1)gmond

  位置  /etc/ganglia/gmond.conf

  配置

  Globals

 

   globals {
 	daemonize = yes
   	setuid = yes
   	user = nobody
   	debug_level = 0
   	max_udp_msg_len = 1472
   	mute = no
   	deaf = no
   	allow_extra_data = yes
   	host_dmax = 86400 /*secs. Expires (removes from web interface) hosts in 1 day */
   	host_tmax = 20 /*secs */
   	cleanup_threshold = 300 /*secs */
   	gexec = no
   	send_metadata_interval = 0 /*secs */
   }

 daemonize(布尔类型)

 当值为true时,gmond将在后台分散运行。当在守护进程管理器(如daemontool)下运行gmond时,将此值设置为false。

 setuid(布尔类型)

 当值为true时,gmond将user属性指定的特定用户的UID作为有效UID;当值为false时,gmond将不会改变其有效用户。

 debug_level(整数值)

 当值为0时,gmond将正常运行。当debug_level大于0时,gmond将在前台运行并输出调试信息。debug_level值越大,输出越详细。

 max_udp_msg_len(整数值)

 该值是gmond发送包所能包含的最大长度。一般情况下该值默认不变。

 mute(布尔类型):

 当值为true时,不管其他配置指令如何,gmond将不能发送数据。“单收”(mute)gmond节点只不向其他gmond守护进程发送数  据,但仍然会响应诸如gmetad的外部轮询器。

 deaf(布尔类型):

 当值为true时,不管其他配置指令如何,gmond将不能接收数据。在每个集群内拥有成千上万节点的大型网格中,或者在细致优化  的HPC网格中(例如充分利用CPU的空闲周期),为减少汇聚集群状态的相关开销,经常将普通的计算节点设置为单发。在这些  情形下,某些特点的节点被预置为单收,此时这些节点的性能指标将不会被测量,因为这些节点将不会用作网格的运算。因为这  些节点的任务是汇聚,所以它们的性能数据会“污染”集群内其他的功能部分。

 allow_extra_data(布尔类型)

 当值为false时,gmond将不会发送XML的EXTRA_ELEMENT和EXTRA_DATA部分。该值主要应用于用户使用自己的前端并希望  节省带宽时。

 host_dmax(以秒为单位的整数值)

 dmax是delete max的缩写。当值为0时,即使远程主机停止报告,gmond也不会从列表里删除该主机。如果host_dmax设置为正值,  当gmond在“host_dmax”秒内接收不到某台主机的数据,gmond将删除该主机。

 host_tmax(以秒为单位的整数值)

 tmax是timeout max的缩写,代表gmond等待一台主机更新的最长时间。因为消息可能在网络中丢失,所以如果在4倍的host_tmax时  间内接收不到某台主机的任何消息,gmond就认为该主机已经崩溃。

 cleanup_threshold(以秒为单位的整数值)

 gmond清除过期数据的最小时间间隔。

 gexec(布尔类型)

 当值为true时,gmond将允许主机运行gexec任务。这种方式需要运行gexecd并安装合适的验证码。

 send_metadata_interval(以秒为单位的整数值)

 该值设置gmond两次发送元数据包的时间间隔。元数据包是用来描述所有激活指标的数据包。该指令默认设置为0,表示gmond只  有在初始启动和收到其他远程运行的gmond节点请求时才会发送元数据包。如果向集群内添加一台运行gmond的主机,则该主机节  点需要向其他节点公布自身信息,并告知目前支持的指标标准。在多播模式下,由于任何一个节点都可以向集群内的其他节点请  求发送元数据,因此该问题并不存在。然而,在单播模式下必须设置重发间隔。间隔值是两次重发之间的最少秒数

 

 cluster

  cluster {
   	name = "unspecified"
   	owner = "unspecified"
  	 latlong = "unspecified"
  	 url = "unspecified"
  }

 每个 gmond守护进程会使用在 cluster section中定义的属性来报告它所属集群的信息 ,使用默认值系统即可正常工作。

 name(文本格式)

 指定集群名称。当轮询节点的集群状态的XML集合时,把该名称插入CLUSTER元素内。轮询该节点的gmetad会使用该值来命名存  储集群数据的RRD文件。该指令将取代gmetad.conf配置文件中指定的集群名称。

 owner(文本格式)

 指定集群管理员。

 latlong(文本格式)

 指定该集群在地区上的GPS坐标的经纬度。

 url(文本格式)

 指定携带集群特定信息(如集群用途和使用细节)的URL。

 

 host

 host section提供运行gmond主机的相关信息。目前只支持地址字符串属性。默认host  section为:

 host {
   location = "unspecified"
 }

location (文本格式)


 udp_send_channel

 UDP通道是通过udp_(send|receive)_channel section创建的。下面给出默认的UDP发送通道:

  udp_send_channel {
   	#bind_hostname = yes
   	mcast_join = 239.2.11.71
   	port = 8649
   	ttl = 1
  }

 bind_hostname(布尔类型;可选;多播或单播)

 通知gmond使用源地址解析主机名。

 mcast_join(IP;可选;仅多播)

 当指定该选项时,gmond将创建UDP套接字并加入由IP地址指定的多播组。该选项创建一个多播通道,并与host相互排斥。

 mcast_if(文本格式;可选;仅多播)

 当指定该选项时,gmond将发送来自指定接口(例如eth0)的数据。

 host(文本格式或IP;可选;仅单播)

 当指定该选项时,gmond将向已命名主机发送数据。该选项创建一个单播通道,并与mcast_join相互排斥。

 port(数字;可选;多播或单播)

 该选项指定gmond发送数据的端口号。如果未指定,则默认为端口8649。

 

 udp_recv_channel

 

 udp_recv_channel {
  	mcast_join = 239.2.11.71
   	port = 8649
   	bind = 239.2.11.71
 }

接受渠道. 


 TCP Accept Channel

 TCP Accept Channel。TCP接收通道(TCP Accept Channel)是gmond节点创建向gmetad或其他外部轮询器汇报集群状态的通  道。用户可以配置任意多选项。 

 默认TCP接收通道为:
 

tcp_accept_channel {
   port = 8649
 }

 bind(IP;可选)

 当指定该选项时,gmond将捆绑到指定的本地地址。

 port(数字)

 gmong接收连接的端口号。

  

 2)Gmetad

 Gmetad 这个程序负责周期性的到各个datasource收集各个cluster的数据,并更新到rrd数据库中。可以把它理解为服务  端。Gmond 收集本机的监控数据,发送到其他机器上,收集其他机器的监控数据,gmond之间通过udp通信,传递文件格式为xdl。  收集的数据供Gmetad读取,默认监听端口8649 ,监听到gmetad请求后发送xml格式的文件。可以把它理解为客户端。

 gmetad默认将指标数据直接写入文件系统上的RRD文件,在有I/O限制的大型装置中,rrdcached充当gmetad和RRD文件之间的缓  存,如下图

 

 常用配置

 

 gridname(文本格式)

 能唯一标识网格的字符串。

 data_source

 每个data_source由3个字段组成。第一个字段为唯一标识data_source的字符串;第二个字段为指定轮询间隔(单位:秒)的数字;  第三个字段为以空格分开的所要轮询数据的主机列表,这些地址以IP地址或DNS主机名的形式指定,并可能添加“:端口号”形  式的后缀,该端口号指明gmond的tcp_accept_channel所在位置。如果未指明端口号,gmetad将尝试连接tcp/8649

 setuid_username(UID)

 gmetad设置UID的用户名。默认为nobody 

 rrd_rootdir(路径)

 指定RRD文件在本地文件系统存储的基本目录。

 

 3)Gweb

 gweb是最容易配置,也是需要配置最少就能工作的守护进程。实际上,无需改变gweb的任何默认配置,gweb就可以启动并运行功  能齐全的Web客户端。

 一个基于web的监控界面,通常和Gmetad安装在同一个节点上(还需确认是否可以不在一个节点上,因为php的配置文件中ms可配  置gmetad的地址及端口),它从Gmetad取数据,并且读取rrd数据库,生成图片,显示出来。


 


Hadoop监控之Ganglia整合 1 Ganglia基本原理 在Hadoop产生之前就有Ganglia,他是为集群系统监控而生。Hadoop利用Ganglia的接口,从而实现了对Ganglia的兼容。1.1 gmond分布在各个节点上的监控进程,搜集本节点的监控信息。针对Hadoop监控,可以采用同样的协议向gmond服务发送Hadoop的监控信息。1.2 gmetad相当与集群中的中心节点,主动拉取各个节点上收集到的监控信息。可 阅读详情

相关推荐

Ganglia原理浅谈

Ganglia是由UC Berkeley发起的一个开源项目,主要通过收集各节点上的度量数据(如处理器速度、内存使用量等)实现系统性能的监控。Ganglia的核心包含gmetad、gmond以及Web前端三部分,这三部分之间通过XDL(xml的压缩格式)或者XML格式传递监控数据,达到监控效果,大致过程为:集群内的节点通过运行gmond收集并相互发布节点状态信息,然后gmetad利用RRDTool工

believe36的专栏 1999

Ganglia的安装与部署以及监控hbase

1.Ganglia了解 安装部署Ganglia之前我们要了解下Ganglia是什么 对于这个工具,大家可能比较陌生,但是它功能非常强大,如果我们想收集所有服务器、网络设备的数据,那么ganglia绝对是首选,在深入学习之前,还是先从基础概念了解起吧! Ganglia是一款为HPC(高性能计算)集群而设计的可扩展的分布式监控系统,它可以监视和显示集群中的节点的各种状态信息,它由运行在各个节点上的gmond守护进程来采集CPU 、内存、硬盘利用率、I/O负载、网络流量情况等方面的数据,然后汇总到gmeta

astudybear的博客 3812

改变AWS EMR中的Ganglia配置:每1秒监视一次

前言 在AWS EMR(Elastic MapReduce)中,可以通过设置Bootstrap Action来为Hadoop集群安装Ganglia来监视集群的运行状况。EMR在lauch所有instance之后会自动帮你下载Ganglia,为你安装,配置,启动,不用用户自己做任何设置工作,十分方便。然而“方便”的代价就是牺牲灵活行。在大多数情况下,EMR为咱们自动配置的ganglia环境已经足够

MercedesQQ的专栏 1989

常用开源监控软件介绍

安装前准备 1)下载软件: 下载地址:https://pan.baidu.com/s/1cnJVmY 安装 1)安装软件Ping32终端安全管理系统: 2)安装.Net*软件: 3)登录系统: 4)管理界面预览: ...

企业实战系列集 ●●● https://ximenjianxue.blog.youkuaiyun.com 5446

Flume监控之Ganglia

Ganglia简介 Ganglia是UC Berkeley发起的一个开源集群监视可视化工具,设计用于测量数以千计的节点。Ganglia的核心包含gmond、gmetad以及一个Web前端。主要是用来监控系统性能,如:cpu 、mem、硬盘利用率, I/O负载、网络流量情况等,通过曲线很容易见到每个节点的工作状态,对合理调整、分配系统资源,提高系统整体性能起到重要作用。 其详细介绍和工作原理请参考百...

weixin_45568872的博客 642

银河麒麟V10-ARM架构-postgresql安装与部署指南

本文详细介绍应用源码进行pgsql的安装步骤,本文以postgresql-12.0为例。提示:以下是本篇文章正文内容,下面案例可供参考银河麒麟系统安装程序比较繁琐,潜在问题比较多,个人建议均通过源码自定义编译安装。国产系统还需努力啊!

idols_man的博客 1万+

centos7安装ganglia监控

centos7中安装与配置ganglia完成集群中节点监控

ForestCat的专栏 2025

swupdate-签名验证

swupdate加密部分具体在中可以查看。

qq_28219531的博客 1148

探索 Ganglia:一款强大的监控系统

探索 Ganglia:一款强大的监控系统 简介 Ganglia 是一个开源的分布式监控系统,专为各种规模的集群、数据中心和云环境设计。它收集并聚合来自各个节点的数据,并在统一的界面中展示这些数据,从而帮助您轻松监控系统的性能和健康状况。 项目地址: 应用场景 集群监控 无论您的集群是运行 Hadoop、Spark 还是其他大数据框架,Ganglia 都可以帮助您实时了解集群的资源使用情况,包括 C...

gitblog_00097的博客 602

Delta机器人:运动学正反解分析

Delta机器人:运动学正反解分析 一、Delta机构简介 Delta机构是并联机构中的一种典型机构,起原始结构如图1所示。Delta机构由R.Clavel 博士在 1985年发明,是现在并联机器人中使用最多的一种,具备了并联机构所特有的优点,负载能力强、效率高、末端执行器精度高、运动惯性小,可以高速稳定运动等。因此在机器人领域获得了越来越广泛的应用。以实现高速、精准、高效的运动。           &n

花洛兮灬 3万+

STM32F4三重ADC+DMA双缓冲实战:用CubeMX搞定同步采样,告别数据覆盖烦恼

本文详细介绍了STM32F4三重ADC与DMA双缓冲技术的实战应用,通过CubeMX配置实现同步采样,解决数据覆盖问题。内容涵盖硬件架构解析、CubeMX工程配置、双缓冲实现技巧及调试优化方法,适用于电机控制、电力监测等需要高精度多通道信号采集的场景。

weixin_30627341的博客 357

Ganglia 入门介绍及解决fsockopen error: Connection refused问题

Ganglia 入门介绍及解决fsockopen error: Connection refused问题

mhx123456789的博客 207

在STM32F103RBT6微控制器上利用USB虚拟Com端口技术,高效实现ADC数据传输:详细操作步骤与示例代码解析

以上就是在STM32F103RBT6上使用USB虚拟Com端口实现ADC数据传输的全部内容。虽然过程中有很多步骤和细节需要注意,但只要按照步骤来,理解每一段代码的作用,就完全可以掌握这个过程。在实际应用中,我们可能需要根据实际需要修改一些代码,如调整ADC的参数,改变数据的处理方式等。但是,只要理解了这个过程,我们就可以很灵活地进行修改。希望这篇文章对你有所帮助。如果你有任何疑问,欢迎在评论区留言,我会尽我所能进行解答。

qq_38334677的博客 1168

好玩又好用的Ganglia简单介绍

如果想要了解一个新概念,我觉得最快的方式,就是明白以下几个问题: 一问:它(Ganglia)是什么? Ganglia是UC Berkeley发起的一个开源集群监视项目,设计用于测量数以千计的节点。 二问:它(Ganglia)有什么作用? Ganglia主要是用来监控系统性能,如:cpu 、mem、硬盘利用率, I/O负载、网络流量情况等,通过曲线很容易见到每个节点的工作状态,对合理调整、分配系统资...

Forever_ck的博客 691

GEE:随机森林分类教程(样本制作、特征添加、训练、精度、参数优化、贡献度、统计面积)

本文将介绍在Google Earth Engine (GEE)平台上进行随机森林分类的方法和代码,其中包括制作样本点教程(本地、在线和本地在线混合制作样本点,合并样本点等),加入特征变量,运行随机森林分类器教程,计算随机森林分类结果的精度,优化随机森林分类算法的参数,打印各个变量特征的贡献度等步骤的方法和代码。本教程可以应用于多种分类场景,包括土地利用分类、种植区提取(大蒜、小麦、玉米等)、局部气候区分类、植被分类等多种场景。

养乐多的博客 1万+

论文阅读:Universal and Transferable Adversarial Attacks on Aligned Language Models. LLM Attacks

因为“即开即用”的大型语言模型能够生成大量令人反感的内容,近期的工作集中在对这些模型进行对齐,以防止不受欢迎的生成。尽管在规避这些措施方面取得了一些成功——即所谓的针对大型语言模型(LLMs)的“越狱”——这些攻击需要大量的人类智慧,并且在实践中很脆弱。自动对抗性提示生成的尝试也取得了有限的成功。在本文中,我们提出了一种简单有效的攻击方法,可以导致对齐的语言模型生成令人反感的行为。

CSPhD-winston的博客 1414

Ganglia

Ganglia集群监视项目,包括gmond、gmetad以及一个Web前端 Gmond :是一个守护进程,他运行在每一个需要监测的节点上,收集监测统计,发送和接受在同一个组播或单播通道上的统计信息 如果他是一个发送者(mute=no)他会收集基本指标,比如系统负载(load_one),CPU利用率。他同时也会发送用户通过添加C/Python模块来自定义的指标。 如果他是一个接收者(deaf=no)

JackLi31742的博客 1710

告别标注地狱!YOLO+CLIP多模态零样本检测全实战:图文联合推理,想检测什么直接输文字,不用训模型

这套方案我给朋友的超市用了快3个月,运行极其稳定,临期商品的检测准确率能到96%,后续加了“货架空货检测”“通道杂物堆积检测”,都是改一行文本就搞定,完全不用重新开发,朋友说省了十几万的定制开发费用。很多做计算机视觉的朋友,总觉得目标检测必须标数据、训模型,其实不是的。现在多模态大模型的能力已经足够强,把YOLO的定位能力和CLIP的图文泛化能力结合起来,就能用极低的成本,搞定绝大多数定制化检测需求。对于我们开发者来说,技术的价值从来不是炫技,而是用最简单的方案,解决最实际的问题。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 515

Ganglia的简单使用

在Linux操作系统上运行Ganglia并进行简单的使用

需要远程指导仿真实验、代码有问题的,请后台私信或者关注公众号 1297

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

java ganglia_Ganglia文档(一)

Ganglia总结ganglia是一种分布式监控系统。ganglia的设计便是基于大型集群进行设计的。主要体现在数据的获取方式以及分层设计。系统环境:CentOS 5.5 (64位)服务器 :Dell R510与cacti的比较起初,对于为什么非要使用ganglia而不使用cacti,让我很迷惑。不过后来在部署过程中,以及后期的体验中。主要由两点1. 部署的方便性。相对于cacti的逐台服务器的...

weixin_35178718的博客 393

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Apereo CAS 指标导出到 Ganglia:Micrometer 存储配置与源码原理解析

CAS(Apereo CAS)在运行过程中通过 Spring Boot Actuator 与 Micrometer 统一采集各类运行时指标(JVM 内存、垃圾回收、线程、Tomcat、数据源等),并支持将指标推送到多种外部监控系统。本指南聚焦其中一种存储后端——**Ganglia**,讲解如何将 CAS 指标导出到 Ganglia 监控服务器、如何通过 `management.metrics.ex

gitblog_01008的博客 383

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

GANGLIA监控原理及常见问题

2         原理 Ganglia项目是由加州大学发起的,现在已经成为一个应用非常广泛集群监控软件。可以监视和显示集群中的节点的各种状态信息,比如如:cpu 、mem、硬盘利用率, I/O负载、网络流量情况等,同时可以将历史数据以曲线方式通过php页面呈现。同时具有很好的扩展性,允许用户加入自己所要监控的状态信息。 2.1      ganglia工作原理             

泰格数据 1910

集群监视软件Ganglia

什么是ganglia Ganglia监控软件主要是用来监控系统性能的软件,如:cpu 、mem、硬盘利用率, I/O负载、网络流量情况等,通过曲线很容易见到每个节点的工作状态,对合理调整、分配系统资源,提高系统整体性能起到重要作用。Ganglia的组成ganglia 是分布式的监控系统,有两个Daemon, 分别是:客户端Ganglia Monitoring Daemon (gmond)和服务端G

从小做起 1万+

ganglia工作原理

 Ganglia项目是由加州大学发起的,现在已经成为一个应用非常广泛集群监控软件。可以监视和显示集群中的节点的各种状态信息,比如如:cpu 、mem、硬盘利用率, I/O负载、网络流量情况等,同时可以将历史数据以曲线方式通过php页面呈现。同时具有很好的扩展性,允许用户加入自己所要监控的状态信息。 2.1      ganglia工作原理                     

sdlyjzh的专栏 2095

开源监控程序ganglia介绍

      Ganglia 是UC Berkeley(加州大学伯克利分校)发起的一个开源监视项目,它的运行消耗非常少的系统资源,官方称目前已有2000节点的cluster。可以访问http://monitor.millennium.berkeley.edu/查看他们的集群监控情况,下图是ganglia监控界面:     gmond(Ganglia Monitor Daemon):运行在每个需...

The Big Data Way 265
上一篇: ganglia简介以及工作原理和配置
下一篇: ganglia-介绍安装(二)
小niuniu
博客等级 码龄15年 5粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值