4

问题描述:我有做以下事情的模块。

delete/folder
delete/file
move/folder
move/file

此应用程序在多个主机上运行。我无法找到更好的命名空间模式来将其存储在 statsd 中:

我考虑过以下模式:

<env>.<app>.<action>.<object>.<host>.exec_time
<env>.<app>.<action>.<object>.<host>.failed
<env>.<app>.<action>.<object>.<host>.succeeded

我想的第二种模式是:

<env>.<app>.<object>.<action>.<host>.exec_time
<env>.<app>.<object>.<action>.<host>.failed
<env>.<app>.<object>.<action>.<host>.succeeded

我可以有更多这样的模式吗?

<env>.<app>.<object>.<action>.exec_time.<host>
<env>.<app>.<object>.<action>.failed.<host>

我无法找到哪种模式会好,为什么?你能建议吗

目前我正在考虑以下指标。

  1. 全球服务质量
  2. 全局动作级 QOS
  3. 全局对象级 QOS
  4. 主机服务质量
  5. 主机操作级别 QOS
  6. 主机对象级 QOS
4

1 回答 1

7

这非常取决于您的需求。您已经遵循了一些一般规则(如常识),但整个主题非常个性化。

我确实遇到了一个很好的指南,有人就这个话题放在一起。从指南:

<namespace>.<instrumented section>.<target (noun)>.<action (past tense verb)>

例子:

account.authentication.password.attempted

虽然该指南提供了一些很好的见解,但我认为这将是一些反复试验。在我的公司,我们有 100 多个指标,并且需要一段时间来组织它们。您还应该学习如何从 Carbon 中删除不必要的指标!它将帮助您清理石墨界面以避免在其中看到垃圾。

于 2013-07-09T12:50:23.957 回答