如何在夜间维护期间停止New Relic或PagerDuty的警报

75次阅读
没有评论

问题描述

在使用New Relic和PagerDuty时,有一个需求是希望在夜间维护期间停止警报。他们的夜间维护作业可能会导致AppDex的警报和应用程序的错误率增加。虽然这些指标在白天发生问题时可能会对客户造成影响,但在夜间没有任何客户使用服务,因此开发人员没有动力使夜间作业更少出错。用户希望找到一种方法来在夜间维护期间停止警报,但目前在New Relic和PagerDuty中没有找到实用的解决方案。

解决方案

请注意以下操作注意版本差异及修改前做好备份。

方案1

根据用户的需求,我们可以使用PagerDuty的调度功能来实现在夜间维护期间停止警报。以下是具体步骤:
1. 创建一个新的PagerDuty服务。
2. 为该服务创建一个调度,并将调度时间设置为夜间维护期间。
3. 将调度与服务关联。
这样,当夜间维护期间发生警报时,PagerDuty将不会发送通知。这种方法需要创建一个新的服务,并在调度中设置正确的时间,但是这是目前找到的最简单的解决方案。

方案2

请注意,这种方法可能需要额外的配置和监控,以确保在夜间维护期间不会发生任何警报。
另一种方法是使用New Relic的警报规则来实现在夜间维护期间停止警报。以下是具体步骤:
1. 登录到New Relic控制台。
2. 找到相关应用程序的警报规则设置。
3. 创建一个新的警报规则,并将其配置为在夜间维护期间停止警报。
这种方法需要根据具体的应用程序和警报规则进行配置,并确保在夜间维护期间不会发生任何警报。这可能需要额外的配置和监控,以确保警报规则的正确性。

方案3

请注意,这种方法可能需要额外的配置和监控,以确保在夜间维护期间不会发生任何警报。
另一种方法是使用PagerDuty的维护窗口功能来实现在夜间维护期间停止警报。以下是具体步骤:
1. 登录到PagerDuty控制台。
2. 找到相关服务的维护窗口设置。
3. 创建一个新的维护窗口,并将其配置为在夜间维护期间停止警报。
这种方法需要根据具体的服务和维护窗口进行配置,并确保在夜间维护期间不会发生任何警报。这可能需要额外的配置和监控,以确保维护窗口的正确性。

方案4

请注意,这种方法可能需要额外的配置和监控,以确保在夜间维护期间不会发生任何警报。
另一种方法是使用脚本或工具来控制New Relic和PagerDuty的警报。以下是一个简单的示例脚本,可以在夜间维护期间停止警报:

#!/bin/bash
# 停止New Relic的警报
curl -X POST -H "Content-Type: application/json" -H "X-Api-Key: YOUR_API_KEY" -d '{"enabled": false}' https://api.newrelic.com/v2/alerts_policies/YOUR_POLICY_ID
# 停止PagerDuty的警报
curl -X POST -H "Content-Type: application/json" -H "Authorization: Token YOUR_API_TOKEN" -d '{"enabled": false}' https://api.pagerduty.com/alerts/YOUR_ALERT_ID

在这个示例中,我们使用curl命令向New Relic和PagerDuty的API发送请求,将警报的状态设置为禁用。这样,在夜间维护期间,警报将不会触发通知。这种方法需要根据具体的API密钥、策略ID和警报ID进行配置,并确保在夜间维护期间不会发生任何警报。这可能需要额外的配置和监控,以确保脚本的正确性。

结论

根据用户的需求,我们提供了多种方法来在夜间维护期间停止New Relic和PagerDuty的警报。用户可以根据具体情况选择适合自己的解决方案,并确保在夜间维护期间不会发生任何警报。这些方法可能需要额外的配置和监控,以确保警报的正确性。

正文完