我有一个柜台在stats.message.foo
,想把它移到stats.messages.foo
。
我已更新代码以填充新计数器,但旧计数器仍然存在。
我有读要从石墨中删除统计数据,我需要做的就是删除磁盘上相应的 whisper 文件,但是似乎在删除后的几秒钟内它wsp
就会重新生成(没有数据)。
如果我想重命名存储数据的键,这就很麻烦了,因为我需要记住哪个密钥是正确的。
有人知道如何永久删除旧计数器吗?
答案1
这么多人(包括我)遇到此问题的原因在于,即使在您删除 whisper 文件(.wsp)之后,statsd(取决于其设置)仍会继续将数据写入旧统计数据(whisper 文件)。
在 /etc/statsd/config.js(在 Ubuntu 上)检查 statsd 设置。示例设置位于https://github.com/etsy/statsd/blob/master/exampleConfig.js。我建议设置删除空闲统计信息到真的这样,当没有收到统计数据时,statsd 就不会写入统计数据。
的垮台删除空闲统计信息Graphite 现在可能对某些统计数据有空值。这可以在可视化层上处理(我推荐 Grafana)。
您有两种选择可以停止已删除的 whisper 文件的重新生成:
- 只需使用
service statsd restart
或重新启动 statsd - 更新 statsd 设置,如果未收到统计数据则不将统计数据发送到后端,然后
service statsd restart
要删除不再需要的 wsp 文件:
- 列出要删除的文件
find pathToUnwantedStatistic -print
- 如果仅打印您想要删除的文件,请运行以下行以删除不需要的文件
find pathToUnwantedStatistic -delete
答案2
我遇到过类似的问题,尽管没有可用数据,但 Graphite 中仍然存在条目。我正在使用 statsd,但其中也没有指标。事实证明,除了 wsp 文件之外,我还必须删除这些文件夹。
我的具体情况是,我使用机器名称作为 statsd 的前缀。Carbon 为每台机器创建了文件夹,例如 /opt/graphite/storage/whisper/stats/ip-0A215A08,其中存储了我的指标的 wsp。因此,一旦我删除了 wsp 文件,Graphite 中仍然有一堆“文件夹”,没有任何数据仍显示在 UI 中。
碳/石墨检查
- .wsp 文件
- 你删除的统计数据的目录
在 statsd(如果您正在使用它)上,验证您想要删除的指标是否不再有仪表、计时器或计数器。为此,您还可以远程登录您的实例(默认端口 8126),并使用适当的命令检查指标管理界面而不是终止该进程。
答案3
我遇到了同样的问题。我可以通过先终止正在运行的 StatsD 服务器来删除目录。也许这是您遇到的相同问题。
pkill statsd
答案4
我同意其他人的观点,一定有某些东西仍在发送旧的度量标准。
理想情况下,您可以在客户端上解决这个问题,但您也可以通过使用以下方式在服务器端拒绝该指标whisper 的黑名单功能。
去做这个:
- 确保
USE_WHITELIST=True
/opt/carbon/conf/carbon.conf
- 添加恼人的指标
/opt/carbon/conf/blacklist.conf