1

我正在尝试收集有关石墨和碳守护进程性能的一些数据。对我来说幸运的是,carbon 守护进程每 60 秒向石墨报告一次,其中包含一些关于其工作的统计信息,例如收到的指标数量。

我正在使用statsd聚合统计信息并将它们每秒刷新到 carbon 守护程序,但在设置显示在特定时间间隔内收到的指标数量时发现了一些奇怪的行为。我正在使用grafana连接到我的 Graphite 实例并从中提取数据。每当 statsd 没有运行并且我检查接收到的指标数量时,它仍然是 0,考虑到什么都没有发送任何东西,这并不奇怪。然而,当我启动 statsd 时,这个数字很快上升到每分钟 800/900 左右,而我还没有向它发送任何统计信息,如下图所示: statsd 运行时收到的指标

我不知道这些指标来自哪里以及为什么它们以每秒 15 次的速度发生。此外,每当我启动 statsd 时,CPU 都会使负载增加约 10%。我注意到的是,当我增加 statsd 的刷新间隔时,收到的指标数量会减少。

这是我的statsd配置文件:

{
  graphitePort: 2003,
  graphiteHost: "127.0.0.1",
  port: 8125,
  backends: ["./backends/graphite"],
  flushInterval: 1000, // Don't increase this past the lowest retention schema of graphite
  prefixStats: "test",
  graphite: {
    legacyNamespace: false
  }
}

这是我的石墨存储模式:

[carbon]
pattern = ^carbon\.
retentions = 60s:90d,300s:365d

[stats]
pattern = ^stats\..*
retentions = 1:2160,10:2160,60:10080,600:262974

[system]
pattern = ^system\..*
retentions = 10:2160,60:10080,600:262974
4

2 回答 2

1

我相信 statsd 会向 Graphite 发送自己的性能指标,即使您没有向 statsd 发送任何自己的指标。例如,我可以找到stats.statsd.processing_timestats.statsd.graphiteStats.*...

这与 Carbon 相同,即使您没有发送任何内容,您也可以获得收到的指标数量的指标。将它们视为内部指标。

查看 https://github.com/etsy/statsd/blob/1590bcf56ea1a3ac167f62fba3d599b65582d5ea/docs/admin_interface.mdhttps://github.com/etsy/statsd/blob/917a3e4276daf2587c30fcfcce65b0066e776626/backends/graphite.js

于 2015-04-17T07:36:09.403 回答
1

Statsd 将在每个时间间隔将相同数量的指标报告到碳中。statsd 命中多少指标并不重要,您每 10 或 60 秒将同一组聚合统计信息写入后端。

于 2015-06-16T16:29:41.957 回答