我正在考虑向普罗米修斯出口一些指标,我对我打算做的事情感到紧张。普罗米修斯的高基数标签有多危险?
我的系统由工作流引擎组成,我想跟踪工作流中每个步骤的一些指标。这看起来是合理的,其标准度量标准为wfengine_step_duration_seconds
。我的问题是,我的所有工作流程都有数千个步骤。
根据文档here,我不应该以编程方式生成名称的任何部分。那就排除了使用诸如wfengine_step1_duration_seconds
和wfengine_step2_duration_seconds
之类的名字,因为步骤名称是编程式的(它们会不时地变化)。
该解决方案然后是步骤名称的标签。但是,这也会带来一个问题,因为文档here和here对于使用高基数的标签有相当强的警示。具体而言,他们建议保持“指标的基数低于10”,基数超过100,“研究替代解决方案,如减少维数或将分析从监测中移开”。
我正在查看低数千(1,000到10,000)的标签值的数量。鉴于其他指标的数量不会非常大,这是普罗米修斯的适当用法,还是我应该将自己限制在更通用的指标上,例如每个步骤的单个合计步长而不是单个持续时间?
但是,如果没有区分这些副本与标签,那么它有多少副本呢? – Mark
我越想越觉得这个限制没有意义(或者我误解了某些东西)。例如,对于假设的CPU使用率度量标准,是否将主机名放在度量标准名称中(以编程方式),使用标签(因此将自己限制为10个或100个服务器),或者根本不打算每个服务器的度量标准(因此失去修复破损的服务器的能力)? – Mark
Cardinaity是基数,无论是在指标还是标签中。 –