我可以为特定的接收器/警报设置 AlertManager repeat_interval 吗?

Posted

技术标签:

【中文标题】我可以为特定的接收器/警报设置 AlertManager repeat_interval 吗?【英文标题】:Can I set AlertManager repeat_interval for a specific receiver/alert? 【发布时间】:2021-08-08 14:42:00 【问题描述】:

我们正在使用 Prometheus 发送警报。我们有一个默认为 10 小时的全局 repeat_interval 路由,但对于特定的接收者/警报类型,我想将其增加到 200 小时。

我已经将--data.retention 提高到 200 小时(因为它默认为 120 小时),但我不想更改默认 repeat_interval,只针对指定的接收器。

这是我的alertmanager.yml

global:
  resolve_timeout: 5m

route:
  repeat_interval: 10h

  routes:
    - match:
        severity: 'critical' 
        receiver: 'email' 
        continue: true

receivers:
  - name: 'email'
    email_configs:
      - to: "my@email.com" 
        from: "from" 
        ...
        headers: 
          subject: "SUBJECT"

  - (other receivers...)

我想将 email-receivers 的 repeat_interval 设置为 200h,但保留默认的 route-repeat_interval 为 10h。 这可能吗?

【问题讨论】:

【参考方案1】:

使用以下内容:

route:
  repeat_interval: 10h

  routes:
    - match:
        severity: 'critical' 
      receiver: 'email' 
      repeat_interval: 200h
      continue: true

【讨论】:

谢谢!如果我有多种类型的电子邮件,但我只想将特定工作的 repeat_interval 设置为 200h,该怎么办?我可以在比赛中添加“工作:”吗?使其特定于那种工作 是的,您可以对特定指标/警报使用您拥有的任何标签(例如:作业、实例、警报名称、挂载点等)

以上是关于我可以为特定的接收器/警报设置 AlertManager repeat_interval 吗?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 ios 日历中的 EKEvent 中设置特定警报?

如何使用 CloudFormation 为特定 Lambda 设置 Lambda 警报?

是否可以在特定时间(即早上 8 点)设置警报,并且会在特定时间(即 1 小时)继续保持警报

如何使用警报管理器将数据从片段传递到广播接收器

我正在尝试使用警报管理器在特定时间设置警报,但警报会立即启动?

收到来自 Firebase 的通知时触发警报