Prometheus 普罗米修斯的高基数标签有多危险?

Prometheus 普罗米修斯的高基数标签有多危险?,prometheus,Prometheus,我正在考虑向普罗米修斯输出一些指标,我对我的计划感到紧张 我的系统由一个工作流引擎组成,我想跟踪工作流中每个步骤的一些指标。这似乎是合理的,有一个称为wfengine\u step\u duration\u seconds的仪表度量。我的问题是,我的所有工作流程中都有数千个步骤 根据文档,我不应该以编程方式生成名称的任何部分。因此,这就排除了使用诸如wfengine\u step1\u duration\u seconds和wfengine\u step2\u duration\u second

我正在考虑向普罗米修斯输出一些指标,我对我的计划感到紧张

我的系统由一个工作流引擎组成,我想跟踪工作流中每个步骤的一些指标。这似乎是合理的,有一个称为
wfengine\u step\u duration\u seconds
的仪表度量。我的问题是,我的所有工作流程中都有数千个步骤

根据文档,我不应该以编程方式生成名称的任何部分。因此,这就排除了使用诸如
wfengine\u step1\u duration\u seconds
wfengine\u step2\u duration\u seconds
之类的名称,因为步骤名称是编程的(它们会不时变化)

然后,解决方案是步骤名称的标签。不过,这也带来了一个问题,因为文档和警告强烈反对使用高基数的标签。具体而言,他们建议将“度量的基数保持在10以下”,对于基数超过100的情况,“研究替代解决方案,如减少维度数量或将分析从监控中移开”


我正在查看一些低千(1000到10000)的标签值。鉴于度量的数量不会非常大,这是普罗米修斯的恰当用法,还是我应该限制自己使用更通用的度量,例如,单个聚合步骤的持续时间而不是每个步骤的单独持续时间?

对于最大度量,保持在100基数以下的准则假定您有1000个服务副本,因为这是一个合理安全的上限。如果您知道使用此代码的每个人都将始终拥有较少数量的副本,那么在插装中就有更高基数的空间


尽管如此,成千上万的标签仍然需要小心处理。如果已经数万了,还要多久才能数十万呢?长期来看,考虑到基数,您可能必须将这些数据移动到日志中,因此您可能希望现在就这样做。

如果没有区分这些带有标签的副本,那么有多少副本又有什么区别呢?那么普罗米修斯不适合监视100(或10)个以上的副本吗机器?一个普罗米修斯可以监控数千到上万台机器,这取决于它的设置。我不知道你说的是什么意思。考虑哪些数字?@Mark我认为建议是度量的基数不应超过10000或100000,包括
实例
标签(假设的
主机名
标签),但我得到的强烈印象是,没有人非常确定什么是安全的,或者从未测量过它