現在、New Relic は、v1 と v3 の 2 つのバージョンの外形監視 API をサポートしています。 バージョン 3 は 2016 年 10 月にリリースされました。 Version 1 is deprecated となり、最終的には利用できなくなります。 終了日は発表されていない。 ただし、v1 に対してこれ以上の開発や変更は行われません。
注意 推奨事項: v3合成API を使用して新しいモニターを作成し、v1スクリプトを同等のv3に移行します。
New Relic のシンセティックモニタリングの REST API を使用するには、 API アクセスを有効にして、アカウント設定から Admin User's API key  を生成する必要があります。その後、コマンドラインで標準的なAPIコールを行うことができます。
シンプルでスクリプトのあるモニターの管理  外形監視 REST APIコールを作成するには、アドミンユーザーのAPIキーを使用する必要があります。
注意 合成RESTAPIは、アカウントのリクエストのレートを1秒あたり3リクエストに制限します。このしきい値を超えて行われたリクエストは、429応答コードを返します。
これらの例は、curlコマンドを示しています。
すべてのモニターを取得する アカウントのNewRelicにあるすべてのモニターのリストを表示するには、GETリクエストをhttps://synthetics.newrelic.com/synthetics/api/v1/monitorsに送信します。例えば:
>       -H   'X-Api-Key:API_KEY'  https://synthetics.newrelic.com/synthetics/api/v1/monitors 
リクエストが成功すると、 200 OK レスポンスが返されます。 返されるデータは 、次の形式のJSONオブジェクトになります。
       "locations" :  array of strings , 
特定のモニターを取得する New Relic で単一の既存のモニターを表示するには、GET リクエストをhttps://synthetics.newrelic.com/synthetics/api/v1/monitors/MONITOR_IDに送信します。 次の例のMONITOR_ID特定のモニター ID に置き換えます。
>       -H   'X-Api-Key:API_KEY'  https://synthetics.newrelic.com/synthetics/api/v1/monitors/MONITOR_ID 
リクエストが成功すると、 200 OK レスポンスが返されます。 返されるデータは 、次の形式のJSONオブジェクトになります。
   "locations" :  array of strings , 
無効なモニター ID は、エラー404 Not Found  : 指定されたモニターは存在しません」を返します。
モニターを作成する New Relicのアカウントに新しいモニターを追加するには、モニターを説明するJSONペイロードを含むPOSTリクエストをhttps://synthetics.newrelic.com/synthetics/api/v1/monitorsに送信します。
   "name" :  string  [ required ] , 
   "type" :  string (SIMPLE ,  BROWSER ,  SCRIPT_API ,  SCRIPT_BROWSER)  [ required ] , 
   "frequency" :  integer (minutes)  [ required ,  must be one of  1 ,   5 ,   10 ,   15 ,   30 ,   60 ,   360 ,   720 ,  or  1440 ] , 
   "uri" :  string  [ required for SIMPLE and BROWSER type ] , 
   "locations" :  array of strings (send a GET request to https : 
   "status" :  string (ENABLED ,  DISABLED)  [ required ] , 
さらに、REST API 経由でadd a scripted monitor に追加の API エンドポイントを呼び出し 、作成したばかりのモニターのスクリプトを送信します。
以下の例の Synthetics REST API attributes  をあなたの特定の値に置き換えてください。
>       -X  POST  -H   'X-Api-Key:API_KEY'   \ 
>       -H   'Content-Type: application/json'  https://synthetics.newrelic.com/synthetics/api/v1/monitors  \ 
$   "uri": "http://my-uri.com", 
$   "locations": ["AWS_US_WEST_1"], 
リクエストに成功すると、locationヘッダーで指定された新規作成モニターのURLと共に、201 Created レスポンスが返されます。可能なエラーコード:
400 Bad Request : 1 つ以上のモニター値が無効であるか、リクエストの形式が無効です。 たとえば、周波数が範囲外であるか、指定された 1 つ以上の場所が無効です (応答本文のエラーメッセージを参照してください)。402 Payment Required :モニターを作成すると、アカウントで購入したチェックの限度額を超える定期的なチェックが増加します。既存のモニターを更新する New Relicで既存のモニターを更新するには、PUTリクエストをhttps://synthetics.newrelic.com/synthetics/api/v1/monitors/MONITOR_IDに送信します。さらに、スクリプト化モニターの場合、BASE64でエンコードされたスクリプトを更新する の手順に従います。
次の例の MONITOR_ID を特定のモニター ID に置き換え、外形監視 REST APIプロパティを 特定の値に置き換えます。
>       -X  PUT  -H   'X-Api-Key:API_KEY'   \ 
>       -H   'Content-Type: application/json'  https://synthetics.newrelic.com/synthetics/api/v1/monitors/MONITOR_ID  \ 
$   "name": "updated monitor name", 
$   "uri": "http://my-uri.com/", 
$   "locations": ["AWS_US_WEST_1"], 
PUTリクエストの目的は、ターゲットエンティティを置き換えることにあります。既存のモニターを更新する場合、新しいモニター を作成するときにJSONペイロードで使用する、すべての属性が必要になります。
リクエストに成功すると、空白の本文と共に、204 No Content レスポンスが返されます。可能なエラーコード:
400 Bad Request : 1 つ以上のモニター値が無効であるか、リクエストの形式が無効です。 たとえば、周波数が範囲外であるか、指定された 1 つ以上の場所が無効です (応答本文のエラーメッセージを参照してください)。404 Not Found :指定されたモニターが存在しません。既存のモニターを削除する New Relic 内の既存のモニターを削除するには、 https://synthetics.newrelic.com/synthetics/api/v1/monitors/MONITOR_IDに DELETE リクエストを送信します。 次の例のMONITOR_ID 特定のモニター ID に置き換えます。
>       -H   'X-Api-Key:API_KEY'   \ 
>       -X  DELETE https://synthetics.newrelic.com/synthetics/api/v1/monitors/MONITOR_ID 
リクエストが成功すると、空の本文を持つ204 No Content レスポンスが返されます。 リクエストが失敗すると、レスポンス404 Not Found が返されます: 指定されたモニターは存在しません。
有効なロケーションのリストを取得 New Relic で有効なロケーションのリストを取得するには、次のコマンドを使用します。
>       -X  GET  -H   'X-Api-Key:API_KEY'  https://synthetics.newrelic.com/synthetics/api/v1/locations 
スクリプトによるモニターの管理  一般的な API に加えて、 scripted browser  ( SCRIPT_BROWSER ) およびapi test  ( SCRIPT_API ) モニター タイプ用の API メソッドがいくつかあります。
これらの例は、curlコマンドを示しています。
モニターのスクリプトを取得する アカウントの New Relic で特定のSCRIPT_BROWSERまたはSCRIPT_APIモニターに関連付けられたスクリプトを表示するには、GET リクエストをhttps://synthetics.newrelic.com/synthetics/api/v1/monitors/MONITOR_ID/scriptに送信します。 MONITOR_ID特定のモニター ID に置き換えます。 例えば:
$       -H   'X-Api-Key: API_KEY' 
$      https://synthetics.newrelic.com/synthetics/api/v1/monitors/MONITOR_ID/script 
リクエストが成功すると、 200 OK レスポンスが返されます。返されるデータは、次の形式のJSONオブジェクトになります。
   "scriptText" :  BASE64 encoded string 
可能なエラーコード:
403 Forbidden:  指定されたモニターのタイプはSCRIPT_BROWSERまたはSCRIPT_APIではありません。404 Not Found:  指定されたモニターが存在しないか、またはモニターに関連付けられたスクリプトが存在しません。スクリプト化モニターを追加する REST APIを使ってNew Relicに新しいスクリプトモニターを追加するには。
標準のAPI手順に従って新しいモニターを追加し 、 typeをSCRIPT_BROWSERまたはSCRIPT_APIとして識別します。
$MONITOR_UUID/scriptエンドポイントに対するスクリプトのBASE64エンコードバージョンで新規モニターを更新します。
詳細については、例 を参照してください。
モニターのスクリプトを更新する アカウントの New Relic の特定のSCRIPT_BROWSERまたはSCRIPT_APIモニターに関連付けられたスクリプトを更新するには、 scriptText (必須) を含む JSON ペイロードを使用して PUT リクエストをhttps://synthetics.newrelic.com/synthetics/api/v1/monitors/MONITOR_ID/scriptに送信します。 scriptLocationsデータは、 Verified Script Execution  がオンになっているプライベートロケーションにのみ必要です。
HMAC文字列の生成に使用するパスワードは、プライベートロケーションに設定されたパスワードと一致する必要があります。HMAC文字列の生成には、SHA256アルゴリズムを使用します。
   "scriptText" :  BASE64 encoded String , 
       "hmac"  BASE64 encoded String of SHA256 HMAC for location 
MONITOR_ID特定のモニター ID に置き換えます。 スクリプトの例を次に示します。
var assert = require('assert'); 
この例では、 scriptLocationのパスワードとしてpasswordを使用しています。
>       -H   "X-Api-Key:'API_KEY'"   \ 
>       -H   'content-type: application/json'   \ 
>      'https://synthetics.newrelic.com/synthetics/api/v1/monitors/MONITOR_ID/script'   \ 
$   "scriptText": "dmFyIGFzc2VydCA9IHJlcXVpcmUoJ2Fzc2VydCcpOw0KYXNzZXJ0LmVxdWFsKCcxJywgJzEnKTs=", 
$     "name": "my_vse_enabled_location",  
$     "hmac": "MjhiNGE4MjVlMDE1N2M4NDQ4MjNjNDFkZDEyYTRjMmUzZDE3NGJlNjU0MWFmOTJlMzNiODExOGU2ZjhkZTY4" 
リクエストに成功すると、空白の本文と一緒に204 No Content のレスポンスが返されます。可能なエラーコード:
400 Bad Request:  scriptTextまたはhmacに対する無効のBASE64でエンコードされた文字列です。403 Forbidden:  指定されたモニターのタイプがSCRIPT_BROWSERまたはSCRIPT_APIではありません。404 Not Found:  指定されたモニターが存在しません。スクリプト化ブラウザの例 New RelicのREST APIとbashスクリプトを使用して、スクリプト化されたブラウザモニターを作成する例を示します。
スクリプト化ブラウザAPIの例 以下の例では、スクリプトによるブラウザモニタを作成するためのcurlコマンドを示しています。
Bashスクリプトの例 この例は、 SCRIPTED_BROWSERモニターを作成するbashスクリプトを示しています。
$ monitorName = 'Test API Script' 
$ monitorType = 'SCRIPT_BROWSER' 
$ locations = '"AWS_US_WEST_1", "AWS_US_EAST_1"' 
$ scriptfile = sample_synth_script.js 
$    script = $( cat   " $scriptfile " ) 
$    payload = "{   \" name \"  :  \" $monitorName \" ,  \" frequency \"  :  $frequency ,     \" locations \"  : [  $locations  ],    \" status \"  :  \" ENABLED \" ,   \" type \"  :  \" $monitorType \" ,  \" slaThreshold \"  :  $slaThreshold ,  \" uri \" : \" \" }" 
$    echo   "Creating monitor" 
$    while   IFS = ':'   read  key value ;   do 
$      value = ${value ## +( [ [ : space : ] ] )} ;   value = ${value %% +( [ [ : space : ] ] )} 
$         location )   LOCATION = " $value " 
$         HTTP* )   read  PROTO STATUS MSG  <<<   " $key { $value :+: $value }" 
$    done   <   < ( curl   -sS   -i    -X  POST  -H   "X-Api-Key: $adminAPIKey "   -H   'Content-Type: application/json'  https://synthetics.newrelic.com/synthetics/api/v1/monitors  -d   " $payload " ) 
$    if   [   $STATUS   =   201   ] ;   then 
$      echo   "Monitor created,  $LOCATION  " 
$      echo   "Uploading script" 
$        encoded = ` echo   " $script "   |  base64 ` 
$        scriptPayload = '{"scriptText":"' $encoded '"}' 
$          curl   -s   -X  PUT  -H   "X-Api-Key: $adminAPIKey "   -H   'Content-Type: application/json'   " $LOCATION /script"   -d   $scriptPayload 
$      echo   "Monitor creation failed" 
$    echo   "script file not found, not creating monitor" 
シンセティック属性  ここでは、SyntheticsのREST APIコールで使用される属性をアルファベット順に並べています。
Synthetics API attribute 
Definition 
apiVersion
文字列です。バージョン番号です。
emails
文字列の配列。New Relic で アラート通知を受けるためのメールアドレス  。
frequency
整数です。 チェックの間の分数  。有効な値は、1、5、15、30、60、360、720、および1440です。
id
特定の合成モニターのUUID。
locations
Array of strings: Array of locations  by full label.
name
文字列です。 モニターの名前 .
scriptLocations
文字列: 検証済みスクリプト実行 を使用したプライベートロケーション のname値とhmac値。
scriptText
文字列です。 scripted monitors  のBASE64エンコードされたテキストです。
slaThreshold
倍です。 Synthetics SLA レポート  の値、単位は秒。
status
文字列: 有効な値には、 ENABLEDおよびDISABLEDが含まれます。
type
文字列: モニターの種類 .有効な値は以下の通りです。
SIMPLE (ping)BROWSERSCRIPT_BROWSERSCRIPT_APIuri
文字列: SIMPLEおよびBROWSERモニタータイプ のURI;たとえば、 http://my-site.com 。 SCRIPT_BROWSERおよびSCRIPT_APIの場合はオプション。
userID
整数。特定のユーザーID。
特定のモニターエンドポイント  特定のモニターに対してRESTAPI呼び出しを行う場合は、エンドポイントの一部としてmonitor_uuidを含めます。 monitor_uuidは、URLの一部であるGUIDです。たとえば、選択した合成モニター のURLは次のとおりです。
https://synthetics.newrelic.com/accounts/nnnn/monitors/ab123-c456d-e78-90123-f45g 
monitor_uuidは、 /monitors/に続く値です。