帮酷LOGO
0 0 评论
  • 显示原文与译文双语对照的内容
文章标签:BIN  CAR  python-bindings  bindings  Carbon  
Easy python bindings to write to Carbon ( Re-write of carbonclient)

  • 源代码名称:graphitesend
  • 源代码网址:http://www.github.com/daniellawrence/graphitesend
  • graphitesend源代码文档
  • graphitesend源代码下载
  • Git URL:
    git://www.github.com/daniellawrence/graphitesend.git
  • Git Clone代码到本地:
    git clone http://www.github.com/daniellawrence/graphitesend
  • Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/daniellawrence/graphitesend
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
  • graphitesend

    Build StatusChangelogCoverage Status

    易于写入碳( carbonclient的编写)的python 绑定。

    阅读文档

    graphitesend.rtfd.org

    博客文章

    dansysadm.com

    示例脚本

    在web服务器上使用从本地linux系统获取数据的例子是 graphitesend示例

    安装

    $ pip install graphitesend

    easy_install

    $ easy_install graphitesend

    或者

    $ git clone git://github.com/daniellawrence/graphitesend.git
    $ cd graphitesend
    $ python./setup.py install

    用法示例

    非常基本的度量,即公制的度量值,值为 45

    >>>import graphitesend>>> graphitesend.init()>>> graphitesend.send('metric', 45)>>> graphitesend.send('metric2', 55)

    上面将向 Graphite 发送以下度量

    system.localhostname.metric 45 epoch-time-stamp
    system.localhostname.metric2 55 epoch-time-stamp

    清理接口并使用一组cpu来改变度量前缀

    >>>import graphitesend>>> g = graphitesend.init(group='cpu')>>> g.send('metric', 45)>>> g.send('metric2', 55)

    上面将向 Graphite 发送以下度量

    system.localhostname.cpu.metric 45 epoch-time-stamp
    system.localhostname.cpu.metric2 55 epoch-time-stamp

    使用其他前缀( 然后是 system.hostname )

    >>>import graphitesend>>> g = graphitesend.init(prefix='apache.rc')>>> g.send('404', 4)>>> g.send('200', 500)

    上面将向 Graphite 发送以下度量

    apache.rc.localhostname.404 4 epoch-time-stamp
    apache.rc.localhostname.200 500 epoch-time-stamp

    若要删除 localhostname,请设置另一个参数- system_name

    >>>import graphitesend>>> g = graphitesend.init(prefix='apache.rc', system_name='')>>> g.send('404', 4)>>> g.send('200', 500)

    上面将向 Graphite 发送以下度量

    apache.rc.404 4 epoch-time-stamp
    apache.rc.200 500 epoch-time-stamp

    发送一个 dict ( )

    >>>import graphitesend
     >>> g = graphitesend.init()
     >>> g.send_dict({'metric': 45, 'metric2': 55})

    正在发送列表( )

    >>>import graphitesend
     >>> g = graphitesend.init()
     >>> g.send_list([('metric', 45), ('metric2', 55)])

    发送列表( ),使用所有度量值对的自定义时间戳

    >>>import graphitesend
     >>> g = graphitesend.init()
     >>> g.send_list([('metric', 45), ('metric2', 55)], timestamp=12345)

    发送列表( ),每个度量值对具有自定义时间戳

    >>>import graphitesend
     >>> g = graphitesend.init()
     >>> g.send_list([('metric', 45, 1234), ('metric2', 55, 1234)])

    学习使用 dryrun。

    使用,启用数据将永远不会发送到远程服务,它只会打印出将发送的内容。

    >>>import graphitesend
     >>> g = graphitesend.init(dryrun=True)
     >>> g.send_list([('metric', 45, 1234), ('metric2', 55, 1234)])

    示例:init ( )

    设置度量前缀( 默认 arg )

    >>> g = graphitesend.init('prefix')>>>print g.send('metric', 1)
    sent 34long message: prefix.metric 1.0000001365068929

    使用kwargs设置度量前缀

    >>> g = graphitesend.init(prefix='prefix')>>>print g.send('metric', 2)
    sent 34long message: prefix.metric 2.0000001365068929

    挤压主机名中的任意点

    >>> g = graphitesend.init(fqdn_squash=True)
    >>> print g.send('metric', 3)
    sent 56 long message: systems.host_example_com.metric 2.00000 1365069029

    查看默认前缀hardset系统。 接着是执行 send()的主机的NAME。

    >>> g = graphitesend.init()>>>print g.send('metric', 3)
    sent 44long message: systems.<system_name>.metric 3.0000001365069029

    如果你有一组定时器或者百分比,就设置一个后缀

    >>> g = graphitesend.init(suffix='_ms')>>>print g.send('metric', 4)
    sent 47long message: systems.<system_name>.metric_ms 4.0000001365069100

    如果你提交的结果不同,则设置 system_name

    >>> g = graphitesend.init(system_name='othersystem')>>>print g.send('metric', 5)
    sent 47long message: systems.othersystem.metric 5.0000001365069100

    小写所有发送到 Graphite 服务器的度量名称。

    >>> g = graphitesend.init(lowercase_metric_names=True)>>>print g.send('METRIC', 6)
    sent 47long message: systems.<hostname>.metric 6.0000001365069100

    设置一个组 NAME,如果你刚刚分析了,并想要使用,的<system_name> 目录中的所有指标来前缀它。

    >>> g = graphitesend.init(group='groupname')>>>print g.send('metric', 6)
    sent 54long message: systems.<system_name>.groupname.metric 6.000000136506924

    连接到其他 Graphite 服务器

    >>> graphitesend.init(graphite_server='graphite.example.com')

    连接到其他 Graphite 服务器端口

    >>> graphitesend.init(graphite_port=2003)

    发送异步消息

    >>> graphitesend.init(asynchronous=True)

    更改连接超时( 默认 2 )

    >>> graphitesend.init(timeout_in_seconds=5)

    刚刚添加了--脚本,允许任何东西将指标发送到 Graphite ( 不只是 python )。

    使用非常简单,你需要给命令一个度量值和值。

     $ graphitesend name.of.the.metric 666

    发送more*然后 1度量值和值

     $ graphitesend name.of.the.metric 666
     $ graphitesend name.of.the.other_metric 2

    * 调用它 2次;)

    瓷器概述

    初始化

    创建GraphiteSend的MODULE 实例。

    电子邮件发送

    请确保我们有GraphiteClient的实例。 然后将度量发送到 Graphite 服务器。

    send_dict

    请确保我们有GraphiteClient的实例。 然后将度量发送到 Graphite 服务器。

    复位

    断开与 Graphite 服务器的连接并销毁 MODULE 实例。

    TCP vs UDP

    UDP支持的新分支称为'UDP和 tcp'。 TCP将继续作为默认选项,以UDP作为选项



    文章标签:BIN  CAR  bindings  python-bindings  Carbon  

    Copyright © 2011 HelpLib All rights reserved.    知识分享协议 京ICP备05059198号-3  |  如果智培  |  酷兔英语