1

我正在为某个商业案例评估 Prometheus。我一直在关注文档,但找不到描述我的要求的示例。

以下是我的商业案例。

我将在一个 PULL 循环中使用以下指标将数据 (PULL) 泵送到 Prometheus。当然,在一个 PULL 循环中,我也可以抽取另一组完全相同的指标,但资产 ID 会有所不同。

test_value_one{asset_id="123"} 0.215
test_value_two{asset_id="123"} 0.815
test_value_six{asset_id="123"} 0.715

我的问题是

我可以使用多个指标(相同的资产 ID)构建单个规则吗?我认为可以将多个指标与表达式 (expr) 一起使用。但我的要求如下。

name: iot_rules
  rules:
  - alert: threshhold_alert
    expr: test_value >= 4
    #for: 1m
    labels:
      severity: critical     
      Additional text : The other metric values are 0.815 and 0.715
    annotations:      
      summary: 'Error detected on {{$labels.assset_id}}'

如果您查看警报规则中的附加文本,值0.8150.715需要分别来自其他两个指标,即test_value_twotest_value_six。这是我可以实现的吗,因为我的目标是在我打算发送的单个警报中提供其他指标的全面视图。

4

2 回答 2

0

你可以试试

expr: test_value_one - test_value_two >= 4  or test_value_two - test_value_six >= 4

或类似的

于 2018-11-06T11:22:22.740 回答
0

我的 alert-manager.yml 上的以下配置有助于根据资产 ID 聚合数据。请注意下面的“group_by”标签。我为 promwebhook 公开了一个 RESTAPI,从那里我构造了所需的文本。

global:

route:
  group_by: ['asset_id']
  group_wait: 5s
  group_interval: 5s
  repeat_interval: 2m
  receiver: node
于 2019-07-13T15:23:50.890 回答