标签: pagerduty

将 AWS SNS 消息发布到 Pagerduty

我已将pagerdutyAWS cloudwatch集成,并且正在尝试消息手动发布pagerdutyemail订阅的SNS 主题。但是我无法在pagerduty 中获得事件。然而,CloudWatch的警报被触发事件在pagerduty使用相同的话题

我参考了一些pagerduty消息有效负载的文档。但无法使其工作。我的SNS消息 JSON 如下,

{
 "default":"test message",
 "email":"test email message",
 "https":{
    "service_key":"XXXX",
    "event_type":"trigger",
    "description":"Example alert on host1.example.com"
  }
}
Run Code Online (Sandbox Code Playgroud)

它不会触发pagerduty 中的事件。我不确定请求正文中缺少什么。我正在从同一邮件正文正确接收电子邮件。有人能指出错误吗?

提前致谢。

amazon-web-services amazon-sns pagerduty

9
推荐指数
1
解决办法
4435
查看次数

Prometheus-Alertmanager警报的复杂规则/过滤器

情况:我安装了Prometheus和Alertmanager来监控各种设备的CPU温度。Alertmanager将警报从生产设备发送到PagerDuty。

我监视的设备具有不同的型号,具有不同的操作规格。1-5型的正常CPU温度是50C,而6型的是70C。当前,CPU温度警报的阈值为60C,因此PagerDuty不断从在正常温度下运行的Model 6设备获取警报。

如果温度低于80C,有没有办法仅从6型设备中过滤出CPU温度警报,而在60C下仍能获得1-5型设备的CPU温度警报?

注意:有许多其他指标正在监视,但是对于除CPU温度以外的所有其他指标,所有设备型号都具有完全相同的阈值。

这是我的一个代码片段,alertmanager.yml它将产品警报发送到PagerDuty

- match:
    stack_name: prod
    severity: critical
  receiver: PagerDuty
Run Code Online (Sandbox Code Playgroud)

诚然,我没有很多YML经验。但这是我希望做的,但是我不确定语法是否正确:

- match:
    stack_name: prod
    severity: critical
    alertname: !device_cpu_temperature
  receiver: PagerDuty
- match:
    stack_name: prod
    severity: critical
    alertname: device_cpu_temperature
    uuid: !*6X*
  receiver: PagerDuty
- match: 
    stack_name: prod
    severity: critical
    alertname: device_cpu_temperature
    uuid: *6X*
    value: >80
  receiver: PagerDuty
Run Code Online (Sandbox Code Playgroud)

期望的结果:

  • 除device_cpu_temperature以外的所有关键产品警报都发送到PagerDuty
  • 仅当型号不是6时,严重的prod device_cpu_temperature警报才会发送到PagerDuty(uuid包含型号后跟“ X”)
  • 仅当CPU温度高于80C时,来自模型6设备的严重prod device_cpu_temperature警报才会发送到PagerDuty。

还是在Prometheus中设置两个不同的警报规则会更好?某些规则只能应用于某些设备吗?如果是这样,怎么办?

monitoring health-monitoring prometheus pagerduty prometheus-alertmanager

3
推荐指数
1
解决办法
2119
查看次数