开发者学堂课程【企业运维监控平台架构设计与实现:通过gmetric接口扩展Ganglia监控】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/384/detail/4822
通过gmetric接口扩展Ganglia监控
目录:
一、扩展Ganglia监控功能
二、Ganglia的优势与注意事项
三、Ganglia的优势与注意事项
四、问题汇总
一、ganglia官方站点
我们寻找工具需要找一个功能强大性能好的工具,并不是流行的工具就是最好的
Ganglia拥有自己的官方网站:
http://ganglia.info,大家可以打开网站去下载
Ganglia 的更新版本非常之快,现在的 Ganglia web 版本更新到3.7.2,这个是最新的了,Ganglia core 版本更新到3.7.1,可以直接
Ganglia 各版本可在官网下载。
画图功能来说没有 zbes 灵活,他是根据 jd 库来实现,这回事原始的画图来实现,当时他的其他功能很强大,当然他的功能不止一点,他拥有很多扩展功能
二、扩展Ganglia监控功能
1.通过gmetric接口扩展Ganglia监控
命令后面跟上一些参数就可以直接写入 ganglia 中去
gmetric 是 Ganglia 的一个命令行工具
Ganglia 作用是交互接口
目的是将数据直接发送到负责收集数据的 gmond 节点,或者广播给所有 gmond 节点。
在 Ganglia 安装完成后,会在 bin 目录下生成 gmetric 命令。下面通过一个实例介绍一下 gmetric 的使用方法:
[root@cloud1 ~]# /opt/app/ganglia/bin/gmetric\
>-ndisk used-v40-tint32-u'%test'-d50-s'8888:cloud1
将信息传入到 ganglia-server,再做一个画图操作
其中:
-n,表示要监控的指标名。
-v,表示写入的监控指标值。
-t,表示写入监控数据的类型。
-u,表示监控数据的单位。
-d,表示监控指标的存活时间。
-c,用于指定ganglia配置文件的位置。
-S,表示伪装客户端信息,8888代表伪装的客户端地址,doud1代表被监控主机的主
通过 shell 命令,实现 mysql 监控,linux 监控等,通过定时任务,每10秒将信息写入
这是通常使用的一种方法,主要调用 Ganglia 的 gmetric 命令来向 gmond 输入数据,进而实现统一监控,这种方法简单,对于少量的监控可以采用,但是对于大规模自定义监控时,监控数据难以统一管理。
Ganglia 监控软件主要是用来监控系统性能的软件,如:cpu 、mem、硬盘利用率, I/O 负载、网络流量情况等,通过曲线很容易见到每个节点的工作状态,对合理调整、分配系统资源,提高系统整体性能起到重要作用。
2.python扩展插件
在 Ganglia3.1.x 版本以后,增加了 Python 接口,通过这个接口可以自定义数据收集模块,并且这些模块可以被直接插入到 gmond 中以监控用户自定义的应用。Python 监控可以通过网站下载库
GitHub 网站:
https://github.com/ganglia/gmond_python_modules
现成可用扩展插件:
Mongodb 驱动插件
Mysql 驱动插件
Network 驱动插件等
基本上所有的都有 python 插件,包括系统本身的插件,直接下载使用,放入 ganglia 平台,直接实现扩展
插件扩展支持 PHP 和 C,支持扩展方式丰富,实现强大的数据收集机制
三、Ganglia的优势与注意事项
1、可以轻松监控上万台服务器,数据延时在10s以内。
轻松监控上万台机器,反应效率高,在数据收集方面支持 utb 协议,对数据的要求不准确,在10秒内更新通过 udb 方式实现很高的性能,减去服务器压力
2、分布式架构,扩展方面,非常适合多地跨机房部署。
支持分布式架构,多个 dmod 节点汇总,多个服务节点形成一级二级服务节点,适合跨机房多地网络监控
3、与 centrenon 无缝整合,实现监控、报警一体化。
无缝整合方便,充当数据收集模块
4、数据存储磁盘10可能成为瓶颈,需要高性能磁盘做支撑。
多数据本地磁盘存,服务器多监控数量大,存储效率,ganglia 服务端存在瓶颈
保证读写效率存放数据到D盘,实现数据的实时处理,把数据通过 redis 方式,实现数据实时展示,前台数据传入,在 web 界面形成图像
对 hadoop 数据监控收集友好,ganglia 对数据相关收集很完善,不需要做任何设置,通过扩展插件实现数据传输
四、问题汇总
1.如何防止文件被篡改?
使用防篡改软件实现
2.如何防护文件?
发布端,访问端,发布端对文件有修改权限,访问端有只读权限
3.ganglia 混合监控环境?
Ganglia 实现 windons 和 linux 混合使用监控