【发布时间】:2018-03-04 13:09:22
【问题描述】:
我正在考虑将一些指标导出到 Prometheus,但我对我打算做什么感到紧张。
我的系统包含一个工作流引擎,我想跟踪工作流中每个步骤的一些指标。这似乎是合理的,有一个称为wfengine_step_duration_seconds 的度量指标。我的问题是我的所有工作流程都有数千个步骤。
根据文档here,我不应该以编程方式生成名称的任何部分。因此,这就排除了使用诸如 wfengine_step1_duration_seconds 和 wfengine_step2_duration_seconds 之类的名称,因为步骤名称是程序化的(它们会不时更改)。
解决方案是步骤名称的标签。不过,这也带来了一个问题,因为文档here 和here 非常强烈地警告不要使用具有高基数的标签。具体来说,他们建议将“指标的基数保持在 10 以下”,对于超过 100 的基数,“研究替代解决方案,例如减少维度数量或将分析从监控中移开”。
我正在查看数以千计(1,000 到 10,000)的标签值。鉴于指标的数量不会非常大,这是对 Prometheus 的适当使用,还是我应该将自己限制为更通用的指标,例如单个聚合步骤持续时间而不是每个步骤的单独持续时间?
【问题讨论】:
标签: prometheus