NerdGraph API を使用すると、合成モニター、 プライベート ロケーション、 安全な資格情報、 ダウンタイムの監視の作成、更新、削除を自動化できます。
要件
要件は次のとおりです。
- 一般的なNerdGraphの要件
- 関連するユーザー権限:合成UIの使用に適用されるのと同じ合成監視権限がNerdGraphの使用に適用されます
NerdGraphエクスプローラーのフィールドを理解する
NerdGraphエクスプローラーでフィールド定義を表示できますが、 LOCATION
、 PERIOD
、 TAGS
、およびその他のフィールドをよりよく理解するのに役立つ場合があります。
1 つ以上のbrowserタイプを使用するように、シンプルbrowser 、スクリプトbrowser 、およびステップ モニターを構成します。 Chrome 72 レガシー ランタイムを使用する場合は、この属性を含めないでください。 例:
[CHROME]
Chromeのみを使用する[FIREFOX]
Firefoxのみを使用する[CHROME, FIREFOX]
ChromeとFirefoxを使用する
1 つ以上のエミュレートされたデバイス タイプを使用するように、シンプルbrowser 、スクリプトbrowser 、およびステップ モニターを構成します。 Chrome 72 レガシー ランタイムを使用する場合は、この属性を含めないでください。 例:
[DESKTOP]
[MOBILE_LANDSCAPE]
[MOBILE_PORTRAIT]
[TABLET_LANDSCAPE]
[TABLET_PORTRAIT]
複数のエミュレートされたデバイス設定を 1 つのモニターで使用できます。
[DESKTOP, MOBILE_PORTRAIT, TABLET_LANDSCAPE]
スクリプト内のプライベートロケーションを識別するには、プライベートロケーションのエンティティ GUID を使用します。 検証済みのスクリプトの実行を使用するようにプライベートロケーションが構成されている場合は、 vsePassword
プロパティも含めます。 例えば:
locations: { private: { guid: LOCATION_ENTITY_GUID, vsePassword: YOUR_VSE_PASSWORD }}
パブリックの場所では、AWS_ プレフィックスを付けずに場所識別子を使用します。次に例を示します。
locations: { public: ["US_EAST_2", "US_WEST_1"]}
PERIOD
属性は、モニターが実行される時間間隔を定義します。間隔を定義するには、次の形式を使用します。
EVERY_MINUTE
毎分。EVERY_N_MINUTES
、ここで、「N」は分です。サポートされている値には、EVERY_5_MINUTES
、EVERY_10_MINUTES
、EVERY_15_MINUTES
、およびEVERY_30_MINUTES
が含まれます。EVERY_HOUR
1時間ごとに。EVERY_N_HOURS
、ここで、「N」は時間です。サポートされている値には、EVERY_6_HOURS
とEVERY_12_HOURS
が含まれます。EVERY_DAY
1日1回。
タグはオプションです。モニターの作成中、または後でNerdGraphまたはUIのタグ付け呼び出しを使用してタグを追加できます。キーと値を含む配列を使用して、1回のミューテーション呼び出しで複数のタグを追加できます。
一部のフィールドは、より高度な構成用です。これらはオプションです。
pingモニターの場合、これらには次のものが含まれます。
HEADER_NAME
: リクエストに表示されるカスタム ヘッダー名。HEADER_VALUE
: リクエストのカスタム ヘッダー値。REDIRECT_IS_FAILURE
: リダイレクトされると、モニターは失敗を報告します。VALIDATION_TEXT
: このテキストがモニターの応答に含まれていない場合は、失敗が返されます。TLS_VALIDATION
: SSL証明書チェーンの有効性を検証します。BYPASS_HEAD_REQUEST
: 最初の HEAD リクエストをバイパスし、代わりに GET リクエストを作成します。単純なブラウザモニターの場合:
RUNTIME_TYPE
: モニターで使用されるランタイム タイプ。 受け入れられる値は「CHROME_BROWSER」のみです。RUNTIME_TYPE_VERSION
: モニターで使用されるランタイム タイプのバージョン。 受け入れられる値は「100」のみです。SCRIPT_LANGUAGE
: モニターで使用される言語。 受け入れられる値は「JAVASCRIPT」のみです。スクリプト化されたAPIモニターの場合:
SCRIPT_CONTENT
: スクリプトの実際の内容。 これは based64 でエンコードされるべきではありません。RUNTIME_TYPE
: モニターで使用されるランタイム タイプ。 受け入れられる値は「NODE_API」のみです。RUNTIME_TYPE_VERSION
: モニターで使用されるランタイム タイプのバージョン。 受け入れられる値は16.10
のみです。SCRIPT_LANGUAGE
: モニターで使用される言語。 受け入れられる値は「JAVASCRIPT」のみです。SCRIPT_CONTENT
: スクリプトの実際の内容。 これは based64 でエンコードされるべきではありません。RUNTIME_TYPE
: モニターで使用されるランタイム タイプ。 受け入れられる値は「CHROME_BROWSER」のみです。RUNTIME_TYPE_VERSION
: モニターで使用されるランタイム タイプのバージョン。 受け入れられる値は「100」のみです。SCRIPT_LANGUAGE
: モニターで使用される言語。 受け入れられる値は「JAVASCRIPT」のみです。ステップモニターの場合:
RUNTIME_TYPE
: モニターで使用されるランタイム タイプ。 受け入れられる値は「CHROME_BROWSER」のみです。RUNTIME_TYPE_VERSION
: モニターで使用されるランタイム タイプのバージョン。 受け入れられる値は「100」のみです。SCRIPT_LANGUAGE
: モニターで使用される言語。 受け入れられる値は「JAVASCRIPT」のみです。証明書チェックモニターの場合:
DAYS_UNTIL_EXPIRATION
: 証明書を更新する必要があるときに通知します。 たとえば、証明書の有効期限が切れる 30 日前に通知を受け取りたい場合は、30 と入力します。RUNTIME_TYPE
: モニターで使用されるランタイム タイプ。 受け入れられる値は「NODE_API」のみです。RUNTIME_TYPE_VERSION
: モニターで使用されるランタイム タイプのバージョン。 受け入れられる値は16.10
のみです。SCRIPT_LANGUAGE
: モニターで使用される言語。 受け入れられる値は「JAVASCRIPT」のみです。壊れたリンクモニターの場合:
RUNTIME_TYPE
: モニターで使用されるランタイム タイプ。 受け入れられる値は「NODE_API」のみです。RUNTIME_TYPE_VERSION
: モニターで使用されるランタイム タイプのバージョン。 受け入れられる値は16.10
のみです。SCRIPT_LANGUAGE
: モニターで使用される言語。 受け入れられる値は「JAVASCRIPT」のみです。すべてのモニターの場合:
APDEX_TARGET
: SLA レポートを作成するために使用されるモニターの Apdex ターゲット。 デフォルトは 7 秒 (7000 ミリ秒) です。
クエリを使用してデータを取得する
クエリはデータをフェッチするように要求します。合成エンティティで利用できる追加のクエリ機能については、 NerdGraphエンティティAPIチュートリアルをご覧ください。
外形監視モニターを使用して、データに関する現在のステータス情報やモニター設定の詳細を取得できます。 多くのモニター設定がタグとして表示されます。
{ actor { entitySearch(query: "domain = 'SYNTH' AND type = 'MONITOR'") { results { entities { ... on SyntheticMonitorEntityOutline { guid name accountId monitorType tags { key values } } } } } }}
あなたはあなたのプライベートな場所を照会することができます:
{ actor { entitySearch(query: "domain = 'SYNTH' AND type = 'PRIVATE_LOCATION'") { results { entities { accountId guid name tags { key values } } } } }}
クエリ 既存のモニターのダウンタイム。 設定の詳細はタグに保存されます。
{ actor { entitySearch(query: "domain = 'SYNTH' AND type = 'MONITOR_DOWNTIME'") { results { entities { accountId guid name tags { key values } } } } }}
安全なクレデンシャルをクエリすると、メタデータのみを取得できますが、クレデンシャル値自体は取得できません。
{ actor { entitySearch(query: "domain = 'SYNTH' AND type = 'SECURE_CRED'") { results { entities { ... on SecureCredentialEntityOutline { accountId guid name tags { key values } updatedAt } } } } }}
スクリプト化されたAPIまたはスクリプト化されたブラウザーモニターで使用されるスクリプトを取得します。他の種類のモニターはエラーを返します。
{ actor { account(id: YOUR_ACCOUNT_ID) { synthetics { script(monitorGuid: "ENTITY_GUID") { text } } } }}
ステップモニター用に構成されたステップを取得します。他の種類のモニターはエラーを返します。
{ actor { account(id: YOUR_ACCOUNT_ID) { synthetics { steps(monitorGuid: "ENTITY_GUID") { ordinal type values } } } }}
モニター ID を使用して合成モニターのエンティティ GUID を取得します。
{ actor { entitySearch( query: "(domainId = 'MONITOR_ID')" ) { results { entities { ... on SyntheticMonitorEntityOutline { guid name monitorId } } } } }}
レガシー ランタイム モニターのすべてのランタイム アップグレード テストのステータスを取得します。 これらのテストは、ランタイム アップグレード UIにデータを入力します。 テスト結果はvalidationStatus
タグに保存されます。 アップグレード テストが失敗した場合は、エラー メッセージがvalidationError
タグに表示されます。
{ actor { entitySearch(query: "domain = 'SYNTH' AND type = 'RUNTIME_VALIDATION'") { results { entities { accountId guid name tags { key values } } } } }}
単一のレガシー ランタイム モニターのランタイム アップグレード テストのステータスを取得します。 これらのテスト結果は、ランタイム アップグレード UIに表示されます。 テスト結果はvalidationStatus
タグに保存されます。 アップグレード テストが失敗した場合は、エラー メッセージがvalidationError
タグに表示されます。
{ actor { entitySearch(query: "domain = 'SYNTH' AND type = 'RUNTIME_VALIDATION' and domainId = 'MONITOR_ID'") { results { entities { accountId guid name tags { key values } } } } }}
合成モニターを作成する
以下は、合成モニターの作成を自動化するためのサンプルリクエストです。
ヒント
新しいランタイムを使用するには、 runtimeType
、 runtimeTypeVersion
、およびscriptLanguage
を含むランタイムオブジェクトを含めます。レガシーランタイムを引き続き使用するには、ランタイムオブジェクトとこれらの属性を含めないでください。
重要
2024年8月26日以降、パブリックロケーションまたはプライベートロケーションでレガシーランタイムを使用して新しいモニターを作成することはできなくなります。 2024年10月22日をもって、コンテナ化されたプライベートミニオン(1分間あたりの呼出し回数)とレガシーsyntheticランタイムバージョンのサポートを終了します。
- パブリックロケーションの場合は、ランタイム アップグレードUI使用してモニターを最新のランタイムに更新します。
- プライベートロケーションの場合、モニターの低下を回避するために推奨する移行手順を確認してください。
Pingモニターは、アプリケーションが実行されていることを確認します。 NerdGraphで作成する例を次に示します。
mutation { syntheticsCreateSimpleMonitor ( accountId: YOUR_ACCOUNT_ID monitor: { locations: { public: ["LOCATION_1", "LOCATION_2"] }, name: "YOUR_MONITOR_NAME", period: PERIOD, status: STATUS, uri: "MONITORED_URI", advancedOptions: { customHeaders: { name: "HEADER_NAME", value: "HEADER_VALUE" }, redirectIsFailure: REDIRECT_IS_FAILURE, responseValidationText: "VALIDATION_TEXT", shouldBypassHeadRequest: BYPASS_HEAD_REQUEST, useTlsValidation: TLS_VALIDATION }, apdexTarget: APDEX_TARGET } ) { errors { description type } } }
シンプルなブラウザモニターは、Chromeインスタンスを使用して顧客の訪問を模倣します。 NerdGraphで作成する例を次に示します。
mutation { syntheticsCreateSimpleBrowserMonitor ( accountId: YOUR_ACCOUNT_ID, monitor: { browsers: [BROWSERS], devices: [DEVICES], locations: { public: ["LOCATION_1", "LOCATION_2"] }, name: "YOUR_MONITOR_NAME", period: PERIOD, runtime: { runtimeType: "RUNTIME_TYPE", runtimeTypeVersion: "RUNTIME_TYPE_VERSION", scriptLanguage: "SCRIPT_LANGUAGE" } status: STATUS, uri: "MONITORED_URI", advancedOptions: { customHeaders: { name: "HEADER_NAME", value: "HEADER_VALUE" }, enableScreenshotOnFailureAndScript: ENABLE_SCREENSHOT, responseValidationText: "VALIDATION_TEXT", useTlsValidation: TLS_VALIDATION }, apdexTarget: APDEX_TARGET ) { errors { description type } } }
スクリプト化されたブラウザモニターは、ページやアプリケーションとのより複雑な相互作用です。 NerdGraphで作成する例を次に示します。
mutation { syntheticsCreateScriptBrowserMonitor ( accountId: YOUR_ACCOUNT_ID, monitor: { browsers: [BROWSERS], devices: [DEVICES], locations: { public: ["LOCATION_1", "LOCATION_2"] }, name: "MONITOR_NAME", period: PERIOD, runtime: { runtimeType: "RUNTIME_TYPE", runtimeTypeVersion: "RUNTIME_TYPE_VERSION", scriptLanguage: "SCRIPT_LANGUAGE" } script: "SCRIPT_CONTENT", status: STATUS, advancedOptions: { enableScreenshotOnFailureAndScript: ENABLE_SCREENSHOT }, apdexTarget: APDEX_TARGET } ) { errors { description type } } }
スクリプト化されたAPIモニターは、APIエンドポイントをチェックします。 NerdGraphで作成する例を次に示します。
mutation { syntheticsCreateScriptApiMonitor ( accountId: YOUR_ACCOUNT_ID, monitor: { locations: { public: ["LOCATION_1", "LOCATION_2"] }, name: "YOUR_MONITOR_NAME", period: PERIOD, runtime: { runtimeType: "RUNTIME_TYPE", runtimeTypeVersion: "RUNTIME_TYPE_VERSION", scriptLanguage: "SCRIPT_LANGUAGE" } script: "SCRIPT_CONTENT", status: STATUS, apdexTarget: APDEX_TARGET } ) { errors { description type } } }
ステップモニターは、コードレスのマルチステップブラウザーベースのモニターを提供します。 NerdGraphで作成する例を次に示します。
mutation {syntheticsCreateStepMonitor ( accountId: NR_ACCOUNT_ID, monitor: { browsers: [BROWSERS], devices: [DEVICES], locations: { public: ["LOCATION_1", "LOCATION_2"] }, name: "MONITOR_NAME", period: PERIOD, runtime: { runtimeType: "RUNTIME_TYPE", runtimeTypeVersion: "RUNTIME_TYPE_VERSION", scriptLanguage: "SCRIPT_LANGUAGE" } status: STATUS, steps: [{ ordinal: 0, type: NAVIGATE, values: ["MONITORED_URI"],["USER_AGENT"] },{ ordinal: STEP_NUMBER, type: STEP_TYPE, values: ["CONDITIONAL_TYPE","VALUE"] }] advancedOptions: { enableScreenshotOnFailureAndScript: ENABLE_SCREENSHOT }, apdexTarget: APDEX_TARGET }) { errors { description type }}}
SSL証明書の有効期限が近づいたときに通知するようにモニターを設定します。 NerdGraphで作成する例を次に示します。
mutation { syntheticsCreateCertCheckMonitor ( accountId: YOUR_ACCOUNT_ID, monitor: { domain: "DOMAIN", locations: { public: ["LOCATION_1", "LOCATION_2"] }, name: "YOUR_MONITOR_NAME", numberDaysToFailBeforeCertExpires: DAYS_UNTIL_EXPIRATION, period: PERIOD, status: STATUS, apdexTarget: APDEX_TARGET } ) { errors { description type } } }
壊れたリンクモニターは、Webページ上のリンクに障害がないかチェックします。 NerdGraphで作成する例を次に示します。
mutation { syntheticsCreateBrokenLinksMonitor ( accountId: YOUR_ACCOUNT_ID, monitor: { locations: { public: ["LOCATION_1", "LOCATION_2"] }, name: "YOUR_MONITOR_NAME", period: PERIOD, status: STATUS, apdexTarget: APDEX_TARGET, uri: "MONITOR_URI", tags: { key: "YOUR_TAG_NAME", values: "TAG_VALUE" } } ) { errors { description type } }}
合成モニターを更新する
作成後にモニターの種類を変更することはできませんが、設定を更新することはできます。リクエストの一部として必要なのは、GUIDと更新が必要な設定のみです。
ヒント
新しいランタイムを使用するように モニターをアップグレードする には、runtimeType、runtimeTypeVersion、および scriptLanguage を含むランタイム オブジェクトを含めます。 このオブジェクトを含め、これらの属性を空の文字列に設定して、レガシー ランタイムにダウングレードします。従来のランタイムを引き続き使用するには、このオブジェクトとこれらの属性を含めないでください。
これを使用して、pingモニターを更新します。
mutation { syntheticsUpdateSimpleMonitor ( guid: "ENTITY_GUID", monitor: { locations: { public: ["LOCATION_1", "LOCATION_2"] }, name: "YOUR_MONITOR_NAME", period: PERIOD, status: STATUS, uri: "MONITORED_URI", advancedOptions: { customHeaders: { name: "HEADER_NAME", value: "HEADER_VALUE" }, redirectIsFailure: REDIRECT_IS_FAILURE, responseValidationText: "VALIDATION_TEXT", shouldBypassHeadRequest: BYPASS_HEAD_REQUEST, useTlsValidation: TLS_VALIDATION }, apdexTarget: APDEX_TARGET } ) { errors { description type } }}
単純なブラウザーモニター(ランタイムバージョンをアップグレードする機能を含む)を更新するには、次を使用します。
mutation { syntheticsUpdateSimpleBrowserMonitor ( guid: ENTITY_GUID, monitor: { browsers: [BROWSERS], devices: [DEVICES], locations: { public: ["LOCATION_1", "LOCATION_2"] }, name: "YOUR_MONITOR_NAME", period: PERIOD, runtime: { runtimeType: "RUNTIME_TYPE", runtimeTypeVersion: "RUNTIME_TYPE_VERSION", scriptLanguage: "SCRIPT_LANGUAGE" } status: STATUS, uri: "MONITORED_URI", advancedOptions: { customHeaders: { name: "HEADER_NAME", value: "HEADER_VALUE" }, enableScreenshotOnFailureAndScript: ENABLE_SCREENSHOT, responseValidationText: "VALIDATION_TEXT", useTlsValidation: TLS_VALIDATION }, apdexTarget: APDEX_TARGET ) { errors { description type } } }
スクリプト化されたブラウザーモニター(ランタイムバージョンをアップグレードする機能を含む)を更新するには、次を使用します。
mutation { syntheticsUpdateScriptBrowserMonitor ( guid: ENTITY_GUID, monitor: { browsers: [BROWSERS], devices: [DEVICES], locations: { public: ["LOCATION_1", "LOCATION_2"] }, name: "MONITOR_NAME", period: PERIOD, runtime: { runtimeType: "RUNTIME_TYPE", runtimeTypeVersion: "RUNTIME_TYPE_VERSION", scriptLanguage: "SCRIPT_LANGUAGE" } script: "SCRIPT_CONTENT", status: STATUS, advancedOptions: { enableScreenshotOnFailureAndScript: ENABLE_SCREENSHOT }, apdexTarget: APDEX_TARGET } ) { errors { description type } } }
スクリプト化されたAPIモニター(ランタイムバージョンをアップグレードする機能を含む)を更新するには、次を使用します。
mutation { syntheticsUpdateScriptApiMonitor ( guid: ENTITY_GUID, monitor: { locations: { public: ["LOCATION_1", "LOCATION_2"] }, name: "YOUR_MONITOR_NAME", period: PERIOD, runtime: { runtimeType: "RUNTIME_TYPE", runtimeTypeVersion: "RUNTIME_TYPE_VERSION", scriptLanguage: "SCRIPT_LANGUAGE" } script: "SCRIPT_CONTENT", status: STATUS, apdexTarget: APDEX_TARGET } ) { errors { description type } } }
これを使用して、ステップモニターを更新します。
mutation { syntheticsUpdateStepMonitor ( guid: ENTITY_GUID, monitor: { browsers: [BROWSERS], devices: [DEVICES], locations: { public: ["LOCATION_1", "LOCATION_2"] }, name: "MONITOR_NAME", period: PERIOD, runtime: { runtimeType: "RUNTIME_TYPE", runtimeTypeVersion: "RUNTIME_TYPE_VERSION", scriptLanguage: "SCRIPT_LANGUAGE" } status: STATUS, steps: [{ ordinal: 0, type: NAVIGATE, values: ["MONITORED_URI"],["USER_AGENT"] },{ ordinal: STEP_NUMBER, type: STEP_TYPE, values: ["VALUE_1","VALUE_2"] }] advancedOptions: { enableScreenshotOnFailureAndScript: ENABLE_SCREENSHOT }, apdexTarget: APDEX_TARGET } ) { errors { description type } }}
これを使用して、証明書チェックモニターを更新します。
mutation { syntheticsUpdateCertCheckMonitor ( guid: ENTITY_GUID, monitor: { domain: "DOMAIN", locations: { public: ["LOCATION_1", "LOCATION_2"] }, name: "YOUR_MONITOR_NAME", numberDaysToFailBeforeCertExpires: DAYS_UNTIL_EXPIRATION, period: PERIOD, status: STATUS, apdexTarget: APDEX_TARGET } ) { errors { description type } } }
これを使用して、壊れたリンクモニターを更新します。
mutation { syntheticsUpdateBrokenLinksMonitor ( guid: ENTITY_GUID, monitor: { locations: { public: ["LOCATION_1", "LOCATION_2"] }, name: "YOUR_MONITOR_NAME", period: PERIOD, status: STATUS, apdexTarget: APDEX_TARGET, uri: "MONITOR_URI", tags: { key: "YOUR_TAG_NAME", values: "TAG_VALUE" } } ) { errors { description type } }}
以下の例を使用して、単純なブラウザ、スクリプト化された API、またはスクリプト化されたブラウザ モニターを新しい Chrome 100+ または Node.js 16.10 ランタイムに更新できます。次の例では、スクリプト化されたブラウザー モニターを従来のランタイムから新しいランタイムにアップグレードします。
以下の例を使用して単純なブラウザモニターを更新するには、ミューテーションを
syntheticsUpdateScriptBrowserMonitor
ではなくsyntheticsUpdateSimpleBrowserMonitor
に変更します。以下の例を使用してスクリプト化されたAPIモニターを更新するには、ミューテーションを
syntheticsUpdateScriptBrowserMonitor
ではなくsyntheticsUpdateScriptApiMonitor
に変更します。実行時設定の詳細については、 optional-fieldsを確認してください。
mutation {syntheticsUpdateScriptBrowserMonitor (guid: "<ENTITY_GUID>",monitor: {runtime: {runtimeType: "RUNTIME_TYPE",runtimeTypeVersion: "RUNTIME_TYPE_VERSION",scriptLanguage: "SCRIPT_LANGUAGE"}}) {errors {descriptiontype}}}
以下の例を使用して、2024 年 10 月 22 日の EOL より前にレガシー ランタイムを使用するように単純なbrowser 、スクリプト化されたAPI 、またはスクリプト化ブラウザモニターを更新できます。 次の例では、ブラウザ化ブラウザモニターを新しいランタイムからレガシー ランタイムにダウングレードします。
以下の例を使用して単純なブラウザモニターを更新するには、ミューテーションを
syntheticsUpdateScriptBrowserMonitor
ではなくsyntheticsUpdateSimpleBrowserMonitor
に変更します。以下の例を使用してスクリプト化されたAPIモニターを更新するには、ミューテーションを
syntheticsUpdateScriptBrowserMonitor
ではなくsyntheticsUpdateScriptApiMonitor
に変更します。実行時設定の詳細については、 optional-fieldsを確認してください。
mutation {syntheticsUpdateScriptBrowserMonitor (guid: "<ENTITY_GUID>",monitor: {runtime: {runtimeType: "",runtimeTypeVersion: "",scriptLanguage: ""}}) {errors {descriptiontype}}}
合成モニターを削除する
次のスクリプトを使用して、モニターを削除します。
モニターエンティティGUIDを使用してモニターを削除します。
mutation { syntheticsDeleteMonitor ( guid: "ENTITY_GUID" ) { deletedGuid }}
プライベートな場所を管理する
プライベートロケーションを使用すると、ファイアウォールの背後にあるアプリケーションを監視できます。プライベートロケーションを作成するときは、プライベートミニオンをインストールして構成し、そのプライベートロケーションに割り当てられたモニターを実行します。
mutation{ syntheticsCreatePrivateLocation ( accountId: NR_ACCOUNT_ID, name: "PrivateLocationName", description: "Optional description", verifiedScriptExecution: false ) { guid errors { description type } }}
mutation { syntheticsUpdatePrivateLocation ( guid: YOUR_ENTITY_GUID, description: "EnterYourDescription", verifiedScriptExecution: true ) { description verifiedScriptExecution errors { description type } }}
mutation { syntheticsDeletePrivateLocation ( guid: YOUR_ENTITY_GUID ) { errors { description type } }}
扱いにくいバックログをクリアする必要がある場合は、次を使用してください。
mutation { syntheticsPurgePrivateLocationQueue ( guid: YOUR_ENTITY_GUID ) { errors { description type } }}
安全な資格情報を管理する
パスワード、APIキー、エンコードされた証明書など、モニターで使用される保護された情報を保存、保護、および集中管理する場合は、 安全なクレデンシャルを使用します。 NerdGraphを使用すると、何らかの理由でクレデンシャルをリセットする必要がある場合に、安全なクレデンシャルの値をプログラムで変更できます。
mutation { syntheticsCreateSecureCredential ( accountId: YOUR_ENTITY_GUID, description: "YourOptionalDescription", key: SECURE_CREDENTIAL_NAME, value: SECURE_CREDENTIAL_VALUE ) { errors { description } }}
mutation { syntheticsUpdateSecureCredential ( accountId: YOUR_ACCOUNT_ID, description: "YourOptionalDescription", key: SECURE_CREDENTIAL_NAME, value: SECURE_CREDENTIAL_VALUE) { createdAt lastUpdate errors { description } }}
mutation { syntheticsDeleteSecureCredential ( accountId: YOUR_ACCOUNT_ID, key: SECURE_CREDENTIAL_NAME ) { errors { description } }}
モニターのダウンタイムを管理する
モニター ダウンタイムでは、外形監視の実行を停止する時間を指定できます。 外形監視のモニター ダウンタイムをスケジュールする方法を示すさまざまなスニペットを用意しました。 タイムゾーン、開始時刻、終了時刻を指定するには、これらのスニペットを更新する必要があります。 モニターのダウンタイムをスケジュールするタイミングの詳細については、「スケジュールされたメンテナンス時間中に監視を無効にする」のドキュメントをご覧ください。 タイムゾーンの値を見つけるには、タイムゾーンの tz データベースを参照してください。 たとえば、アメリカ/ロサンゼルスでは PDT という略語が使用されます。
mutation { syntheticsCreateOnceMonitorDowntime ( accountId: NR_ACCOUNT_ID, name: "MonitorDowntimeName", monitorGuids: ["OptionalMonitorEntityGuid", "OptionalMonitorEntityGuid"], timezone: "Timezone", startTime: "yyyy-MM-ddTHH:mm:ss", endTime: "yyyy-MM-ddTHH:mm:ss" ) { guid, accountId, name, monitorGuids, timezone, startTime, endTime }}
mutation { syntheticsCreateDailyMonitorDowntime ( accountId: NR_ACCOUNT_ID, name: "MonitorDowntimeName", monitorGuids: ["OptionalMonitorEntityGuid", "AnotherOptionalMonitorEntityGuid"], timezone: "Timezone", startTime: "yyyy-MM-ddTHH:mm:ss", endTime: "yyyy-MM-ddTHH:mm:ss", endRepeat: { onDate: "yyyy-MM-ddTHH:mm:ss", onRepeat: Int } ) { guid, accountId, name, monitorGuids, timezone, startTime, endTime, endRepeat { onDate, onRepeat } }}
mutation { syntheticsCreateWeeklyMonitorDowntime ( accountId: NR_ACCOUNT_ID, name: "MonitorDowntimeName", monitorGuids: ["OptionalMonitorEntityGuid", "AnotherOptionalMonitorEntityGuid"], timezone: "Timezone", startTime: "yyyy-MM-ddTHH:mm:ss", endTime: "yyyy-MM-ddTHH:mm:ss", endRepeat: { onDate: "yyyy-MM-ddTHH:mm:ss", onRepeat: Int }, maintenanceDays: [WeekDaysEnums] ) { guid, accountId, name, monitorGuids, timezone, startTime, endTime, endRepeat { onDate, onRepeat }, maintenanceDays }}
mutation { syntheticsCreateMonthlyMonitorDowntime ( accountId: NR_ACCOUNT_ID, name: "MonitorDowntimeName", monitorGuids: ["OptionalMonitorEntityGuid", "AnotherOptionalMonitorEntityGuid"], timezone: "Timezone", startTime: "yyyy-MM-ddTHH:mm:ss", endTime: "yyyy-MM-ddTHH:mm:ss", endRepeat: { onDate: "yyyy-MM-ddTHH:mm:ss", onRepeat: Int }, frequency: { daysOfWeek: { weekDay: WeekDaysEnum, ordinalDayOfMonth: DayOfMonthOrdinal }, daysOfMonth: [Int] } ) { guid, accountId, name, monitorGuids, timezone, startTime, endTime, endRepeat { onDate, onRepeat }, frequency { daysOfWeek { weekDay, ordinalDayOfMonth }, daysOfMonth } }}
mutation { syntheticsEditMonitorDowntime ( guid: "MonitorDowntimeEntityGuid", name: "MONITOR_DOWNTIME_NAME", monitorGuids: ["OptionalMonitorEntityGuid", "AnotherOptionalMonitorEntityGuid"], once: { timezone: "Timezone", startTime: "yyyy-MM-ddTHH:mm:ss", endTime: "yyyy-MM-ddTHH:mm:ss" }, daily: { timezone: "Timezone", startTime: "yyyy-MM-ddTHH:mm:ss", endTime: "yyyy-MM-ddTHH:mm:ss", endRepeat: { onDate: "yyyy-MM-ddTHH:mm:ss", onRepeat: Int } }, weekly: { timezone: "Timezone", startTime: "yyyy-MM-ddTHH:mm:ss", endTime: "yyyy-MM-ddTHH:mm:ss", endRepeat: { onDate: "yyyy-MM-ddTHH:mm:ss", onRepeat: Int }, maintenanceDays: [WeekDaysEnums] }, monthly: { timezone: "Timezone", startTime: "yyyy-MM-ddTHH:mm:ss", endTime: "yyyy-MM-ddTHH:mm:ss", endRepeat: { onDate: "yyyy-MM-ddTHH:mm:ss", onRepeat: Int }, frequency: { daysOfWeek: { weekDay: WeekDaysEnum, ordinalDayOfMonth: DayOfMonthOrdinal }, daysOfMonth: [Int] } ) { guid, accountId, name, monitorGuids, timezone, startTime, endTime, endRepeat { onDate, onRepeat }, maintenanceDays, frequency { daysOfWeek { weekDay, ordinalDayOfMonth }, daysOfMonth } }}
mutation { syntheticsDeleteMonitorDowntime ( guid: DOWNTIME_ENTITY_GUID ) { guid }}