합성 모니터링 개발자 가이드

  • 릴리스 버전: Australia
  • 업데이트 날짜 2026년 04월 29일
  • 소요 시간: 18분
  • 합성 모니터링 API를 사용하여 한 번의 작업으로 여러 합성 모니터를 생성합니다.

    이 개발자 가이드에서는 API를 사용하여 Synthetic monitoring Postman 또는 터미널에서 모니터를 대량 생성하는 방법에 대한 정보를 제공합니다.

    합성 모니터링 API에 대한 전체 참조 문서는 다음을 참조하십시오.

    API를 사용하여 합성 모니터를 대량으로 임포트 및 생성

    SyntheticsAsyncBulkCreate API를 통해 원시 JSON 또는 CSV 파일을 가져와 동시에 여러 합성 모니터를 생성합니다.

    시작하기 전에

    필요한 역할: sn_sow_synthetics.synthetics_admin 또는 sn_sow_synthetics.synthetics_editor
    • 유효한 ServiceNow 인스턴스 자격 증명
    • HTTP 엔드포인트에 대한 액세스
    • 기본 URL: https://<your-instance>.service-now.com/api/sn_sow_synthetics/v1/synthetics_async_bulk_create
    • 필수 필드를 포함하는 모니터 데이터로 준비된 원시 JSON 또는 CSV 파일:
      • 모니터 이름
      • HTTP 엔드포인트 sys_id
      • 상위 서비스 sys_id
      • 위치 sys_id
      • 지원 그룹의 시스템 ID
      • 간격(빈도)
      • 메서드("GET", "POST", "PUT", "DELETE", "PATCH", "HEAD")
      • 어설션 필드

    다음 도구 중 하나: 터미널(curl 명령 사용), Postman 또는 스크립팅 환경.

    이 태스크 정보

    SyntheticsAsyncBulkCreate API는 다음 2단계 프로세스를 사용합니다.
    1. 모니터 데이터 파일을 업로드하여 작업 ID를 작성합니다.
    2. 모니터 생성 상태를 검증하기 위해 작업 상태를 확인합니다.
    다음 방법 중 하나를 통해 이 API에 액세스할 수 있습니다.
    • curl 명령을 사용하는 터미널
    • Postman 애플리케이션
    • 사용자 지정 스크립트
    API에는 기본 인증 또는 OAuth 토큰 인증이 필요합니다.
    • 기본 인증:
      curl -u "username:password"
    • OAuth 토큰:
      curl -H "인증: 전달자 <your-oauth-token>"

    프로시저

    1. 원시 JSON 또는 CSV 형식으로 모니터 데이터 파일을 준비합니다.
    2. 원하는 방법(터미널, Postman 또는 스크립트)을 선택합니다.
    3. 대량 임포트 API 엔드포인트를 호출하여 파일을 업로드하고 작업 ID를 생성합니다.
    4. 상태 확인 URL을 사용하여 모니터 생성 상태를 확인합니다.
    5. 성공적인 모니터 생성 또는 오류 상세 정보에 대한 응답을 검토합니다.
    6. 올바른 데이터로 소스 파일을 업데이트하고(오류가 있는 경우) 다시 제출합니다.

    결과

    모니터는 ServiceNow 인스턴스에 생성됩니다. API 응답은 다음을 나타냅니다.
    • 처리 상태(처리/완료)
    • 모니터를 작성했습니다.
    • 오류 상세 정보(필수 필드 누락, 잘못된 sys_ids 등)가 있는 실패한 모니터

    터미널을 사용하여 모니터를 대량으로 생성

    터미널에서 curl 명령을 사용하여 SyntheticsAsyncBulkCreate API를 통해 JSON 또는 CSV 파일을 가져와 여러 합성 모니터를 동시에 생성합니다.

    시작하기 전에

    필요한 역할: sn_sow_synthetics.synthetics_admin 또는 sn_sow_synthetics.synthetics_editor
    • 유효한 ServiceNow 인스턴스 자격 증명
    • HTTP 엔드포인트에 대한 액세스
    • 기본 URL: https://<your-instance>.service-now.com/api/sn_sow_synthetics/v1/synthetics_async_bulk_create
    • 필수 필드를 포함하는 모니터 데이터로 준비된 원시 JSON 또는 CSV 파일:
      • 모니터 이름
      • HTTP 엔드포인트 sys_id
      • 상위 서비스 sys_id
      • 위치 sys_id
      • 지원 그룹의 시스템 ID
      • 간격(빈도)
      • 메서드("GET", "POST", "PUT", "DELETE", "PATCH", "HEAD")
      • 어설션 필드

    이 태스크 정보

    SyntheticsAsyncBulkCreate API는 터미널을 통해 액세스할 때 2단계 프로세스를 사용합니다. 먼저 curl 명령을 사용하여 모니터 데이터 파일을 업로드하여 작업 ID를 생성합니다. 그런 다음 작업 상태를 확인하여 모니터 생성을 확인합니다. API는 기록을 비동기식으로 처리하고 성공적인 생성 및 오류에 대한 자세한 피드백을 제공합니다.

    JSON 또는 CSV 파일을 업로드하는지 여부에 따라 다른 curl 명령이 필요합니다.

    프로시저

    1. 시스템에서 터미널을 엽니다.
    2. 모니터 데이터 파일이 포함된 디렉터리로 이동합니다.
    3. 적절한 curl 명령을 실행하여 파일을 업로드하고 작업 ID를 생성합니다.

      JSON 파일의 경우:

      curl -X POST "https://{your-instance}.service-now.com/api/sn_sow_synthetics/v1/synthetics_async_bulk_create" \
        -H "Content-Type: application/json" \
        -H "Accept: application/json" \
        -u "admin:password" \
        -d @{filename}.json

      CSV 파일의 경우:

      curl -X POST "https://{your-instance}.service-now.com/api/sn_now_synthetics/v1/synthetics_async_bulk_create?filename=filename.csv" \
        -H "Content-Type: text/csv" \
        -H "Accept: application/json" \
        -u "admin:password" \
        --d "$(jq -Rs '{csv_content: .}'filename.csv"

      다음 자리 표시자를 바꿉니다.

      • {your-instance}: ServiceNow 인스턴스 이름입니다.
      • {filename}: 모니터 데이터 파일의 이름

      API는 작업 ID 및 상태 확인 URL이 포함된 응답을 반환합니다.

      {
        "result": {
          "job_id": "abc123def456",
          "status": "processing",
          "status_check_url": "https://{your-instance}.service-now.com/api/now/synthetic/monitor/bulk/status/abc123def456"
        }
      }
    4. 응답에서 상태 검사 URL을 복사합니다.
    5. 상태 검사 curl 명령을 실행하여 작업 처리 상태를 확인합니다.
      curl -X GET "https://{your-instance}.service-now.com/api/sn_sow_synthetics/v1/synthetics_async_bulk_create/{job_id}" \
        -H "Accept: application/json" \
        -u "{username}:{password}"

      API는 다음 상태 응답 중 하나를 반환합니다.

      처리 상태:

      {
        "result": {
          "job_id": "abc123def456",
          "status": "processing",
          "total_records": 10,
          "processed_records": 3
        }
      }

      완료 상태(성공):

      {
        "result": {
          "job_id": "abc123def456",
          "status": "complete",
          "total_records": 10,
          "successful_records": 10,
          "failed_records": 0,
          "details": []
        }
      }

      완료 상태(오류 포함):

      {
        "result": {
          "job_id": "abc123def456",
          "status": "complete",
          "total_records": 10,
          "successful_records": 8,
          "failed_records": 2,
          "details": [
            {
              "name": "Monitor_API_001",
              "status": "failed",
              "error_code": "MISSING_REQUIRED_FIELD",
              "reason": "CMDB CI is required"
            },
            {
              "name": "Monitor_API_002",
              "status": "failed",
              "error_code": "INVALID_REFERENCE",
              "reason": "Location not found for this sys_id"
            }
          ]
        }
      }
    6. 상태가 "처리 중"인 경우 잠시 기다렸다가 상태 검사 명령을 반복합니다.
      시스템은 기록을 비동기식으로 처리합니다. 상태가 "완료"로 변경될 때까지 계속 확인합니다.
    7. 모니터를 생성하지 못한 경우 응답에서 오류 상세 정보를 검토합니다.
      1. 컴파일된 상세 정보에서 실패한 모니터 이름을 식별합니다 .
      2. 제공된 오류 코드와 이유를 검토합니다.
      3. 소스 JSON 또는 CSV 파일을 업데이트하여 데이터 문제를 해결합니다.

        일반적인 오류는 다음과 같습니다.

        • 누락된 필수 필드(CMDB CI, 위치, 방법)
        • 인스턴스에 없는 잘못된 sys_id 참조
        • 잘못된 데이터 형식
      4. 업로드 curl 명령을 반복하여 수정된 파일을 다시 제출합니다.

    결과

    모니터는 ServiceNow 인스턴스에 생성됩니다. 성공적으로 생성된 모니터는 즉시 사용할 수 있습니다. 실패한 모니터는 특정 오류 정보와 함께 보고되므로 데이터를 수정하고 다시 제출할 수 있습니다.

    전체 워크플로우 예

    1단계: JSON 파일 업로드

    curl -X POST "https://myinstance.service-now.com/api/sn_sow_synthetics/v1/synthetics_async_bulk_create" \
      -H "Content-Type: application/json" \
      -H "Accept: application/json" \
      -u "admin:password123" \
      -d @monitor_data.json

    응답:

    {
      "result": {
        "job_id": "xyz789abc123",
        "status": "processing",
        "status_check_url": "https://myinstance.service-now.com/api/sn_sow_synthetics/v1/synthetics_async_bulk_create/status/xyz789abc123"
      }
    }

    2단계: 상태 확인

    curl -X GET "https://myinstance.service-now.com/api/sn_sow_synthetics/v1/synthetics_async_bulk_create/status/xyz789abc123" \
      -H "Accept: application/json" \
      -u "admin:password123"

    최종 응답:

    {
      "result": {
        "job_id": "xyz789abc123",
        "status": "complete",
        "total_records": 5,
        "successful_records": 5,
        "failed_records": 0
      }
    }

    다음에 수행할 작업

    성공적으로 생성되면 다음으로 이동하여 ServiceNow UI에서 모니터를 확인합니다. 합성 모니터링 > 모니터. 필요에 따라 추가 모니터 설정 및 일정을 구성할 수 있습니다.

    Postman을 사용하여 모니터를 대량 생성

    Postman을 사용하여 SyntheticsAsyncBulkCreate API를 통해 JSON 또는 CSV 파일을 가져와 동시에 여러 합성 모니터를 생성합니다.

    시작하기 전에

    필요한 역할: sn_sow_synthetics.synthetics_admin 또는 sn_sow_synthetics.synthetics_editor
    • 유효한 ServiceNow 인스턴스 자격 증명
    • HTTP 엔드포인트에 대한 액세스
    • 기본 URL: https://<your-instance>.service-now.com/api/sn_sow_synthetics/v1/synthetics_async_bulk_create
    • 필수 필드를 포함하는 모니터 데이터로 준비된 원시 JSON 또는 CSV 파일:
      • 모니터 이름
      • HTTP 엔드포인트 sys_id
      • 상위 서비스 sys_id
      • 위치 sys_id
      • 지원 그룹의 시스템 ID
      • 간격(빈도)
      • 메서드("GET", "POST", "PUT", "DELETE", "PATCH", "HEAD")
      • 어설션 필드

    이 태스크 정보

    SyntheticsAsyncBulkCreate API는 Postman을 통해 액세스할 때 2단계 프로세스를 사용합니다. 먼저 POST 요청을 생성하여 모니터 데이터 파일을 업로드하고 작업 ID를 생성합니다. 그런 다음 상태 검사 URL을 사용하여 모니터 생성을 확인합니다. Postman은 API를 테스트하고 형식이 지정된 응답을 볼 수 있는 사용자 친화적인 인터페이스를 제공합니다.

    동일한 Postman 구성이 JSON 및 CSV 파일 모두에 대해 작동하며 파일 형식 선택만 다릅니다.

    프로시저

    1. Postman 애플리케이션을 엽니다.
    2. + 버튼을 선택하여 새 요청을 생성합니다. 또는 신규 > HTTP 요청.
    3. 드롭다운 메뉴에서 요청 방법을 POST 로 설정하고 요청 URL 필드에 대량 임포트 API 엔드포인트 기본 URL을 입력합니다.

      기본 URL의 {instance-name} 을 해당 인스턴스 이름으로 바꿉니다 ServiceNow .

    4. 인증 자격 증명을 구성합니다.
      1. URL 필드 아래의 인증 탭을 선택합니다.
      2. 유형 드롭다운에서 기본 인증을 선택합니다.
      3. 사용자 이름 필드에 사용자 이름을 입력합니다ServiceNow.
        이 사용자에게 합성 관리자 역할이 있는지 확인합니다.
      4. 암호 필드에 암호를 입력합니다.
    5. 모니터 데이터 파일을 업로드하도록 요청 본문을 구성합니다.
      1. 본문 탭을 선택합니다.
      2. 본문 유형으로 바이너리 를 선택합니다.
      3. 파일 선택 단추를 선택하고 모니터 데이터 파일 위치로 이동하여 JSON 또는 CSV 파일을 선택합니다.
        CSV 파일을 업로드하는 경우 모든 필수 열로 올바른 형식이 지정되어 있는지 확인하십시오. CSV 파일을 JSON 형식으로 변환
    6. URL에 파일 이름을 쿼리 매개변수로 추가하고 보내기를 선택하여 요청을 제출합니다.
      예를 들어 파일 이름이 monitors.json인 경우 파일 경로는 https://<your-instance>.service-now.com/api/sn_sow_synthetics/v1/synthetics_async_bulk_create?filename=monitors.json 가 됩니다.
      API는 작업 ID 및 상태 확인 URL이 포함된 JSON 응답을 반환합니다.

      { "결과": { "job_id": "abc123def456", "상태": "처리 중", "status_check_url": "https://{인스턴스 이름}.service-now.com/api/now/synthetic/monitor/bulk/status/abc123def456" } }

    7. 응답에서 상태 검사 URL을 복사합니다.
    8. 새 GET 요청을 생성하여 작업 상태를 확인합니다.
      1. 응답에서 상태 확인 URL을 클릭하거나 새 요청을 수동으로 생성합니다.
        Postman에서 URL을 클릭할 수 있으면 URL이 채워진 새 GET 요청이 자동으로 생성됩니다.
      2. 수동으로 만드는 경우 요청 방법을 GET으로 설정합니다.
      3. 상태 확인 URL(https://<your-instance>.service-now.com/api/sn_sow_synthetics/v1/synthetics_async_bulk_create/{job_id} ß 필드에 붙여넣습니다.

        {job_id}을(를) POST 응답의 작업 ID로 바꿉니다.

    9. 상태 확인 요청에 대한 인증을 구성합니다.
      동일한 Postman 작업 공간에 있는 경우 권한 부여가 이미 상속되었을 수 있습니다. 그렇지 않은 경우 4단계부터 기본 인증 구성을 반복합니다.
    10. 보내기를 선택하여 작업 상태를 확인합니다.
      요청을 컬렉션에 저장하여 다시 사용할 수 있습니다.

      API는 다음 상태 응답 중 하나를 반환합니다.

      처리 상태:

      {
        "result": {
          "job_id": "abc123def456",
          "status": "processing",
          "total_records": 10,
          "processed_records": 3
        }
      }

      완료 상태(성공):

      {
        "result": {
          "job_id": "abc123def456",
          "status": "complete",
          "total_records": 10,
          "successful_records": 10,
          "failed_records": 0,
          "details": []
        }
      }

      완료 상태(오류 포함):

      {
        "result": {
          "job_id": "abc123def456",
          "status": "complete",
          "total_records": 10,
          "successful_records": 8,
          "failed_records": 2,
          "details": [
            {
              "name": "Monitor_API_001",
              "status": "failed",
              "error_code": "MISSING_REQUIRED_FIELD",
              "reason": "CMDB CI is required"
            },
            {
              "name": "Monitor_API_002",
              "status": "failed",
              "error_code": "INVALID_REFERENCE",
              "reason": "Location not found for this sys_id"
            }
          ]
        }
      }
    11. 상태가 "처리 중"이면 잠시 기다렸다가 보내기를 다시 선택하여 상태를 새로 고칩니다.
      시스템은 기록을 비동기식으로 처리합니다. 상태가 "완료"로 변경될 때까지 계속 확인합니다.
    12. 모니터를 생성하지 못한 경우 응답에서 오류 상세 정보를 검토합니다.
      1. Postman 응답 뷰어에서 상세 정보 배열을 확장하여 개별 오류 기록을 확인합니다.
      2. 각 오류의 모니터 이름, 오류 코드 및 이유를 기록해 둡니다.
      3. 소스 JSON 또는 CSV 파일을 업데이트하여 식별된 문제를 해결합니다.

        일반적인 오류는 다음과 같습니다.

        • 누락된 필수 필드(CMDB CI, 위치, 방법)
        • 인스턴스에 없는 잘못된 sys_id 참조
        • 잘못된 데이터 형식 또는 필드 이름
      4. 원래 POST 요청으로 돌아가서 수정된 파일과 함께 다시 제출합니다.

    결과

    모니터는 ServiceNow 인스턴스에 생성됩니다. 성공적으로 생성된 모니터는 즉시 사용할 수 있습니다. 실패한 모니터는 Postman의 응답 뷰어에서 쉽게 검토할 수 있는 구조화된 JSON 형식으로 특정 오류 세부 정보와 함께 보고됩니다.

    전체 워크플로우 예

    1단계: POST 요청 구성

    • 메서드: POST
    • URL: https://myinstance.service-now.com/api/now/synthetic/monitor/bulk/import
    • 권한 부여: 기본 인증(사용자 이름: admin, 암호: ********)
    • 본문: 이진수, 파일 선택됨: monitor_data.json
    • 헤더: 콘텐츠 유형: application/json, 수락: application/json

    응답 수신:

    {
      "result": {
        "job_id": "xyz789abc123",
        "status": "processing",
        "status_check_url": "https://myinstance.service-now.com/api/now/synthetic/monitor/bulk/status/xyz789abc123"
      }
    }

    2단계: 상태 확인을 위한 GET 요청 구성

    • 메서드: GET
    • URL: https://myinstance.service-now.com/api/now/synthetic/monitor/bulk/status/xyz789abc123
    • 권한 부여: 기본 인증(작업 공간에서 상속됨)

    최종 응답:

    {
      "result": {
        "job_id": "xyz789abc123",
        "status": "complete",
        "total_records": 5,
        "successful_records": 5,
        "failed_records": 0
      }
    }

    다음에 수행할 작업

    • Postman 요청을 나중에 사용하고 쉽게 다시 제출할 수 있도록 컬렉션에 저장합니다.
    • 합성 모니터링 > 모니터로 이동하여 ServiceNow UI에서 모니터를 확인합니다.
    • 필요에 따라 일정, 알림 및 임계치와 같은 추가 모니터 설정을 구성합니다.

    CSV 파일을 JSON 형식으로 변환

    CSV 파일을 JSON 형식으로 변환하여 합성 모니터를 생성합니다.

    CSV 파일을 JSON 형식으로 변환

    CSV 파일을 JSON 형식으로 변환하려면 터미널에 액세스합니다. 운영 체제에 따라 필요한 명령을 실행합니다.
    표 1. CSV 파일을 JSON 형식으로 변환하는 명령
    운영 체제 Curl 명령
    macOS jq -Rs '{csv_content: .}' filename.csv
    Windows Powershell
    • jq를 사용하는 경우 jq -Rs '{csv_content: .}' 명령을 사용합니다filename.csv
    • Powershell만 사용하는 경우(jq가 설치되지 않음) 다음 명령을 사용합니다.
      1. $csvContent = get-content -path "synthetic_checks.csv" -raw
      2. $json = @{ csv_content = $csvContent } | ConvertTo-Json
      3. $json
    • jq가 설치된 Windows 명령 프롬프트를 사용하는 경우 jq -Rs "{csv_content: .} 명령을 사용합니다." filename.csv

    출력은 터미널에서 사용할 수 있는 JSON 형식으로 래핑된 CSV 콘텐츠입니다. { "csv_content": "이름,방법,설명,간격,cmdb_ci,...\n\"Monitors1\",\"GET\",\"CHECK1\",5,... " }

    컨텐츠를 JSON 형식으로 사용할 수 있게 되면 Postman의 본문 탭에 액세스하고 원시 를 선택하여 JSON 형식 컨텐츠를 붙여넣고 보내기를 선택합니다.
    주:
    선택한 형식이 JSON인지 확인하십시오.

    응답 상태는 작업 ID와 생성된 모니터의 상태를 제공합니다. 오류가 발견되면 파일을 수정하고 동일한 명령을 실행하여 모니터 생성을 완료합니다.