Ganglia api接口安装(python版)

来源:互联网 发布:什么叫软件饱和 编辑:程序博客网 时间:2024/06/06 14:13

Ganglia是UC Berkeley发起的一个开源集群监视项目,设计用于测量数以千计的节点。

Ganglia本身没有api接口,根据Gmetad的原理,可以通过将监控数据转换成XML来获取metrics。Guardian在Githup上发布了一套基于Python的程序,可以直接通过RESTFUL API来获取metrics。


Githup地址:https://github.com/guardian/ganglia-api

这套程序安装过程很简单,可以在任意位置安装这套程序。需要的环境有:

(1)python2.7

(2)tornado 4.5

1. 在 /etc/ganglia 目录下要包含以下三个配置文件

gmetad-PROD.conf   # => xml_port 8651, interactive_port 8652gmetad-STAGE.conf  # => xml_port 8751, interactive_port 8752gmetad-DEV.conf    # => xml_port 8851, interactive_port 8852
2. 在/var/log/ 目录下创建ganglia-api.log 文件用来记录日志,并给与权限,保证可读写。

3. 在/var/run/ 目录下创建ganglia-api.pid文件用来存储PID(初始文件内容随意给一个数字就好,不然会报错),并给与权限,保证可读写。

4. 保证安装代码的系统的8080端口可以监听。

5. 将python程序中的ganglia_api.py 和 settings.py 这两个文件放置到/etc/ganglia 目录下,在命令行执行:

cd /etc/gangliapython ganglia_api.py
6. 接着访问 http://localhost:8080/ganglia/api/v2/metrics ,如果可以返回数据则表示安装成功。

{    "metrics": [        {            "cluster": "webdc1",            "dataUrl": "http://ganglia-api.example.com:8080/ganglia/api/v2/metrics?&environment=PROD&cluster=webdc1&host=vagrant-ubuntu-trusty-64&grid=web&metric=load_one",            "description": "One minute load average",            "environment": "PROD",            "graphUrl": "http://vagrant-ubuntu-trusty-64/ganglia/graph.php?&ti=One%20Minute%20Load%20Average&c=webdc1&r=1day&v=0&h=vagrant-ubuntu-trusty-64&vl=%20&z=default&m=load_one",            "grid": "web",            "group": "load",            "host": "vagrant-ubuntu-trusty-64",            "id": "prod.web.webdc1.vagrant-ubuntu-trusty-64.load.load_one",            "instance": "",            "metric": "load_one",            "sampleTime": "2016-06-17T13:47:35.000Z",            "tags": [                "foo",                "bar",                "baz"            ],            "title": "One Minute Load Average",            "type": "gauge",            "units": " ",            "value": 0.0        }    ],    "status": "ok",    "time": "0.000",    "total": 1}

7. 在后台运行python程序:

nohup python ganglia_api.py &

若报错,一些信息会存在 /home/hadoop/nohup.out 里。


注:ganglia正常启动 service gmetad restart


原创粉丝点击