每天进步一点点——Ganglia的Python扩展模块开发
转载请说明出处:http://blog.csdn.net/cywosp/article/details/39701245
同一时候具有非常好的扩展性。同意用户增加自己所要监控的状态信息。依据可视化的相关数据,非常easy知道集群的健康状态。而且也能够分析出集群的可优化的地方。
网络中的“ 抖动( Jitter ) ” 发生在大量小消息同一时候出现,通过ntp服务将节点的时钟保持一致,就能够避免这个问题。
以下使用Python开发一个简单的metric实例:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import random
import time
descriptors = list()
def random_number_1(name):
return int(random.uniform(5, 100)) + 10
def random_number_2(name):
return int(random.randrange(50, 500))
def metric_init(params):
global descriptors
random.seed()
print params
d1 = {
'name': 'random_number_1',
'call_back': random_number_1,
'time_max': 90,
'value_type': 'uint',
'units': 'C',
'slope': 'both',
'format': '%u',
'description': 'Random a number',
'groups': 'example random'
}
d2 = {
'name': 'random_number_2',
'call_back': random_number_2,
'time_max': 90,
'value_type': 'uint',
'units': 'C',
'slope': 'both',
'format': '%u',
'description': 'Random a number',
'groups': 'example random'
}
descriptors = [d1, d2]
return descriptors
def metric_cleanup():
pass #This code is for debugging and unit testing
if __name__ == '__main__':
metric_init({})
while True:
for d in descriptors:
v = d['call_back'](d['name'])
print ('value for %s is '+d['format']) % (d['name'], v)
time.sleep(5)
modules {module {#这里的name值一定要与/usr/lib64/ganglia/python_modules/random_number.py的文件名称保持一致,否则将无法正确执行name = "random_number"language = "python"}}
collection_group {collect_every = 2time_threshold = 90
metric {#这里的name值要与random_number.py中的d1里的name保持一致name = "random_number_1"title = "random number 1"value_threshold = 0}
metric {#这里的name值要与random_number.py中的d2里的name保持一致name = "random_number_2"title = "random number 2"value_threshold = 0}}
service gmond restartservice gmetad restartservice httpd restart
每天进步一点点——Ganglia的Python扩展模块开发的更多相关文章
- Windows下安装Python扩展模块提示Unable to find vcvarsall.bat的问题
本文内容 Unable to find vcvarsall.bat的问题描述 问题分析 总结 提示: 如果你只是想知道自己需要安装哪个版本的Visual Studio请直接查看本文最后一个小节的内容. ...
- Windows下安装Python扩展模块提示“Unable to find vcvarsall.bat”的问题
本文内容 Unable to find vcvarsall.bat的问题描述 问题分析 总结 提示: 如果你只是想知道自己需要安装哪个版本的Visual Studio请直接查看本文最后一个小节的内容. ...
- 【转】linux和windows下安装python集成开发环境及其python包
本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...
- 使用 Python 开始游戏开发
使用 Python 开始游戏开发 这是一篇由教程团队成员Julian Meyer发表的文章,一个12岁的python开发人员.你可以在Google+和Twitter上找到他. 你可曾想过如何创建视频游 ...
- Java Web开发和Python Web开发之间的区别
今天的文章讨论了Java Web开发和Python Web开发之间的区别.我不鼓励我们在这里从Java Web迁移到Python Web开发.我只是想谈谈我的感受.它不一定适合所有情况,仅供我们参考. ...
- Python Web开发中的WSGI协议简介
在Python Web开发中,我们一般使用Flask.Django等web框架来开发应用程序,生产环境中将应用部署到Apache.Nginx等web服务器时,还需要uWSGI或者Gunicorn.一个 ...
- 《Python测试开发技术栈—巴哥职场进化记》—前言
写在前面 今年从4月份开始写一本讲Python测试开发技术栈的书,主要有两个目的,第一是将自己掌握的一些内容分享给大家,第二是希望自己能系统的梳理和学习Python相关的技术栈.当时我本来打算以故事体 ...
- Redis的Python实践,以及四中常用应用场景详解——学习董伟明老师的《Python Web开发实践》
首先,简单介绍:Redis是一个基于内存的键值对存储系统,常用作数据库.缓存和消息代理. 支持:字符串,字典,列表,集合,有序集合,位图(bitmaps),地理位置,HyperLogLog等多种数据结 ...
- windows和linux中搭建python集成开发环境IDE——如何设置多个python环境
本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...
随机推荐
- Matlab横坐标从特定值开始
set(gca,'XTick',1:1:length(x)); set(gca,'XTickLabel',{'15','20','25','30','35','40','45','50','55',' ...
- Android ANR优化 2
在实际情况中,当Android项目的用户量特别大时候,一些细小的问题也会被放大,ANR问题就是一个典型的例子. 一些ANR问题只会发生在用户实际使用的情景,当系统资源比较紧张等一些特殊情况下才会遇到, ...
- [Eclipse插件] Eclipse设置Tab键为空格(ctrl+shirt+f格式化生效)!
自定义format格式,用空格替换Tab键,ctrl+shit+f格式化后生效: 设置Eclipse中按Tab键为4个空格,这里标记下! Window-->Preferences-->Ja ...
- SecureCRT配置文件保存和导入
每次重装系统,都要重新配置SecureCRT,为了减少重复工作.直接在SecureCRT软件中找到:选项---全局选项---常规---配置文件夹下面路径:C:\Users\Administrator\ ...
- cpu gpu数据同步
https://developer.apple.com/documentation/metal/advanced_command_setup/cpu_and_gpu_synchronization d ...
- screen space reflection/soft alpha test/
http://www.crytek.com/cryengine/presentations/secrets-of-cryengine-3-graphics-technology 很多宝贝里面 不止题目 ...
- 远程访问ubuntu下mysql的问题
ubuntu下mysql不能用IP地址远程访问的问题解决 方法1: 1.mysql>grant all privileges on *.* to 'root'@'%' identified by ...
- 使用JEECG过程中的问题汇总(持续更新)
1.首次启动Tomcat服务时,控制台信息提示请使用SQL Server 2005或更高版本. <dependency> <groupId>org.jeecgframework ...
- linux 调度总结(转载)
调度: 操作系统的调度程序的两项任务: 1: 调度: 实现调度策略,决定就绪的进程.线程竞争cpu的次序的裁决原则.说白了就是进程和线程何时应该放弃cpu和选择那个就绪进程.线程来执行. 2: 分派: ...
- mysql 跟踪sql执行方法
摘 自: http://bbs.jee-soft.cn:8086/showtopic-166.aspx 日志是调试程序非常有用的工具. 1 配置my.ini文件(在安装目录,linux下文件名为my ...