我已将pagerduty与AWS cloudwatch集成,并且正在尝试将消息手动发布到pagerduty和email订阅的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 中的事件。我不确定请求正文中缺少什么。我正在从同一邮件正文正确接收电子邮件。有人能指出错误吗?
提前致谢。
情况:我安装了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)
期望的结果:
还是在Prometheus中设置两个不同的警报规则会更好?某些规则只能应用于某些设备吗?如果是这样,怎么办?
monitoring health-monitoring prometheus pagerduty prometheus-alertmanager