- 필수 기능
- 시작하기
- Glossary
- 표준 속성
- Guides
- Agent
- 통합
- 개방형텔레메트리
- 개발자
- API
- Datadog Mobile App
- CoScreen
- Cloudcraft
- 앱 내
- 서비스 관리
- 인프라스트럭처
- 애플리케이션 성능
- APM
- Continuous Profiler
- 스팬 시각화
- 데이터 스트림 모니터링
- 데이터 작업 모니터링
- 디지털 경험
- 소프트웨어 제공
- 보안
- AI Observability
- 로그 관리
- 관리
다단계 API 테스트를 사용하면 여러 HTTP 요청을 한 번에 연결하여 언제 어디서나 주요 서비스에 대한 정교한 여정을 사전에 모니터링하고 보장할 수 있습니다. 서비스에 대한 단일 요청을 수행하려면 API 테스트를 활용하세요.
다음을 수행할 수 있습니다.
서비스 중 하나가 더 느리게 응답하거나 예상치 못한 방식으로 응답하기 시작하면(예: 예상치 못한 응답 본문 또는 상태 코드), 테스트에서 팀에 알림, CI 파이프라인 차단, 또는 결함 배포 롤백을 할 수도 있습니다.
다단계 API 테스트는 Datadog 관리되는 위치 및 프라이빗 위치에서 실행할 수 있으므로 외부 및 내부 시스템을 모두 완전하게 커버할 수 있습니다.
env
및 기타 태그를 추가합니다. 이러한 태그를 사용하여 Synthetic Monitoring & Continuous Testing page에서 Synthetic 테스트를 필터링할 수 있습니다.다단계 API 테스트의 Locations를 선택합니다. 다단계 API 테스트는 네트워크 외부 또는 내부에서 테스트를 실행하는 선호도에 따라 관리되는 위치 및 프라이빗 위치에서 모두 실행할 수 있습니다.
Datadog’s out-of-the-box managed locations allow you to test public-facing websites and endpoints from regions where your customers are located.
Americas | APAC | EMEA |
---|---|---|
Canada Central (AWS) | Hong Kong (AWS) | Cape Town (AWS) |
Northern California (AWS) | Mumbai (AWS) | Frankfurt (AWS) |
Northern Virginia (AWS) | Seoul (AWS) | Ireland (AWS) |
Ohio (AWS) | Singapore (AWS) | London (AWS) |
Oregon (AWS) | Sydney (AWS) | Paris (AWS) |
São Paulo (AWS) | Tokyo (AWS) | Stockholm (AWS) |
Virginia (Azure) | Osaka (AWS) | Milan (AWS) |
Jakarta (AWS) | Bahrain (AWS) |
The Datadog for Government site (US1-FED) uses the following managed location:
Americas |
---|
US-West |
HTTP 요청 단계를 생성하려면 Create Your First Step을 클릭합니다.
기본적으로 테스트 단계는 최대 10개까지 생성할 수 있습니다. 이 제한을 늘리려면 Datadog 지원팀에 문의하세요.
단계에 이름을 지정하세요.
HTTP Method를 선택하고 쿼리에 대한 URL을 지정하세요. 가능한 메서드는: GET
, POST
, PATCH
, PUT
, HEAD
, DELETE
, OPTIONS
입니다. http
및 https
URL 모두 지원됩니다.
고급 옵션을 통해 HTTP 요청을 강화하세요 (선택 사항).
user-agent
헤더)를 재정의할 수도 있습니다.<COOKIE_NAME1>=<COOKIE_VALUE1>; <COOKIE_NAME2>=<COOKIE_VALUE2>
형식을 사용하여 여러 쿠키를 설정합니다.x-amz-content-sha256
을 헤더로 추가합니다(본문이 비어 있는 경우: x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
).text/plain
, application/json
,text/xml
,text/html
,application/x-www-form-urlencoded
, GraphQL
또는 None
)을 선택합니다.http://<YOUR_USER>:<YOUR_PWD>@<YOUR_IP>:<YOUR_PORT>
).Test URL을 클릭하여 설정 요청을 시도합니다. 응답 미리보기가 나타납니다.
어설션은 예상되는 테스트 결과를 정의합니다. Test URL을 클릭하면 , response time
, status code
, header
, content-type
에 있는 기본 어설션이 획득한 응답에 따라 추가됩니다. 어설션은 다단계 API 테스트에서 선택 사항입니다.
유형 | 연산자 | 값 유형 |
---|---|---|
본문 | contains , does not contain , is , is not ,matches , does not match ,jsonpath , xpath | String Regex String, Regex |
헤더 | contains , does not contain , is , is not ,matches , does not match | String Regex |
응답 시간 | is less than | 정수 (ms) |
상태 코드 | is , is not | 정수 |
HTTP 테스트는 다음 content-encoding
헤더가 있는 본문의 압축을 풀 수 있습니다: br
, deflate
, gzip
, identity
.
테스트에 응답 본문에 대한 어설션이 포함되어 있지 않으면 본문 페이로드가 삭제되고 Synthetics Worker가 설정한 제한 시간 내에서 요청에 대한 관련 응답 시간을 반환합니다.
테스트에 응답 본문에 대한 어설션이 포함되어 있고 제한 시간에 도달하면, Assertions on the body/response cannot be run beyond this limit
오류가 나타납니다.
New Assertion을 클릭하거나 응답 미리보기를 클릭하여 단계당 최대 20개의 어설션을 생성할 수 있습니다.
Continue with test if this step fails를 클릭하여 단계 실패 후 테스트가 다음 단계로 넘어갈 수 있도록 합니다. 이렇게 하면 테스트가 스스로 정리할 수 있습니다. 예를 들어, 테스트가 리소스를 만들고 해당 리소스에 대해 여러 가지 작업을 수행한 후 해당 리소스를 삭제하는 것으로 끝낼 수 있습니다.
중간 단계 중 하나가 실패하는 경우, 테스트가 끝날 때 리소스가 삭제되고 오탐이 생성되지 않도록 모든 중간 단계에서 이 설정을 사용하도록 설정할 수 있습니다.
엔드포인트가 예상대로 응답하지 않으면 테스트에서 알림을 생성합니다. 테스트 결과가 실패한 경우 테스트는 Y 밀리초후 X회 재시도를 트리거할 수 있습니다. 알림 민감도에 맞게 재시도 간격을 사용자 지정할 수 있습니다.
선택 사항으로 응답 헤더 또는 본문을 구문 분석하여 HTTP 요청의 응답에서 변수를 추출합니다. 변수 값은 HTTP 요청 단계가 실행될 때마다 업데이트됩니다.
변수에 대한 파싱을 시작하려면, Extract a variable from response content를 클릭하세요:
Variable Name을 입력합니다. 변수 이름은 대문자, 숫자, 밑줄만 사용할 수 있으며 3자 이상이어야 합니다.
응답 헤더에서 변수를 추출할지, 응답 본문에서 추출할지 결정합니다.
테스트 단계당 최대 10개의 변수를 추출할 수 있습니다. 생성된 변수는 다단계 API 테스트의 다음 단계에서 사용할 수 있습니다. 자세한 내용은 변수 사용을 참조하세요.
다단계 API 테스트는 다음을 실행할 수 있습니다.
Set alert conditions to determine the circumstances under which you want a test to fail and trigger an alert.
When you set the alert conditions to: An alert is triggered if any assertion fails for X minutes from any n of N locations
, an alert is triggered only if these two conditions are true:
Your test can trigger retries X
times after Y
ms in case of a failed test result. Customize the retry interval to suit your alerting sensibility.
Location uptime is computed on a per-evaluation basis (whether the last test result before evaluation was up or down). The total uptime is computed based on the configured alert conditions. Notifications sent are based on the total uptime.
A notification is sent by your test based on the alerting conditions previously defined. Use this section to define how and what to message your team.
Similar to how you configure monitors, select users and/or services that should receive notifications either by adding an @notification
to the message or by searching for team members and connected integrations with the dropdown menu.
Enter the notification message for your test. This field allows standard Markdown formatting and supports the following conditional variables:
Conditional Variable | Description |
---|---|
{{ #is_alert }} | Show when the test alerts. |
{{ ^is_alert }} | Show unless the test alerts. |
{{ #is_recovery }} | Show when the test recovers from alert. |
{{ ^is_recovery }} | Show unless the test recovers from alert. |
{{ #is_renotify }} | Show when the monitor renotifies. |
{{ ^is_renotify }} | Show unless the monitor renotifies. |
{{ #is_priority }} | Show when the monitor matches priority (P1 to P5). |
{{ ^is_priority }} | Show unless the monitor matches priority (P1 to P5). |
Specify how often you want your test to re-send the notification message in case of test failure. To prevent renotification on failing tests, leave the option as Never renotify if the monitor has not been resolved
.
Click Create to save your test configuration and monitor.
For more information, see Using Synthetic Test Monitors.
To create a local variable, click Create a Local Variable. You can select one of the following available builtins to add to your variable string:
n
digits.n
letters.n
characters.n
units.n
units.To obfuscate local variable values in test results, select Hide and obfuscate variable value. Once you have defined the variable string, click Add Variable.
로컬 변수를 만드는 것 외에도 다단계 API 테스트의 모든 단계에서 변수를 추출하고, 후속 단계에서 값을 다시 삽입할 수 있습니다.
Settings
에 정의된 글로벌 변수 및 로컬로 정의된 변수를 HTTP 테스트의 URL, 고급 옵션 및 어설션에 사용할 수 있습니다.
변수 목록을 표시하려면 원하는 필드에 {{
를 입력하세요.
단계가 하나 또는 여러 개의 어설션을 충족하지 않거나 단계의 요청이 조기에 실패한 경우 테스트가 FAILED
로 간주됩니다. 어떤 경우에는 엔드포인트에 대한 어설션을 테스트하지 못하고 테스트가 실제로 실패할 수 있으며, 이러한 이유는 다음과 같습니다:
CONNREFUSED
CONNRESET
DNS
INVALID_REQUEST
SSL
TIMEOUT
TIMEOUT
이 발생할 수 있습니다:TIMEOUT: The request couldn't be completed in a reasonable time.
는 요청 기간이 테스트에 정의된 시간 제한에 도달했음을 나타냅니다(기본값은 60초로 설정됨).
각 요청에 대해 완료된 요청 단계만 네트워크 폭포에 표시됩니다. 예를 들어, Total response time
만 표시되는 경우 DNS 확인 중에 시간 초과가 발생했습니다.TIMEOUT: Overall test execution couldn't be completed in a reasonable time.
은 요청 및 어설션 지속 시간이 최대 지속 시간(60.5초)에 도달했음을 나타냅니다.MALFORMED_RESPONSE
기본적으로 Datadog 관리자 및 Datadog 표준 역할이 있는 사용자만 Synthetic 다단계 API 테스트를 생성, 편집 및 삭제할 수 있습니다. Synthetic 다단계 API 테스트에 대한 생성, 편집 및 삭제 액세스 권한을 얻으려면 사용자를 이 두 가지 기본 역할 중 하나로 업그레이드하세요.
커스텀 역할 기능을 사용하는 경우 Synthetic 모니터링에 대한 synthetics_read
및 synthetics_write
권한이 포함된 커스텀 역할에 사용자를 추가합니다.
계정에서 커스텀 역할을 사용하는 고객은 액세스 제한을 사용할 수 있습니다.
조직의 역할에 따라 다단계 API 테스트에 대한 액세스를 제한할 수 있습니다. 다단계 API 테스트를 만들 때 사용자 외에 어떤 역할이 테스트를 읽고 쓸 수 있는지 선택하세요.