ポリシーでは、条件によって集計をトリガーするものが識別されます。 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
という名前の架空のポリシーの場合、コマンドは次のようになります。bash$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
を見つけます。bash$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は次のようになります。bash$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,$"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 リクエストがあります。