fedora下ganglia安装、配置及python模块扩展

操作系统 强烈建议 2024-02-07 14:55 171 0

  1 安装ganglia

  1.1安装环境

  CentOS, fedora

  1.2单机版安装步骤

  假设机器的IP地址是192.168.1.253, 首先安装好所需要的软件

  1 gmond的设置文件位置是/etc/gmond.conf,打开其进行编辑,只需修改下面的内容:

  cluster {

  name=“cluster1”

  owner=“owner1”

  latlong=“unspecified”

  url=“unspecified”

  }

  udp_send_channel {

  host=192.168.1.253

  port=8649

  ttl=1

  }

  udp_recv_channel {

  port=8649

  }

  2 gmetad的设置文件位置是/etc/gmetad.conf,打开其进行编辑,只需修改下面的内容:

  1.4 启动服务

  1 启动gmond

  chkconfig gmond on

  service gmond start

  2 启动gmetad

  chkconfig gmetad on

  service gmetad start

  3启动httpd

  chkconfig httpd on

  service httpd start

  打开localhost/ganglia就可以看到结果了。

  2 python模块扩展

  yum install ganglia-gmond-python

  gmond.conf 有这一行代码include (“/etc/ganglia/conf.d

  modules {

  module {

  name="python_module"

  path="modpython.so"

  params="/usr/lib/ganglia/python_modules"

  }

  }

  include ('/etc/ganglia/conf.d/*.pyconf')

  params指明了python模块存放的目录。

  include (‘/etc/ganglia/conf.d/*.pyconf’) 指明了python模块配置文件的目录。

  在 /usr/lib/ganglia下有modpython.so。该文件是 Ganglia Python 扩展的动态库文件。

  /usr/lib/ganglia/python_modules文件夹存在。所有的python模块存放在这个位置,后缀名是.py

  定制一个python模块很简单,只需按照一定的模板编写.py文件,然后将这个模块(.py)放在 /usr/lib/ganglia/python_modules 目录下。对应的配置文件(.pyconf)放在/etc/ganglia/conf.d/目录下。

  python模块可能要访问服务器的多个文件,由于运行python模块的用户和运行gmond的用户是一致的,所以必须保证运行gmond的用户有访问这些文件的权限。

  在安装好ganglia-gmond-python后,已经自带了一个例子/usr/lib/ganglia/python_modules/example.py。下面将针对example.py解释python模块的格式,以及它的配置文件。

  以example为例(安装完ganglia-gmond-python 后已经自带)

  模块中必须包含的三个方法是:

  def metric_init(params):

  def metric_cleanup():

  def metric_handler(name):

  前面两个方法的名字必须是一定的,而最后一个 metric_handler可以任意命名。

  __main__是便于debug用,可以单独调试该模块,以检测是否有错。

  下面将对每个方法的功能做解释。

  对模块的初始化,在gmond服务被启动的时候,运行一次。

  该方法必须返回一个词典列表,每个词典表示了一个metric的信息。每个词典的格式如下:

  This value maps to the data source types defined for RRDTool

  If ‘positive’,表示数据的变化率(calculating the rate of change)

  If ‘negative’,

  ‘both’ 直接显示值

  If ‘zero’, 将显示在 “Time and String Metrics” 或者 “Constant Metrics”中(根据metric的value_type)

  在example这个例子中,d2的slope是zero,最后显示在Constant Metrics中,而不显示在下面的面板里。

  gmond关掉的时候执行,不能返回值。

  可以取任何的名字,要在call_back中调用,参数name在是metric字典里定义的name。

  pyconf是python模块的配置文件,位置是



时间:(2024-02-07 14:55:33)
本站资源均来自互联网或会员发布,如果不小心侵犯了您的权益请与我们联系。我们将立即删除!谢谢!