python - 从 python 客户端发送带有标签的 statsD 指标

标签 python graphite statsd telegraf

我正在尝试通过 statsD 从我的 python 应用程序向 Graphite 发送指标, 我正在使用 this client (据我所知这是最常见的)。

但我不知道如何发送带有标签的指标。

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

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

还有这个(从 here 得到的想法):

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

但似乎没有任何效果。

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

谢谢

最佳答案

更新:

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

pip 安装 statsd-telegraf

参见 here

按预期工作


要从 python statsD 发送标签,你需要安装这个分支:

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

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

  1. 不要单独从 PyPI 安装,它有一个未修复的错误
    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 中关于如何使用标签的文档是错误的。

标签应该是一个字典。例如:

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

关于python - 从 python 客户端发送带有标签的 statsD 指标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49852654/

相关文章:

python - 通过 int 从 DatetimeIndex 转换为 datetime64[s] 而不除以 1e9 可能吗?

python - 如何在不使用 for 循环的情况下注释/聚合列表中的每个项目 (Django)

python - 使用 OpenCV 补偿自动白平衡

python - 将 Pickled 数据发送到 Graphite

java - CollectD Java 插件在 Graphite 中错误地显示零

python - 将 C++ 中的 float 组返回给 Python

javascript - 在 Grafana 中交换 Graphite 返回的时间戳和值

python - 了解 Graphite 及其工作原理?

vimeo - 从 Graphite 迁移到图形浏览器

ruby - redis batsd (statsd) 计数器