当社のREST APIは、New RelicのオリジナルAPIで、New Relicのアラート設定をプログラムで設定します(当社の優先APIであるNerdGraphの詳細をご覧ください)。
REST APIエクスプローラーには、使用可能なAPIコールごとにcurlリクエストフォーマット、使用可能なパラメーター、取りうるレスポンス状態コード、JSONレスポンス構造も含まれます。UI でアラート条件を作成することもできます。
REST APIを使用する前に
REST APIを使用してアラートデータを管理する前に、 NerdGraph APIを使用したアラートの使用の概要ドキュメントをご確認ください。
インフラストラクチャのアラートについては、 InfrastructureモニタリングアラートのREST APIを参照してください。
REST APIで使用可能なデータと機能
REST API functions | Comments |
|---|
アカウントデータを表示 | 一般に、どのロールでも、GET > List関数を使用可能なを使用して、アラートデータをviewことができます。アカウントの所有者と管理者は、自身のAPIキーを使用できます。 リストの出力にはページ番号が付けられることに注意してください。使用可能な機能: |
アカウントデータのメンテナンス | アカウントにOwnerまたはAdminのロールがある場合、andユーザーキーおよびアラート管理の権限が付与されたカスタムロールがある場合、ユーザーキーを使用して、POST > Create 、 PUT > Add 、 PUT > Update 、 DELETEを含むすべてのメンテナンス機能を利用できます。 |
REST APIから除外される条件
以下の条件には、APIで使用可能なエンドポイントはありません。
- APM:ウェブトランザクションパーセンタイル、条件ターゲティングラベル、異常
- NRQL:異常
アラートポリシー
これらのAPI関数には、ポリシーを簡単に作成、削除、リストすることができるAPIエクスプローラーへのリンクが含まれます。
新しいポリシーを追加するには、ユーザーキーを使用して、APIコールに以下の2つの値を含めます。
Required values | Definition |
|---|
incident_preference
| アラートにおけるアラートイベントの作成方法を決定します。以下のいずれかの方法で行う必要があります。 PER_POLICY (デフォルト):ポリシー別のロールアップ。PER_CONDITION:条件別のロールアップ。PER_CONDITION_AND_TARGET:ターゲットと条件別のロールアップ。
|
ポリシー name | ポリシーnameは必須です。変更しないままにすると、stringというポリシーが作成されます。 |
API Explorer > Alerts Policies > POST > Create
$curl -X POST 'https://api.newrelic.com/v2/alerts_policies.json' \
> -H 'Content-Type: application/json' \
$ "incident_preference": "string",
このAPIを使用して、既存のポリシーのnameとincident_preferenceを更新します。ユーザーキーが必要になります。
Required values | Definition |
|---|
id
| ポリシーのIDを確認するには、以下のオプションのいずれかを使用します。 - UIから:ポリシーのUIページで、ポリシー名の下にあるIDを検索します。
- APIを使用する場合:リストポリシーAPIを使用します。
|
incident_preference
| アラートにおけるアラートイベントの作成方法を決定します。以下のいずれかの方法で行う必要があります。 PER_POLICY (デフォルト):ポリシー別のロールアップ。PER_CONDITION:条件別のロールアップ。PER_CONDITION_AND_TARGET:条件と信号別のロールアップ。
|
ポリシー name | ポリシーname。nameを変更しない場合は、デフォルトでstringというポリシーに設定されます。 List policies APIを使用して、ポリシーの正確な名前を確認します。 |
API Explorer > Alerts Policies > PUT > Update
$curl -X PUT 'https://api.newrelic.com/v2/alerts_policies/{id}.json' \
> -H 'Content-Type: application/json' \
$ "incident_preference": "string",
既存のポリシーを削除するには、ユーザーキーを使用して、policy_id(API Explorer > Alerts Policies > GET > Listから入手可能)をAPIコールに含めます。
API Explorer > Alerts Policies > DELETE
$curl -X DELETE 'https://api.newrelic.com/v2/alerts_policies/$POLICY_ID.json' \
アカウントの既存ポリシーのリストを表示するには、ユーザーキーを使用して以下のオプションの値をAPIコールに含めます。
APM、ブラウザ、モバイルの条件
このAPI関数には、ポリシーの条件を簡単に作成、更新、削除、リストできるAPIエクスプローラーへのリンクが含まれます。こうしたコールは、以下のタイプのエンティティ向け条件となります:
- APM:アプリとキートランザクション
- Browser:アプリとキートランザクション
- Mobile:モバイルアプリ
Exception: 次のAPMの条件は、このAPIエンドポイントからはnot available取得できません。
- 条件ターゲティングラベル(ダイナミックターゲティング)
- ウェブトランザクションのパーセンタイル条件
- 異常条件
重要
APIエクスプローラーは、外部サービス(APMおよびモバイル)や外形監視など、separate endpoints個別のエンドポイントを使用して他のタイプの条件に関する情報を提供します。検索または更新中にすべてのタイプのアラート条件を考慮します。アカウントがEUデータセンターでデータをホストする場合は、適切なEUリージョンアカウント向けAPIエンドポイントを使用していることを確認してください。
ポリシーに条件を追加するには、以下の値をAPIコールに含めます:
ご利用の
policy_id(API Explorer > Alerts Policies > GET > Listから入手可能)
APIコールで必須とされるcondition値(APIエクスプローラーページとアラート条件のAPI用語集で説明されています)
API Explorer > Alerts Conditions > POST > Create
$curl -X POST 'https://api.newrelic.com/v2/alerts_conditions/policies/$POLICY_ID.json' \
> -H 'Content-Type: application/json' \
$ "condition_scope": "string",
$ "violation_close_timer": integer,
$ "runbook_url": "string",
$ "time_function": "string"
$ "value_function": "string"
JSONレスポンスは、条件の更新や削除に必要な条件idを返します。条件idはAPI Explorer > Alerts Conditions > GET > Listからも表示できます。
ポリシーの条件を更新するには、以下の値をAPIコールに含めます:
ユーザーキー
条件id(API Explorer > Alerts Conditions > GET > Listから入手可能)
APIコールで必須とされるcondition値(APIエクスプローラーページとアラート条件のAPI用語集で説明されています)
API Explorer > Alerts Conditions > PUT > Update
$curl -X PUT 'https://api.newrelic.com/v2/alerts_conditions/$CONDITION_ID.json' \
> -H 'Content-Type: application/json' \
$ "condition_scope": "string",
$ "violation_close_timer": integer,
$ "runbook_url": "string",
$ "time_function": "string"
$ "value_function": "string"
ポリシーから条件を削除するには、以下の値をAPIコールに含めます:
ご利用のポリシーについて既存条件の一覧を表示するには、ユーザーキー、およびAPIコールの関連policy_idを使用します。
API Explorer > Alerts Conditions > GET > List
$curl -X GET 'https://api.newrelic.com/v2/alerts_conditions.json?policy_id=$POLICY_ID' \
NRQLの条件
このAPI関数には、ポリシーのNRQL条件を簡単に作成、更新、削除、リストできるAPIエクスプローラーへのリンクが含まれます。
Exception: NRQL異常の条件は、このエンドポイントからはnot available入手できません。
推奨事項: NRQL データのストリーミング方法により、 aggregation_methodをEVENT_FLOWに設定し、 aggregation_windowにはデフォルト設定の60を使用し、 aggregation_delayには120を使用します。EVENT_FLOWは、ほとんどの使用例で機能しますが、どの使用例がEVENT_TIMERに適しているかについては、 集計方法の選択を参照してください。
API Explorer > Alerts NRQL Conditions > POST > Create
ポリシーのNRQL条件を作成する:
$curl -X POST 'https://api.newrelic.com/v2/alerts_nrql_conditions/policies/$POLICY_ID.json' \
> -H 'Content-Type: application/json' \
$ "runbook_url": "string",
$ "time_function": "string"
$ "value_function": "string",
$ "aggregation_window": "string",
$ "aggregation_method": "string",
$ "aggregation_delay": integer,
$ "aggregation_timer": integer,
$ "fill_option": "string",
$ "expiration_duration": "string",
$ "open_violation_on_expiration": boolean,
$ "close_violations_on_expiration": boolean
typeを除外するかstaticと設定すると、標準的なNRQLアラートにデフォルト設定されます。
ポリシーのNRQL条件を更新するには、以下の値をAPIコールに含めます:
ユーザーキー
条件のid(APIエクスプローラー Alerts NRQL Conditions > GET > Listから入手可能)
APIコールで必須とされるcondition値(APIエクスプローラーページとアラート条件のAPI用語集で説明されています)
API Explorer > Alerts NRQL Conditions > PUT > Update
$curl -X PUT 'https://api.newrelic.com/v2/alerts_nrql_conditions/$CONDITION_ID.json' \
> -H 'Content-Type: application/json' \
$ "runbook_url": "string",
$ "time_function": "string"
$ "value_function": "string",
ポリシーからNRQL条件を削除するには、以下の値をAPIコールに含めます:
外部サービスの条件
このAPI関数には、ポリシーの条件を簡単に作成、更新、削除、リストできるAPIエクスプローラーへのリンクが含まれます。以下のコールは外部サービスの条件です。APIコールは、およびモバイル監視アプリで使用できます。
APMまたはモバイルモニタリングアプリを有するポリシーの外部サービスに条件を追加するには、以下の値をAPIコールに含めます:
ユーザーキー
policy_id(API Explorer > Alerts Policies > GET > Listから入手可能)
APIコールで必須とされるexternal_service_condition値(APIエクスプローラーページとアラート条件のAPI用語集で説明されています)
API Explorer > Alerts External Service Conditions > POST > Create
$curl -X POST 'https://api.newrelic.com/v2/alerts_external_service_conditions/policies/$POLICY_ID.json' \
> -H 'Content-Type: application/json' \
$ "external_service_condition": {
$ "external_service_url": "string",
$ "runbook_url": "string",
$ "time_function": "string"
JSONレスポンスは、条件の更新や削除に必要な条件idを返します。条件idはAPI Explorer > Alerts External Service Conditions > GET > Listからも表示できます。
APMまたはモバイルモニタリングアプリを有するポリシーの外部サービスの条件を更新するには、以下の値をAPIコールに含めます:
ユーザーキー
外部サービス条件のid(API Explorer > Alerts External Service Conditions > GET > Listから入手可能)
APIコールで必須とされるexternal_service_condition値(APIエクスプローラーページとアラート条件のAPI用語集で説明されています)
API Explorer > Alerts External Service Conditions > PUT > Update
$curl -X PUT 'https://api.newrelic.com/v2/alerts_external_service_conditions/$CONDITION_ID.json' \
> -H 'Content-Type: application/json' \
$ "external_service_condition": {
$ "external_service_url": "string",
$ "runbook_url": "string",
$ "time_function": "string"
APMまたはモバイルモニタリングアプリを有するポリシーの外部サービスの条件を削除するには、以下の値をAPIコールに含めます:
外部サービスアプリ(APMまたはモバイル監視)でポリシーの既存条件の一覧を表示するには、ユーザーキー、およびAPIコールの関連policy_idを使用します。
API Explorer > Alerts External Service Conditions > GET > List
$curl -X GET 'https://api.newrelic.com/v2/alerts_external_service_conditions.json' \
> -d 'policy_id=$POLICY_ID'
合成モニタリングの条件
以下のAPI関数には、アラートポリシーの条件を簡単に作成、更新、削除、リストできるAPIエクスプローラーへのリンクが含まれます。APIコールは、合成モニタリングと共に使用できます。
合成モニタリングのポリシーに条件を追加するには、以下の値をAPIコールに含めます:
ユーザーキー
policy_id(API Explorer > Alerts Policies > GET > Listから入手可能)
APIコールで必須とされるsynthetics_condition値(APIエクスプローラーページとアラート条件のAPI用語集で説明されています)
API Explorer > Alerts Synthetics Conditions > POST > Create
$curl -X POST 'https://api.newrelic.com/v2/alerts_synthetics_conditions/policies/$POLICY_ID.json' \
> -H 'Content-Type: application/json' \
$ "synthetics_condition": {
$ "monitor_id": "string",
$ "runbook_url": "string",
JSONレスポンスは、条件の更新や削除に必要な条件idを返します。条件idはAPI Explorer > Alerts Synthetics Conditions > GET > Listからも表示できます。
ポリシーの条件を更新するには、以下の値をAPIコールに含めます:
ユーザーキー
条件id(API Explorer > Alerts Conditions > GET > Listから入手可能)
APIコールで必須とされるcondition値(APIエクスプローラーページとアラート条件のAPI用語集で説明されています)
API Explorer > Alerts Conditions > PUT > Update
$curl -X PUT 'https://api.newrelic.com/v2/alerts_conditions/$CONDITION_ID.json' \
> -H "X-Api-Key:$API_KEY" -i \
> -H 'Content-Type: application/json' \
$ "condition_scope": "string",
$ "violation_close_timer": integer,
$ "runbook_url": "string",
$ "time_function": "string"
$ "value_function": "string"
合成モニタリングのポリシーの条件を削除するには、以下の値をAPIコールに含めます:
外形監視の既存のポリシー条件一覧を表示するには、ユーザーキー、およびAPIコールの関連policy_idを使用します。
API Explorer > Alerts Synthetics Conditions > GET > List
$curl -X GET 'https://api.newrelic.com/v2/alerts_synthetics_conditions.json' \
> -d 'policy_id=$POLICY_ID'
複数の場所における合成モニタリングの条件
以下のAPI関数には、アラートポリシーの条件を簡単に作成、更新、削除、リストできるAPIエクスプローラーへのリンクが含まれます。APIコールは、合成モニタリングを使用して複数場所の条件に使用できます。条件を作成または更新する前に、複数場所のアラート条件のルールをお読みください。
複数の場所における合成モニタリングのポリシーに条件を追加するには、以下の値をAPIコールに含めます:
ユーザーキー
policy_id(API Explorer > Alerts Policies > GET > Listから入手可能)
APIコールで必須とされるlocation_failure_condition値(APIエクスプローラーページとアラート条件のAPI用語集で説明されています)
API Explorer > Alerts Location Failure Conditions > POST > Create
$curl -X POST 'https://api.newrelic.com/v2/alerts_location_failure_conditions/policies/$POLICY_ID.json' \
> -H 'Content-Type: application/json' \
$ "location_failure_condition": {
$ "runbook_url": "string",
$ "violation_time_limit_seconds": integer
JSONレスポンスは、条件の更新や削除に必要な条件idを返します。条件idはAPI Explorer > Alerts Location Failure Conditions > GET > Listからも表示できます。
複数の場所における合成モニタリングのポリシーの条件を更新するには、以下の値をAPIコールに含めます:
ユーザーキー
条件id(API Explorer > Alerts Location Failure Conditions > GET > Listから入手可能)
APIコールで必須とされるlocation_failure_condition値(APIエクスプローラーページとアラート条件のAPI用語集で説明されています)
API Explorer > Alerts Location Failure Conditions > PUT > Update
$curl -X PUT 'https://api.newrelic.com/v2/alerts_location_failure_conditions/$CONDITION_ID.json' \
> -H 'Content-Type: application/json' \
$ "location_failure_condition": {
$ "runbook_url": "string",
$ "violation_time_limit_seconds": integer
複数の場所における合成モニタリングのポリシーの条件を削除するには、以下の値をAPIコールに含めます:
複数の場所における外形監視の既存のポリシー条件一覧を表示するには、ユーザーキー、およびAPIコールの関連policy_idを使用します。
API Explorer > Alerts Location Failure Conditions > GET > List
$curl -X GET 'https://api.newrelic.com/v2/alerts_location_failure_conditions/policies/$POLICY_ID.json' \
アラートエンティティ条件
こうしたAPI関数には、アラートポリシーに対する条件のエンティティをリスト、追加、削除できるAPIエクスプローラーへのリンクが含まれます。
APM、ブラウザ、モバイル、キートランザクションにおいて、エンティティに適用される条件を表示するには、以下の値をAPIコールに含めます:
ユーザーキー
entity_idは監視対象の特定のエンティティ(アラートターゲット)です。
entity_typeは、次のいずれかである必要があります:
ApplicationBrowserApplicationMobileApplicationKeyTransaction
API Explorer > Alerts Entity Conditions > GET > list
$curl -X GET 'https://api.newrelic.com/v2/alerts_entity_conditions/$ENTITY_ID.json' \
> -G -d 'entity_type=$ENTITY_TYPE'
条件にエンティティを追加するには、以下の値をAPIコールに含めます:
ユーザーキー
entity_idは監視対象のエンティティ(アラートターゲット)です。APMアプリケーション、ブラウザアプリ、キートランザクション、モバイルアプリの数値IDです。
condition_id(API Explorer > Alerts Conditions > GET > Listから入手可能)
entity_typeは、次のいずれかである必要があります:
ApplicationBrowserApplicationMobileApplicationKeyTransaction
API Explorer > Alerts Entity Conditions > PUT > Add
$curl -X PUT 'https://api.newrelic.com/v2/alerts_entity_conditions/$ENTITY_ID.json' \
> -H 'Content-Type: application/json' \
> -G -d 'entity_type=$ENTITY_TYPE&condition_id=$CONDITION_ID'
監視しているエンティティを条件から削除するには、以下の値をAPIコールに含めます:
ユーザーキー
entity_idは削除されることになる特定の監視対象エンティティ(アラートターゲット)です。APMアプリケーション、ブラウザアプリ、キートランザクション、モバイルアプリの数値IDです。
condition_id(API Explorer > Alerts Conditions > GET > Listから入手可能)
entity_typeは、次のいずれかである必要があります:
ApplicationBrowserApplicationMobileApplicationKeyTransaction
API Explorer > Alerts Entity Conditions > DELETE > Remove
$curl -X DELETE 'https://api.newrelic.com/v2/alerts_entity_conditions/$ENTITY_ID.json' \
> -G -d 'entity_type=$ENTITY_ID&condition_id=$CONDITION_ID'