ポリシーでは、条件はアラートをトリガーするものを識別します。 REST APIを使用して、条件を無効および有効にすることができます。 UIで条件を無効または有効にすることもできます。
ポリシーは、APIでもUIでも、有効にしたり無効にしたりすることはできません 。ポリシーの作成、削除、条件の変更のみ可能です。
RESTAPIを使用する前に
REST API は、アラートをプログラムで管理するための推奨方法ではなくなりました。 詳細については、 の API の概要をお読みください。
要件
APIを使用して条件の任意の属性を変更するには、次のことが必要です。
APIキー とアラートを管理するためのパーミッションが必要です。
条件の
id
( API エクスプローラーから入手可能:Alerts Conditions > GET > List
)
組織が EU データセンターでデータをホストしている場合は、 EU 地域アカウントに対して適切な API エンドポイントを使用していることを確認してください。
条件の有効化・無効化
条件を無効にしたり有効にしたりするプロセスは、条件の任意の属性を変更するための一般的なプロセスと同じです。この一般的な手順の後に、より詳細な例があります。
変更したい条件が含まれているポリシーのIDを探します。
ポリシーのIDが不明な場合は、ポリシーの名前またはタイプを使用してAPIコールを行い、ポリシーのIDを見つけます。このプロセスの詳細については、 List a single policy を参照してください。
ポリシーIDを使って、そのポリシーに関連する条件を返すAPIコールを行います。条件には4つのカテゴリーがあります。カテゴリーがわからない場合は、条件を見つけるために最大4回のAPIコールが必要になることがあります。
返されたJSONから、変更したい条件のJSONオブジェクトを探します。
条件のJSONをコピーして、選択したテキストエディターに貼り付け、JSONを編集します。条件を有効にするには、
"enabled"
をtrue
に設定します。条件を無効にするには、"enabled"
をfalse
に設定します。編集したJSONをUpdate APIリクエストで送信することで、条件を更新します。製品によって必要なAPIリクエストは異なります。
例APM条件の無効化
次の例は、 apm_app_metric
条件の条件を無効にする方法を示しています。必要なAPI呼び出しのタイプを除いて、プロセスは他の条件タイプを変更するプロセスと同様です。
更新するポリシーのpolicy_idを取得します。
Logjam Alert
という名前の架空のポリシーの場合、コマンドは次のようになります。curl -X GET 'https://api.newrelic.com/v2/alerts_policies.json' \ -H "X-Api-Key:$API_KEY" -i \ -G --data-urlencode 'filter[name]= Logjam Alert' <---<<< {policy_name}
このリクエストの出力は次のようになります。
{"policies": [{"id": 85, <---<<< $POLICY_ID"incident_preference": "PER_POLICY","name": "Logjam Alert","created_at": 1461176510393,"updated_at": 1461176510393}]}このポリシーのすべての条件をリストし、
{condition_id}
を見つけます。curl -X GET 'https://api.newrelic.com/v2/alerts_conditions.json' \ -H "X-Api-Key:$API_KEY" -i \ -G -d 'policy_id=85'
このリクエストの出力は次のようになります。
{"conditions": [{"id": 12345, <---<<< $CONDITION_ID"type": "apm_app_metric","name": "Apdex (Low)","enabled": true, <---<<< Note the condition is enabled"entities": ["8288171"],"metric": "apdex","terms": [{"duration": "5","operator": "below","priority": "critical","threshold": "1","time_function": "any"}]},{"id": 2468, <---<<< another condition_id"type": "apm_app_metric","name": "Throughput (Low)",...}]}問題の条件のみのJSONをコピーして、テキストエディターに貼り付けます。
"enabled": true
を"enabled": false
に変更します。編集されたJSONは次のようになります。curl -X PUT 'https://api.newrelic.com/v2/alerts_conditions/12345.json' \ -H "X-Api-Key:$API_KEY" -i \ -H 'Content-Type: application/json' \ -d \ '{ "condition": { "type": "apm_app_metric", "name": "Apdex (Low)", "enabled": false, <---<<< Changed to false "entities": [ "8288171" ], "metric": "apdex", "terms": [ { "duration": "5", "operator": "below", "priority": "critical", "threshold": "1", "time_function": "any" } ] } }'
編集した条件のJSONを更新APIリクエストで送信して、条件を更新します。この特定の条件については、 Update conditions for APM policies の手順に従います。他の製品の条件については、 Update API requests で詳述されているように、別の API リクエストがあります。