1

我在 grafana 和 Whisper 上使用了石墨标记的指标,但是http://graphite/tags/delSeries删除了一些东西,但没有删除 .wsp 文件。
并且未标记的指标在带有人类可读名称的 Whisper 数据文件夹中创建 .wsp 文件,但已标记的指标仅在 _tagged 目录中创建以哈希命名的文件夹和 .wsp 文件。
像这样:

/whisper
  /data
    /Players
      registrations.wsp
      today_registrations.wsp
    /Gaming
      playing_count.wsp
    /_tagged
      /f58
        /010
          f58010d4cef67599a31f4daaab4a53c4d7fd85a9faea546282d2058c40c7e7b9.wsp
      /f56
        /031
          f56031052aec89dc9cc38e44dbe71b2eb08fb513a3e60d515eb1dc23f5b929d1.wsp

如何知道与我的标记指标关联的 .wsp 文件?

4

1 回答 1

1

我也遇到了这个问题,如何将实际路径/标签度量映射到其相应的散列 wsp 文件。
我不认为您可以从哈希计算实际的指标名称,但您可以通过使用石墨的编码方法来做相反的事情。

我已经为实验室目的快速编写了一个 python 脚本:
- 它可以在参数中采用多个度量名称并返回一个映射

只需登录到您的石墨主机并在/opt/graphite/webapp/graphite/tags中创建一个 python 脚本

#!/opt/graphite/bin/python3

import sys
from utils import TaggedSeries

for line in sys.stdin:
    paths = line.split()
    for path in paths:
        # Normalize first
        parsed = TaggedSeries.parse(path)
        print(  path + " -> /opt/graphite/storage/whisper/" + TaggedSeries.encode(parsed.path,'/',True) + ".wsp")

然后,您可以通过管道传输指标列表:

#  echo "users.count;server=s1" |python mapper.py
users.count;server=s1 -> /opt/graphite/storage/whisper/_tagged/b6c/c91/b6cc916d608e4b145b318669606e79118cc41d316f96735dd43621db4fd2bcaf.wsp

您还可以获取所有标记的指标并生成一个文件,您可以稍后将其放入脚本中。在此示例中,我获取与标签“服务器”关联的所有指标:

# curl -s "http://localhost/tags/findSeries?expr=server=~." | sed s/"\", \""/\\n/g > my_metrics

然后对您的指标进行分类:

# cat my_metrics | python mapper.py

这是一个起点。从那里您可以轻松地编写一些简单的脚本来删除 wsp 文件,例如一个月以来未更新的文件。

于 2019-07-19T12:08:10.190 回答