뉴렐릭을 사용하면 NerdGraph를 사용하여 스크립트 API 모니터를 만들 수 있습니다. 스크립트 API 모니터는 브라우저 없이 API 및 서비스를 테스트하기 위해 사용자 지정 JavaScript 코드를 실행하고, HTTP requests 보내고 응답을 프로그래밍 방식으로 검증합니다. 이 튜토리얼에서는 NerdGraph API를 사용하여 스크립트 기반 API 모니터 생성을 자동화하는 방법에 대한 예제를 제공합니다.
스크립팅된 API 모니터 만들기
syntheticsCreateScriptApiMonitor 뮤테이션을 사용하면 스크립트 기반 API 모니터를 생성할 수 있습니다. 이 변형을 사용하면 JavaScript 코드를 실행하여 API 엔드포인트를 검증하는 사용자 지정 API 테스트를 설정할 수 있습니다.
입력스피커, 변수
매개변수 | 데이터 형식 | 꼭 필요한가요? | 설명 |
|---|---|---|---|
| 정수 | 네 | 모니터가 생성될 뉴렐릭 . |
| 정렬 | 네 | 모니터가 검사를 실행하는 제외(예:
). |
| 문자열 | 네 | 스크립트로 작성된 API 모니터의 표시 이름입니다. |
| 열거형 | 네 | 모니터링이 실행되는 빈도. 옵션:
,
,
,
,
,
,
,
,
. |
| 문자열 | 네 | 모니터에서 사용하는 런타임 유형입니다.
만 허용되는 값입니다. |
| 문자열 | 네 | 모니터에서 사용하는 런타임 유형 버전입니다.
만 허용되는 값입니다. |
| 문자열 | 네 | 모니터에서 사용되는 언어입니다.
만 허용되는 값입니다. |
| 문자열 | 네 | 모니터가 실행하는 자바스크립트 코드입니다. 이것은 base64로 인코딩된 텍스트가 아니라 일반 텍스트여야 합니다. 이 스크립트는 |
| 열거형 | 네 | 모니터 상태. 옵션:
(모니터가 활성화되어 점검을 수행 중),
(모니터가 비활성화됨). |
| 뜨다 | 아니요 | SLA 보고서를 채우는 데 사용되는 모니터의 Apdex 목표(초 단위)입니다. 기본값은 7.0초입니다. |
샘플 요청
mutation { syntheticsCreateScriptApiMonitor( accountId: 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 } }}샘플 응답
성공적인 응답은 오류 발생 시 null 반환합니다.
{ "data": { "syntheticsCreateScriptApiMonitor": { "errors": null } }}모니터를 생성하는 데 문제가 있는 경우 errors 에는 오류가 발생한 이유를 설명하는 description 및 type 필드가 있는 객체가 포함됩니다.
스크립트 기반 API 모니터를 업데이트합니다.
기존 스크립트 기반 API 모니터는 syntheticsUpdateScriptApiMonitor 뮤테이션을 사용하여 업데이트할 수 있습니다. 이 기능을 사용하면 이미 생성된 스크립트 기반 API 모니터의 설정을 수정할 수 있습니다.
입력스피커, 변수
매개변수 | 데이터 형식 | 꼭 필요한가요? | 설명 |
|---|---|---|---|
| 문자열 | 네 | 업데이트하려는 모니터의 고유 엔티티 . |
| 정렬 | 아니요 | 모니터가 검사를 실행하는 제외(예:
). |
| 문자열 | 아니요 | 스크립트 기반 API 모니터의 업데이트된 표시 이름입니다. |
| 열거형 | 아니요 | 모니터링이 실행되는 빈도. 옵션:
,
,
,
,
,
,
,
,
. |
| 문자열 | 아니요 | 모니터에서 사용하는 런타임 유형입니다.
만 허용되는 값입니다. |
| 문자열 | 아니요 | 모니터에서 사용하는 런타임 유형 버전입니다.
만 허용되는 값입니다. |
| 문자열 | 아니요 | 모니터에서 사용되는 언어입니다.
만 허용되는 값입니다. |
| 문자열 | 아니요 | 모니터가 실행하는 자바스크립트 코드입니다. 이것은 base64로 인코딩된 텍스트가 아니라 일반 텍스트여야 합니다. |
| 열거형 | 아니요 | 모니터 상태. 옵션:
(모니터가 활성화되어 점검을 수행 중),
(모니터가 비활성화됨). |
| 뜨다 | 아니요 | SLA 보고서를 채우는 데 사용되는 모니터의 Apdex 목표(초 단위)입니다. 기본값은 7.0초입니다. |
샘플 요청
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 } }}샘플 응답
성공적인 응답은 오류 발생 시 null 반환합니다.
{ "data": { "syntheticsUpdateScriptApiMonitor": { "errors": null } }}모니터를 업데이트하는 데 문제가 있는 경우 errors 에는 오류가 발생한 이유를 설명하는 description 및 type 필드가 있는 객체가 포함됩니다.
스크립트 기반 API 모니터의 런타임을 업그레이드하세요
스크립트 기반 API 모니터를 최신 Node.js 16.10 런타임을 사용하도록 업그레이드할 수 있습니다. 이렇게 하면 모니터가 최신 Node.js 기능과 보안 업데이트를 사용할 수 있습니다.
입력스피커, 변수
매개변수 | 데이터 형식 | 꼭 필요한가요? | 설명 |
|---|---|---|---|
| 문자열 | 네 | 업그레이드하려는 모니터의 고유 엔티티 . |
| 문자열 | 네 | 런타임 유형입니다.
만 허용되는 값입니다. |
| 문자열 | 네 | 런타임 버전입니다.
만 허용되는 값입니다. |
| 문자열 | 네 | 언어를 펼쳐보세요.
만 허용되는 값입니다. |
샘플 요청
mutation { syntheticsUpdateScriptApiMonitor( guid: "ENTITY_GUID" monitor: { runtime: { runtimeType: "NODE_API" runtimeTypeVersion: "16.10" scriptLanguage: "JAVASCRIPT" } } ) { errors { description type } }}샘플 응답
성공적인 응답은 오류 발생 시 null 반환합니다.
{ "data": { "syntheticsUpdateScriptApiMonitor": { "errors": null } }}모니터 런타임을 업그레이드하는 데 문제가 있는 경우 errors 에는 오류가 발생한 이유를 설명하는 description 및 type 필드가 있는 객체가 포함됩니다.
스크립트 기반 API 모니터의 런타임을 다운그레이드합니다.
구형 API 모니터를 다운그레이드하여 구형 런타임을 사용할 수 있습니다. 호환성 문제 때문에 필요할 수 있지만, 해당 런타임은 2024년 10월 22일에 지원이 종료될 예정이라는 점에 유의하십시오.
중요
런타임은 더 이상 사용되지 않으며 2024년 10월 22일에 지원이 종료될 예정입니다. 일시적인 호환성 문제가 있는 경우를 제외하고는, 이전 런타임으로 다운그레이드하는 것은 권장되지 않습니다.
입력스피커, 변수
매개변수 | 데이터 형식 | 꼭 필요한가요? | 설명 |
|---|---|---|---|
| 문자열 | 네 | 다운그레이드하려는 모니터의 고유 엔티티 . |
| 문자열 | 네 | 런타임을 사용하려면 빈 문자열
으로 설정하세요. |
| 문자열 | 네 | 런타임을 사용하려면 빈 문자열
으로 설정하세요. |
| 문자열 | 네 | 런타임을 사용하려면 빈 문자열
으로 설정하세요. |
샘플 요청
mutation { syntheticsUpdateScriptApiMonitor( guid: "ENTITY_GUID" monitor: { runtime: { runtimeType: "", runtimeTypeVersion: "", scriptLanguage: "" } } ) { errors { description type } }}샘플 응답
성공적인 응답은 오류 발생 시 null 반환합니다.
{ "data": { "syntheticsUpdateScriptApiMonitor": { "errors": null } }}모니터 런타임을 다운그레이드하는 데 문제가 있는 경우 errors 에는 오류가 발생한 이유를 설명하는 description 및 type 필드가 있는 객체가 포함됩니다.
VSE 활성화된 상대 위치 간에 스크립트된 API 모니터 이동
VSE 지원 반대 위치 간에 스크립트된 API 모니터를 이동할 수 있습니다. 검증된 실행(VSE)이 활성화된 항체 위치 간에 모니터를 이동할 때 보안 검증을 위해 HMAC를 재생성하려면 펼쳐를 포함해야 합니다.
입력스피커, 변수
매개변수 | 데이터 형식 | 꼭 필요한가요? | 설명 |
|---|---|---|---|
| 문자열 | 네 | 이동하려는 모니터의 고유 엔티티 . |
| 정렬 | 네 | 로케이션 설정의 제외. 각 위치에는 VSE가 활성화된 위치에 대해
과
필요합니다. |
| 문자열 | 네 | 군단의 GUID, 목표 군대 로케이션입니다. |
| 문자열 | 네 | 개구리, 목표 몬스터 로케이션의 VSE 비밀번호입니다. |
| 문자열 | 네 | 모니터가 실행하는 자바스크립트 코드입니다. 이는 VSE가 활성화된 위치 간 이동 시 HMAC를 재생성하기 위해 반드시 포함되어야 합니다. |
샘플 요청
mutation { syntheticsUpdateScriptApiMonitor( guid: "ENTITY_GUID" monitor: { locations: { private: [{ guid: "LOCATION_GUID", vsePassword: "YOUR_VSE_PASSWORD" }] } script: "SCRIPT_CONTENT" } ) { errors { description type } monitor { status } }}샘플 응답
성공적인 응답은 오류 발생 시 null 반환하며 모니터링 상태를 포함합니다.
{ "data": { "syntheticsUpdateScriptApiMonitor": { "errors": null, "monitor": { "status": "ENABLED" } } }}모니터를 이동하는 데 문제가 발생하면 errors 에는 무엇이 잘못되었는지 설명하는 description 및 type 필드가 있는 객체가 포함됩니다.
스크립트 기반 API 모니터를 삭제합니다.
스크립트 기반 API 모니터가 더 이상 필요하지 않은 경우 syntheticsDeleteMonitor 뮤테이션을 사용하여 영구적으로 제거할 수 있습니다.
모니터를 삭제하려면 '합성 모니터 삭제 ' 섹션을 참조하십시오.