合成 API モニタリングジョブの作成 API

このページでは、合成 API モニタリングジョブの作成と構成に使用する API について説明します。

API モニタリングジョブの作成

指定された JSON ペイロードを使用して新しい API モニタリングジョブを作成します。

リソースURL

POST <api_server_URL>/v1/synthetic/api/schedule

または、OAuth 認証方式を使用している場合は、次の URL を使用します。

POST <controller_url>/controller/restui/synthetic/api-schedule/<applicationId>/updateSchedule

要求/応答の形式

JSON

リクエスト
JAVASCRIPT
{
"scheduleRunConfigs": [
{
"rate": {
"value": 15,
"unit": "MINUTES"
},
"daysOfWeek": [
"SUN",
"WED",
"THUR",
"FRI",
"MON",
"TUES",
"SAT"
],
"timezone": "UTC"
}
],
"description": "jobUI",
"apiMetadata": {
"script": {
"contentType": "JAVASCRIPT",
"script": "// Javascript based API Monitoring Test\n\nconst assert = require(\"assert\");\n(async () => {\n    var response = await client.get(\"<URL>\");\n    assert.equal(response.statusCode, 200);\n    assert.equal(response.statusMessage, \"OK\");\n    for(var key in response.headers) {\n        console.log(`${key} : ${response.headers[key]}`);\n    }\n    assert.equal(response.body, \"response body\");\n})()"
}
},
"browserCodes": [
"API"
],
"chromeVersions": [],
"locationCodes": [
"M50"
],
"timeoutSeconds": 15,
"appKey": "appKey",
"composableConfig": {
"numBeforeConfirmedError": 0,
"resourceErrorDetection": {
"ignoreWhen": {
"resourceUrlContains": [],
"resourceMimeType": []
},
"onlyWhen": {
"resourceUrlContains": [],
"resourceMimeType": []
}
}
},
"performanceCriteria": {
"retestOnWarning": false,
"retestOnCritical": false,
"warningCriterion": [],
"criticalCriterion": []
}
}
レスポンス
JSON
{
"_id": "job_id",
"version": 1,
"scheduleRunConfigs": [
{
"rate": {
"value": 1,
"unit": "MINUTES"
},
"daysOfWeek": [
"WED",
"FRI",
"SUN",
"SAT",
"TUES",
"MON",
"THUR"
],
"timezone": "UTC"
}
],
"userEnabled": true,
"systemEnabled": true,
"type": "ALL_BROWSERS",
"rate": {
"value": 15,
"unit": "MINUTES"
},
"daysOfWeek": [
"WED",
"FRI",
"SUN",
"SAT",
"TUES",
"MON",
"THUR"
],
"timezone": "UTC",
"description": "https://appdynamics.com",
"appKey": "appKey",
"scheduleMode": "NONE",
"url": "https://appdynamics.com",
"browserCodes": [
"Chrome"
],
"chromeVersions": [
"86"
],
"locationCodes": [
"BOM",
"M50"
],
"failOnPageError": true,
"captureVisualMetrics": true,
"simulateMobileBrowser": false,
"networkProfile": {
"name": "Native",
"downloadKbps": 5000,
"uploadKbps": 1000,
"roundtripTimeMillis": 28,
"packetLossPercent": 0,
"isDefault": false
},
"timeoutSeconds": 15,
"state": {
"lastFireTime": "2022-04-06T05:57:16.000Z",
"nextFireTime": "2022-04-06T06:00:16.000Z"
},
"projectedUsage": {
"projectedDailyRuns": 2880,
"projectedMonthlyRuns": 86400
},
"performanceCriteria": {
"retestOnWarning": false,
"retestOnCritical": false,
"criterion": []
},
"composableConfig": {
"numBeforeConfirmedError": 0,
"resourceErrorDetection": {
"ignoreWhen": {
"resourceUrlContains": [],
"resourceMimeType": []
},
"onlyWhen": {
"resourceUrlContains": [],
"resourceMimeType": []
}
}
},
"created": "2022-04-05T05:30:36.426Z",
"updated": "2022-04-05T05:30:36.426Z"
}

リクエスト パラメータ

パラメータ名 Parameter Type 説明 必須リクエスト
scheduleRunConfigs - いいえ
rate - いいえ
value

分:1 ~ 60

時間:1 ~ 24

日:「ヌル」

いいえ
unit 文字列 分、時間、または日 いいえ
daysOfWeek 文字列 "SUN"、"MON"、"TUES"、"WED"、"THUR"、"FRI"、"SAT" いいえ
timeRange 文字列 hh:mm AM/PM から hh:mm AM/PM まで いいえ
timezone 文字列 "UTC" GMT +/-hh:mm いいえ
startTimeMillis 文字列 いいえ
endTimeMillis 文字列 いいえ
説明 文字列 ジョブ名 ジョブの名前 あり
url 文字列 "null" または監視する URL

監視する URL。

このパラメータを使用する場合、スクリプトの値

いいえ
スクリプト 文字列

"null" または監視する python ベースの selenium スクリプト

スクリプト化されたジョブがある場合は、ユーザーフローまたは動作のシミュレーションに使用される python ベースの selenium スクリプトを指定します。

このパラメータを使用する場合、url の値

いいえ
apiMetadata 文字列 API モニタリングジョブのスクリプトオブジェクト あり
contentType 文字列 あり
スクリプト 文字列 あり
browserCodes 文字列

次の Synthetic 内部ブラウザコードを使用します。

  • Chrome:Chrome
  • Internet Explorer:IE11
  • Firefox:Firefox
  • モバイル:Chrome.DeviceEmulation
いいえ
chromeVersions 文字列 Chrome ブラウザバージョン 86 いいえ
locationCodes 文字列

各エージェントロケーションの Synthetic 内部ロケーションコード。「ロケーションコード」を参照してください。

あり
timeoutSeconds 数字 いいえ
appKey 文字列 アプリケーションキー

コントローラからアプリケーションキーを取得できます。

  1. [User Experience] > [API Monitoring] に移動します。
  2. コレクション名にカーソルを合わせ、コピーアイコンをクリックしてコレクションキーをコピーします。コレクションキーはアプリケーションキーです。
あり

networkProfile

文字列 "name":"Native"、"downloadKbps":5000、"uploadKbps":1000、"roundtripTimeMillis":28、"packetLossPercent":0、"isDefault":false いいえ
composableConfig - このパラメータを使用して、以下を構成できます。
  • カスタム再試行
  • 可用性ルール
いいえ
numBeforeConfirmedError 数字 0、1、2、3、5、または 10 Number of retries いいえ
resourceErrorDetection - いいえ
ignoreWhen - いいえ
resourceUrlContains 文字列 カンマ区切りリスト リソース URL のリスト いいえ
resourceMimeType 文字列 いいえ
onlyWhen - いいえ
resourceUrlContains 文字列 カンマ区切りリスト リソース URL のリスト いいえ
resourceMimeType 文字列 いいえ
deviceEmulationProfile 文字列 いいえ
requestHeader 文字列 いいえ
performanceCriteria - いいえ
retestOnWarning ブーリアン true または false 警告イベントで再テスト いいえ
retestOnCritical ブーリアン true または false 重大なイベントで再テスト いいえ
warningCriterion 文字列 いいえ
criticalCriterion 文字列 いいえ

ロケーションコード

クラウドのロケーション Codes
Azure
アムステルダム NET
サン アントニオ SAN
メルボルン ASV
トロント CAC
チェンナイ SIC
AWS
ムンバイ BOM
ダブリン DUB
フランクフルト FRA
サンパウロ GRU
香港 HON
アッシュバーン IAD
ソウル ICN
ロンドン LON
ボードマン M50
Milan MIL
モントリオール MON
東京 NRT
パリ PAR
サンフランシスコ SFO
シンガポール SIN
シドニー SYD

応答ステータスコード

コード 説明
200 成功
401 Unauthorized
402 ジョブの制限を超えました
422 検証の失敗
429 スロットル
500 内部サーバーエラーです