2019-11-24转载Ganglia 安装和使用
- https://github.com/ganglia
作者: 德哥
正文转载自 https://yq.aliyun.com/articles/9087
本文为云栖社区原创内容,未经允许不得转载,如需转载请发送邮件至yqeditor@list.alibaba-inc.com;如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:yqgroup@service.aliyun.com 进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
传统的监控系统, 通常采用agent+server的方式, agent负责收集监控信息, 主动或被动发送给server, server负责向agent请求监控数据(agent被动), server和agent都通常使用TCP来进行连接.
传统监控的主要弊端, 当被监控的主机很多的情况下, server端的压力会很大, 例如要监控2万台主机的30个监控项, 就有60万个监控数据要从agent收集, 假设每分钟收集一次监控数据, 每秒需要上千次的metric get请求.
ganglia的设计思路比较巧妙, 有效的避免了这些问题.
ganglia分成3个主要组件: gmond/gmetad/gweb
gmond: 负责收集监控数据(metric), 有别于传统的agent, gmond除了收集自己的数据, 同时可以整合整个多播域的监控数据, 也就是说, 一个多播域里面, 单个gmond就可以包含所有的数据. 例如一个多播域有200台主机, 那么200台主机的监控数据可以只从1台gmond获取, 从而减少了服务端以往要从200个主机获取的链接. 并且gmond之间是使用UDP来传输消息的, 在本地网络中比tcp效率要高. gmond 整合了一些常规监控(metric)例如cpu, network, memory, 同时支持c, python, gmetric来扩展监控项.
配置文件在gmond本地配置, 监控数据则通过XDR格式传输(http://en.wikipedia.org/wiki/External_Data_Representation)
gmond之间共享数据主要交给2个模块进行, sender和receiver, sender只负责往多播域发数据, receiver只负责从多播地址监听端口接收数据. 而且sender和receiver可以独立开启, 也就是说一个gmond可以配置为只发数据的模式, 那就类似传统的agent. 而如果配置为只接收数据的话, 就类似传统解决方案的proxy. 例如把整个多播域的所有gmond的数据全部接收到一个或几个gmond主机, 然后server则只需要从这几台中的任意一台gmond get metric即可.
只发不收的成为deaf(聋子), 只收不发的成为mute(哑巴).
gmetad: 负责从gmond获取metric数据, 解析gmond的监控数据, 按照每台主机的每个metric, 将数据写入RRDtools文件, 即每台主机的每个metric对应一个rrdtools文件(s).
因为gmetad的功能比较单一, 所以不使用gmetad, 直接使用SHELL或python写相关功能的脚本也可以代替gmetad的功能.
gmetad除了基本的功能, gmetad还支持从其他gmetad获取数据, 将数据发生给其他监控系统(如Graphite), 或者其他监控系统主动向gmetad请求数据(如nagios).
gweb: 负责监控数据的可视化, 使用RRD数据库.
扩展模块: c, python, gmetric, 因为gmond只整合了一些常见的metric, 如果要扩展监控的话, 需要写扩展模块, 或者直接使用gmetric来向gmond的sender通道发送监控数据, 例如我们要监控一个数据库的指标, 可以自己扩展监控模块.
其他阅读材料
- https://blog.51cto.com/slevin/1574053
https://blog.csdn.net/weixin_34072458/article/details/92151387
2019-11-24转载Ganglia 安装和使用相关推荐
- 《惢客创业日记》2019.11.24(周日)标签为王
今天,终于和两位小伙伴确定了主菜单中间图标的设计思路.要说这也缘于我最近体验王者游戏中所获得的一些灵感.最近,每天都会抽出一点时间,来刷一下王者. 刚开始我一直想不明白,为什么有那么多的人对王者如此沉 ...
- CFA课程打卡-2019.11.24
学习时长:298分钟 学习内容:今天学习了财务三大报表,分别是现金流量表.损益表.资产负债表,其中最主要的是资产负债表,资产是资金的来源,负债是资金的去处,资产代表的是将来有经济利益流入的.还学习了两 ...
- ganglia安装与配置
ganglia安装与配置 实验: Redhat 5.4 + ganglia 3.2.0 1. 装备工作 1.1在所有的网站上查找最新的软件包 Ganglia 下载地址 http://sourcefor ...
- (11/24) css进阶:Less文件的打包和分离
(11/24) css进阶:Less文件的打包和分离 写在前面:在前面我们对css打包和分离进行了描述.此节我们开始学习如何对less文件进行打包和分离. Less 是一门 CSS 预处理语言,它扩展 ...
- 云监控 Ganglia 安装步骤 (含python module)
文章转载自:https://my.oschina.net/duangr/blog/181585 ,仅用于个人学习.收藏,转载请注明原作者地址. 前言 最近在研究云监控的相关工具,感觉gang ...
- 接口学习笔记(2009.11.24)
了解接口,主要是为了一道经典面试题:接口与抽象类的区别,对接口的理解却很少,现在学习一下. 接口只包含方法.属性.事件或索引器的签名.成员的实现是在实现接口的类或结构中完成的. Interface n ...
- 开源监控软件ganglia安装手册
Ganglia是一个监控服务器,集群的开源软件,能够用曲线图表现最近一个小时,最近一天,最近一周,最近一月,最近一年的服务器或者集群的cpu负载,内存,网络,硬盘等指标. Ganglia的强大在于:g ...
- Mac 10.11系统下cocoaPods安装注意事项
本文读者需具备的知识:cocoaPods相关概念及常用命令. 今天初次使用cocoaPods(下面我就称其为可可豆好了),为其在OS X 10.11系统下的安装折腾了半天,衰x10^n... 先反省一 ...
- 【292天】跃迁之路——程序员高效学习方法论探索系列(实验阶段50-2017.11.24)...
实验说明 从2017.10.6起,开启这个系列,目标只有一个:探索新的学习方法,实现跃迁式成长 实验期2年(2017.10.06 - 2019.10.06) 我将以自己为实验对象. 我将开源我的学习方 ...
最新文章
- GDB调试:观察点(数据断点)【GDB调试】
- 计算机系学生的简单立体宿舍装潢大赏
- 局域网arpsniffer源码剖析
- Web服务器性能估算
- Python中使用psutil查看内存占用的情况(内存)
- iOS 第五期考核题(字典与数组嵌套,字典的排序/删除)
- file标签样式修改
- IPMI IPMB协议
- 进行单元测试时一直报这个错,原因是缺少aspectjweaver包
- estimating the Flood kirs——曼哈顿距离
- PHP按符号截取字符串的指定部分
- vue使用echarts图表渲染异常本地正常,线上时有时无的渲染
- [计算流体力学][Ansys Fluent] 使用 Fluent 计算方腔热对流和卡门涡街
- 5G China unicom 直放站 网管协议 实时性要求
- R语言进行数据分组聚合统计变换(Aggregating transforms)、计算dataframe数据的分组四分位距(IQR)
- 栈的操作(入栈、出栈)之一:顺序栈
- 「镁客·请讲」小不点刘筱璇:新制造时代,用3D打印让世界个性起来
- 『WPF』TextBox元素过滤键盘输入
- 深入理解 Proxy 和 Reflect-- JavaScript
- channel 1:open failed : administratively prohibited : open failed
热门文章
- SpringMVC控制类的Controller方法返回值
- Shiro JSP 标签
- mysql 数据库缓冲池_MySQL5.6新特性快速预热Buffer_Pool缓冲池
- 四轮驱动机器人(SSMR)的运动规律
- html view设置全屏,uni-app 如何设置web-view 不全屏,不自动铺满,动态控制web-view的高度...
- iView UI常用组件DatePicker清空技巧
- pcl之编译VTK时CMAKE中找不到Qt5X11Extras
- Qt之控件资源标识的含义
- spring里restTemplate向目的URL发送post请求
- transform 二维转变