NerdGraph API를 사용 하면 합성 모니터, 개인 위치, 보안 자격 증명 및 모니터 가동 중지 시간 의 생성, 업데이트 또는 삭제를 자동화할 수 있습니다.
요구 사항
요구 사항은 다음과 같습니다.
- 일반 NerdGraph 요구 사항
- 관련 사용자 권한: NerdGraph 사용에 적용되는 합성 UI 사용에 적용되는 동일한 합성 모니터링 권한
NerdGraph 탐색기의 필드 이해
NerdGraph 탐색기 에서 필드 정의를 볼 수 있지만 LOCATION
, PERIOD
, TAGS
및 기타 필드를 더 잘 이해하는 데 도움이 될 수 있습니다.
하나 이상의 브라우저 유형을 사용하도록 간단한 브라우저, 스크립트 브라우저 및 단계 모니터를 구성합니다. Chrome 72 런타임을 사용하는 경우 이 속성을 포함하지 마세요. 예시:
[CHROME]
크롬만 사용하세요[FIREFOX]
Firefox만 사용하세요[CHROME, FIREFOX]
크롬과 파이어폭스를 사용하려면
하나 이상의 에뮬레이트된 장치 유형을 사용하도록 간단한 브라우저, 스크립트 브라우저 및 단계 모니터를 구성합니다. Chrome 72 런타임을 사용하는 경우 이 속성을 포함하지 마세요. 예시:
[DESKTOP]
[MOBILE_LANDSCAPE]
[MOBILE_PORTRAIT]
[TABLET_LANDSCAPE]
[TABLET_PORTRAIT]
여러 개의 에뮬레이트된 장치 설정을 단일 모니터에서 사용할 수 있습니다.
[DESKTOP, MOBILE_PORTRAIT, TABLET_LANDSCAPE]
PERIOD
속성은 모니터가 실행되는 시간 간격을 정의합니다. 간격을 정의하려면 다음 형식을 사용하십시오.
EVERY_MINUTE
1분마다.EVERY_N_MINUTES
, 여기서 'N'은 분입니다. 지원되는 값은EVERY_5_MINUTES
,EVERY_10_MINUTES
,EVERY_15_MINUTES
및EVERY_30_MINUTES
입니다.EVERY_HOUR
매시간.EVERY_N_HOURS
, 여기서 'N'은 시간입니다. 지원되는 값은EVERY_6_HOURS
및EVERY_12_HOURS
입니다.EVERY_DAY
하루에 한 번.
태그는 선택 사항입니다. 모니터 생성 중 또는 나중에 NerdGraph 또는 UI에서 태깅 호출을 사용하여 태그를 추가할 수 있습니다. 키와 값이 포함된 배열을 사용하여 단일 돌연변이 호출에 여러 태그를 추가할 수 있습니다.
일부 필드는 고급 구성을 위한 것입니다. 이는 선택 사항입니다.
핑 모니터 의 경우 다음이 포함됩니다.
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초(7000ms)입니다.
쿼리를 사용하여 데이터 검색
쿼리는 데이터 가져오기를 요청합니다. 합성 엔터티에 사용할 수 있는 추가 쿼리 기능을 알아 보려면 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일부로 컨테이너화된 미니언(분당 호출 수) 및 구형 신세틱스 손잡이 버전이 종료됩니다 .
- 표시 위치의 경우 런타임 업그레이드 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 } } }
깨진 링크 모니터는 웹 페이지의 링크에 오류가 있는지 확인합니다. 다음은 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를 포함하는 런타임 개체를 포함합니다. 레거시 런타임으로 다운그레이드하려면 이 객체를 포함하고 이러한 속성을 빈 문자열로 설정하십시오. 레거시 런타임을 계속 사용하려면 이 개체와 이러한 속성을 포함하지 마십시오.
이것을 사용하여 핑 모니터를 업데이트하십시오.
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}}}
아래 예를 사용하여 간단한 브라우저, 스크립트 API 또는 멀티미디어 브라우저 모니터를 업데이트하여 2024년 10월 22일 EOL 이전의 구형 런타임을 사용할 수 있습니다. 다음 예에서는 멀티미디어 브라우저 모니터를 새 런타임에서 구형 런타임으로 다운그레이드합니다.
아래 예를 사용하여 간단한 브라우저 모니터를 업데이트하려면
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 데이터베이스를 참조하세요. 예를 들어 America/Los Angeles는 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 }}