每天进步一点点——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 ...
随机推荐
- Problem C: 指针:自定义函数length,调用它计算字符串的长度
#include<stdio.h> int length(char*s) { int i,count; while(*s!='\0') { *(s++); count++; } retur ...
- UDP和TCP的区别和联系
UDP特点 将数据源和目的封装在数据包中,不需要简历连接 每个数据报的大小在限制在64K内 因无连接,是不可靠协议 不需要建立连接,速度快 TCP 建立连接.形成传输数据通道. 在连接中进行大量数据量 ...
- emailautocomplete
CSS代码: .emailist{border:1px solid #bdbdbd; border-radius: 4px; background-color:#fff; color:#666; fo ...
- bootstrap table 复选框选中后,翻页不影响已选中的复选框
使用的 jquery版本为 2.1.1 在项目中发现bootstrap table的复选框选中后,翻页操作会导致上一页选中的丢失,api中的 bootstrapTable('getSelections ...
- Java 定时任务 & 任务调度
任务调度是指基于 给定时间点,给定时间间隔 或者 给定执行次数 自动执行任务. 方式1:通过 Thread 来实现 例如如下的代码,可以每隔 1000 毫秒做一次打印操作. public class ...
- Hive 内建操作符与函数开发——深入浅出学Hive
第一部分:关系运算 Hive支持的关系运算符 •常见的关系运算符 •等值比较: = •不等值比较: <> •小于比较: < •小于等于比较: <= •大于比较: > •大 ...
- Dev之ribbon设置
- Hadoop端口一览表
Hadoop端口一览表 @(Hadoop) 端口名 用途 50070 Hadoop Namenode UI端口 50075 Hadoop Datanode UI端口 50090 Hadoop Seco ...
- Node.js aitaotu图片批量下载Node.js爬虫1.00版
即使是https网页,解析的方式也不是一致的,需要多试试. 代码: //====================================================== // aitaot ...
- centos vim 7.3 升级 + vim 简单配置文件
CentOS5自带VIM为2006年的7.0版本,现在很多插件都是针对7.3开发的,决定编译升级VIM7.3版. 编译安装VIM7.3: cd /usr/local/src/ wget ftp://f ...