仅供参考,不负责任
Gmond扩展Python度量模块
在最新的Ganglia3.1.x版本中,我们可以创造出C/Python的度量收集模块,这些模块能被直接插入到gmond中以用来监视用户自定义的度量。在早期的版本中(2.5.x,3.0.x),添加用户自定义的度量只有通过命令行调用gmetric这么一种方法,它可以简单地通过一个cronjob或者其他进程将度量插入到gmond中。虽然这种方法对大多数人来说是可行的,但是他使得用户自定义的度量难以管理。本文将介绍自己编写一个python度量监视模块的一些细节问题
以下的组件是建立/使用Python支持所必须的
安装RPM安装
如果你安装Python度量模块在基于RPM软件包管理的系统上,安装“ganglia-gmond-modules-python”这个软件包即可。这包含了Python模块开发的所有东西。
APT安装
执行 apt-get install ganglia-monitor然后看下面的注意事项
源码安装
如果你是从源码编译的,确保添加了 –with-python这个选项。如果Python解释器被检测到,这个选项是会被自动添加
检查
为了确保Ganglia的安装有了Python支持的设置,检查一下以下设置:
如果你通过二进制文件安装python模块支持,上面的这些应该会被自动生成。假如有些文件缺失的话,请把bug提交给我们
Ubuntu 10.10 注意事项
Ubuntu 10.10 没有Python支持的设置,你需要:
建立/etc/ganglia/conf.d/modpython.conf,,让他看起来像这样,https://sourceforge.net/apps/trac/ganglia/browser/trunk/monitor-core/gmond/modules/conf.d/modpython.conf.in
modules params
建立目录 /usr/lib(64)/ganglia/python_modules确保 /usr/lib(64)/ganglia/modpython.so 已经存在(如果你通过apt安装的话,Ubuntu 10.10 将会默认有这个文件)编写自定义Python模块
编写一个Python模块是非常简单的。你只需要根据模板编写,完成之后将以.py结尾的模块放到/usr/lib(64)/ganglia/python_modules下面。同时将对应的.pyconf格式的配置文件放置在/etc/ganglia/conf.d/下。如果你的Python模块需要访问服务器上的一些文件,记住他是以运行gmond进程的用户执行的。换句话说,如果gmond以nobody运行,那么你的模块就是nobody运行。所以确保运行gmond的用户有权限访问这些文件。Ganglia有示例模块在/usr/lib(64)/ganglia/python_modules/example.py中。
示例模块
让我们来看一下一个监测主机温度的实在的Python模块实例,它通过读取/proc文件系统,让我们称他为temp.py
acpi_file acpi_filelineparams:acpi_file d1 : descriptors :dv)
Python 的详细介绍:请点这里Python 的下载地址:请点这里
推荐阅读:
《Python开发技术详解》.( 周伟,宗杰).[高清PDF扫描版+随书视频+代码]
Python脚本获取Linux系统信息
明天的希望,让我们忘了今天的痛苦