nep*_*hiw 4 curl heroku newrelic
我试图按照新文件文档中的说明使用curl来关闭正常运行时间监控:https://docs.newrelic.com/docs/alerts/availability-monitor-settings
根据此文档,此请求将禁用我的正常运行时间监视:
curl https://www.myhost.com/accounts/acct_id/applications/app_id/ping_targets/disable -X POST -H"X-Api-Key:"my_key"
这是我正在使用的请求(删除了个人信息):卷曲" https://api.newrelic.com/api/v1/accounts/NNNNNN/applications/NNNNNNN/ping_targets/disable"-X POST -H"X -API密钥:X ... X"
我已经成功地将我的acct_id,app_id和x-api-key用于其他GET命令.但是,当我尝试上述命令时,我收到此错误:
<hash>
<error>The requested page could not be found</error>
</hash>
Run Code Online (Sandbox Code Playgroud)
我是curl命令的新手所以这可能只是我的结构的一个问题,但似乎url是不正确的.根据这个堆栈交换帖子:通过rest api打开或关闭Newrelic监控没有办法做到这一点,但这与文档冲突.
那么,有没有办法实现这一目标?有没有人成功完成这个?
小智 5
假设"正常运行时间监视"是指可用性监视,则必须通过禁用控制监视的策略来实现.这可以通过使用这样的命令来确定策略ID号
curl -X GET 'https://api.newrelic.com/v2/alert_policies.xml' -gH "X-Api-Key:<APIKEY>" -i -d 'filter[name]=<POLICY_NAME>'
Run Code Online (Sandbox Code Playgroud)
如果策略名称包含空格,请用"+"替换.
从输出中,找到POLICY_ID
<alert_policies_response>
<alert_policies>
<alert_policy>
<id>104446</id> <----<<<< POLICY_ID
<type>application</type>
<name><POLICY_NAME></name>
.....
Run Code Online (Sandbox Code Playgroud)
还可以通过扫描输出的"可用性"来识别条件ID,并记下ID号.
<condition>
<id>997294</id> <----<<<< CONDITION_ID
<type>application_availability</type>
<severity>downtime</severity>
....
Run Code Online (Sandbox Code Playgroud)
现在使用结果POLICY_ID和CONDITON_ID来禁用策略.
curl -X PUT 'https://api.newrelic.com/v2/alert_policies/<POLICY_ID>.json' \
-H 'X-Api-Key:<APIKEY>' -i \
-H 'Content-Type: application/json' \
-d \
'{
"alert_policy":
{
"conditions": [
{
"id": <CONDITION_ID>,
"enabled": false
}]
}
}'
Run Code Online (Sandbox Code Playgroud)
请注意,一旦确定了POLICY_ID和CONDITION_ID,则只需要最后一个命令.
| 归档时间: |
|
| 查看次数: |
653 次 |
| 最近记录: |