gpt4 book ai didi

curl - 使用new relic的http api,如何关闭uptime监控?

转载 作者:行者123 更新时间:2023-12-05 01:05:41 26 4
gpt4 key购买 nike

我正在尝试按照此处的新遗物文档中给出的说明使用 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"

这是我正在使用的请求(去除了个人信息): curl "https://api.newrelic.com/api/v1/accounts/NNNNNN/applications/NNNNNNN/ping_targets/disable "-X POST -H "X-Api-Key:x...x"

我已成功将 acct_id、app_id 和 x-api-key 用于其他 GET 命令。但是,当我尝试执行上述命令时,出现此错误:

<hash>
<error>The requested page could not be found</error>
</hash>

根据此堆栈交换帖子: Turn Newrelic monitoring on or off via rest api没有办法做到这一点,但这与文档冲突。

那么,有没有办法做到这一点?有没有人成功做到这一点?

最佳答案

假设“正常运行时间监控”指的是可用性监控,这必须通过禁用控制监控的策略来实现。这可以通过使用这样的命令来确定策略 ID 号来找到

curl -X GET 'https://api.newrelic.com/v2/alert_policies.xml' -gH "X-Api-Key:<APIKEY>" -i -d 'filter[name]=<POLICY_NAME>' 

如果策略名称包含空格,请替换为“+”。

从输出中,找到 POLICY_ID
<alert_policies_response>
<alert_policies>
<alert_policy>
<id>104446</id> <----<<<< POLICY_ID
<type>application</type>
<name><POLICY_NAME></name>
.....

还可以通过扫描“可用性”的输出来识别条件 ID,并记下 ID 号。
   <condition>
<id>997294</id> <----<<<< CONDITION_ID
<type>application_availability</type>
<severity>downtime</severity>
....

现在使用生成的 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
}]
}
}'

请注意,一旦确定了 POLICY_ID 和 CONDITION_ID,则只需要最后一条命令。

关于curl - 使用new relic的http api,如何关闭uptime监控?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21098071/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com