使用来自python客户端的标记发送statsD指标

时间:2018-04-16 08:22:14

标签: python graphite statsd telegraf

我试图通过statsD从我的python应用程序发送指标到石墨, 我使用this client(我了解最常见)。

但我无法弄清楚如何使用代码发送指标。

我已尝试过这种语法(来自here):

c.incr('foo.bar,tag1=val')

还有这个(从here获得了想法):

c.incr('foo.bar;tag1=val')

但似乎没有任何效果。

有没有人成功从带有标签的python发送statsd指标?

由于

2 个答案:

答案 0 :(得分:0)

更新:

现在你需要做的就是安装:

pip install statsd-telegraf

请参阅here

按预期工作

要从python statsD发送标签,您需要安装此fork:

https://pypi.org/project/statsd-telegraf/

但是,有两个重要的注意事项:

  1. 不要单独从PyPI安装,它有一个不修复的错误
  2.     BAD: pip install statsd-tags

    从PyPI安装后,直接从GitHub安装,使用正确的用户名(在上面的PyPI链接中显示错误的链接)

        GOOD: pip install statsd-tags
              pip install -e git+https://github.com/Granitosaurus/statsd-telegraf#egg=statsd-telegraf
    1. PyPI中有关如何使用标签的文档是错误的。
    2. 标签应该是一个字典。例如:

          import statsd
          c = statsd.StatsClient('localhost', 8125, prefix='foo')
          c.incr('bar', tags = {"key1": "value1", "key2":"value2"})
      

答案 1 :(得分:-1)

this issue

中所示,python客户端似乎没有标记支持

我找了一个不同的客户端,其中包含标签支持,但没有运气。

我认为最好的选择是从this rejected pull request.

获取代码