我构建了一个网络分析工具并考虑使用 Graphite。这是一个非常基本的工具,只有几个有趣的维度,但有多个维度与测量相关联。例如,当用户点击我想要跟踪地理位置、浏览器等的网站时。指标名称可能是:
usa.chrome.windows8.organic...
然后我可以使用通配符进行有趣的查询。
这是滥用指标名称(以及一般的 Graphite),还是只要我只关心少量指标,它是一种好方法。
我构建了一个网络分析工具并考虑使用 Graphite。这是一个非常基本的工具,只有几个有趣的维度,但有多个维度与测量相关联。例如,当用户点击我想要跟踪地理位置、浏览器等的网站时。指标名称可能是:
usa.chrome.windows8.organic...
然后我可以使用通配符进行有趣的查询。
这是滥用指标名称(以及一般的 Graphite),还是只要我只关心少量指标,它是一种好方法。
我认为这种方法会很好,尽管在命名指标时有一些重要的考虑因素。因为Graphite 将为每个度量名称存储一个 .wsp 文件,所以如果您决定更改配置,您将很难重新调整大小或调整存储设置。此外,Graphite UI 将为每个指标名称提供一个“文件夹”,因此您可以轻松地使 UI 无法使用。
Graphite 建议“Volatile path components 应该尽可能深入到层次结构中”。这实质上意味着,如果您可以将经常唯一的指标部分推送到“桶”的末尾而不影响您的分组查询,那么您应该尝试这样做。
这是一篇关于使用 Graphite 的精彩文章,其中包括命名建议。这是另一个来自 Jason Dixon 的附加信息(一般来说,石墨材料的绝佳来源)。
这基本上是我从另一个问题转发的答案......
我确实遇到了一个很好的指南(也在接受的答案中引用),有人就这个话题放在一起。从指南:
<namespace>.<instrumented section>.<target (noun)>.<action (past tense verb)>
例子:
account.authentication.password.attempted
您已经考虑了您将拥有的需求,但请尝试并预见一点,不要限制自己扩展您的能力。除非您在每个级别都有总计,否则您很难/乏味地比较指标。也许考虑一些您通常想要比较的指标,并从将它们分开开始。