我在经营一个Tendermint网络。我正在使用Prometheus跟踪各种指标,并跟踪节点的健康状况。对于tendermint_consensus_total_txs这样的性能指标,我希望每秒钟更新一次。对于诸如go_gc_duration_seconds_sum这样的健康指标,我只需要每分钟更新一次。
如何配置Prometheus,使其每秒钟刮一次度量值A,每分钟擦一次度量值B?或者,我如何将其配置为只保留度量B的每60次样本?
出于业务原因,频繁更新性能度量是很重要的,但我需要避免增加存储成本,因为我需要为我不经常需要的度量存储大量的示例。
发布于 2021-11-01 09:19:14
您可以在两个不同的作业的scrape_interval中定义不同的刮擦配置:一个用于慢轮询的作业,一个用于快速轮询的作业。
如果您的指标位于不同的端点上,那么您可以简单地调整哪个端点应该比另一个端点更频繁地被抓取。
如果您的指标位于同一个端点上,则可以在两个作业中定义相同的端点,并使用目标的指标_再标_配置来调整您想要摄入的指标:
在快速工作中,只保留想要保留的指标。
metric_relabel_configs:
- source_labels: [__name__]
regex: go_gc_duration_seconds_sum
action: keep如果作业之间的度量重复是一个问题,您可以将它们放到慢作业中:
metric_relabel_configs:
- source_labels: [__name__]
regex: go_gc_duration_seconds_sum
action: drop并可选择地将快速作业中的作业标签重命名为与慢作业相匹配的作业标签(练习留给读者)。
https://devops.stackexchange.com/questions/14903
复制相似问题