DCIM 메트릭 데이터 피드 API

  • 릴리스 버전: Australia
  • 업데이트 날짜 2026년 03월 12일
  • 소요 시간: 16분
  • DCIM 메트릭 데이터 피드 API는 외부 시스템에서 DCIM(Data Center Infrastructure Management) 메트릭 데이터를 승인하고 데이터베이스에 데이터를 MetricBase 저장하는 엔드포인트를 제공합니다.

    이 API는 온도, 습도 및 전력 사용량과 같은 거의 실시간 메트릭 데이터를 수신합니다.

    이 API는 스크립팅된 확장점 TNIDCIMFeedParser를 구현하여 선택한 외부 시스템에서 사용하도록 확장할 수 있습니다. 기본 구현 TNIDCIMFeedParserImpl 을 예로 사용할 수 있습니다. 확장점에 대한 자세한 내용은 문서를 참조하십시오 확장점을 사용하여 애플리케이션 기능 확장.

    이 API는 에서 사용할 수 있는 Network Inventory Advanced 애플리케이션에 포함되어 있습니다 ServiceNow Store. 이 API에는 플러그인(com.snc.clotho)도 MetricBase 필요합니다.

    호출하는 사용자에게 sn_ni_adv.metric_integrator 역할이 있어야 합니다.

    DCIM 메트릭 데이터 피드 - POST /sn_ni_adv/dcim/feed/{vendorname}

    온도, 습도 및 전력 사용량 MetricBase과 같은 메트릭 데이터를 에 저장합니다.

    기본적으로 이 엔드포인트는 다음 유형의 구성 항목(CI)에 대한 데이터를 저장하는 데 사용할 수 있습니다.
    • 회로 [cmdb_ci_circuit]
    • 캐비닛 [cmdb_ci_container_cabinet]
    • 케이지 [cmdb_ci_cage]
    • 데이터 센터 [cmdb_ci_datacenter]
    • 데이터 센터 영역 [cmdb_ci_zone]

    이 엔드포인트를 추가 CI 유형과 함께 사용하려면 메트릭 정의를 생성하고 스크립팅된 확장점 TNIDCIMFeedParser를 구현합니다.

    URL 형식

    기본 URL: /api/sn_ni_adv/dcim/feed/{vendorname}

    지원되는 요청 매개변수

    표 1. 경로 매개변수
    이름 설명
    벤더 이름 메트릭 데이터를 수신할 외부 시스템의 이름입니다.

    이 API의 기본 구현을 사용하는 경우 이 값은 equinix입니다. 다른 외부 시스템에서 이 API를 사용하는 경우 vendorname 여기에 사용된 API는 TNIDCIMFeedParser 확장점 구현에 포함되어야 합니다.

    데이터 유형: 문자열

    표 2. 쿼리 매개변수
    이름 설명
    없음
    표 3. 요청 본문 매개변수(JSON)
    이름 설명
    데이터 필수 에 저장할 MetricBase데이터 .

    데이터 유형: 객체

    주:
    이 개체에 포함되어야 하는 요소는 매개 변수 및 구성 항목 유형(예: 데이터센터 또는 회로)에 따라 type 달라집니다.
    "data": {
       "apparentPower": {Object},
       "asset": {Object},
       "cabinet": "String",
       "cabinetRating": {Object},
       "cage": "String",
       "contractualPower": {Object},
       "ibx": "String",
       "kilowattHour": {Object},
       "peakLastSevenDays": {Object},
       "peakLastSevenDaysRatio": {Object},
       "powerConsumptionToContractual": {Object},
       "powerFactor": {Object},
       "reading": {Object},
       "readingTime": "String",
       "realPower": {Object},
       "soldCurrent": {Object},
       "tag": {Object}
    }
    data.apparentPower 킬로볼트-암페어 단위의 피상 전력 데이터입니다. 매개변수가 typepower인 경우 필요합니다.

    데이터 유형: 객체

    "apparentPower": {      
       "unit": "String",
       "value": "String"  
    }
    data.apparentPower.unit 측정 단위입니다. 허용되는 유일한 값은 kVA입니다.

    데이터 유형: 문자열

    data.apparentPower.value 기록된 킬로볼트-암페어 판독값입니다.

    데이터 유형: 문자열

    데이터.자산 자산 데이터입니다. 매개변수가 type계량 전력 또는 전력일 때 회로에 필요합니다. 매개변수가 환경적인 경우 캐비닛, 케이지 및 구역에 type 필요합니다.

    데이터 유형: 객체

    "asset": {
       "id": "String",
       "level": "String",
       "type": "String"
    }
    data.asset.id 자산의 이름입니다.

    표: 회로 [cmdb_ci_circuit], 캐비닛 [cmdb_ci_container_cabinet], 케이지 [cmdb_ci_cage] 또는 데이터 센터 영역 [cmdb_ci_zone]

    필드: 이름

    데이터 유형: 문자열

    데이터.자산.수준 자산의 유형입니다. 캐비닛, 케이지 및 구역에 사용됩니다.
    가능한 값:
    • 내각
    • 구역

    데이터 유형: 문자열

    데이터.자산.유형 자산의 유형입니다. 회로에 사용됩니다. 유일하게 허용되는 값은 CIRCUIT입니다.

    데이터 유형: 문자열

    데이터.캐비닛 캐비닛의 이름입니다. 매개변수가 type계량된 전력 또는 전력인 경우 캐비닛에 필요합니다.

    테이블: 컨테이너 캐비닛 [cmdb_ci_container_cabinet]

    필드: 이름

    데이터 유형: 문자열

    data.cabinetRating 캐비닛의 전력 사용량은 킬로볼트-암페어로 평가됩니다. 매개변수가 typepower인 경우 필요합니다.

    데이터 유형: 객체

    "cabinetRating": {      
       "unit": "String",
       "value": "String"  
    }
    data.cabinetRating.unit 측정 단위입니다. 허용되는 유일한 값은 kVA입니다.

    데이터 유형: 문자열

    data.cabinetRating.value 캐비닛의 전력 사용 등급입니다.

    데이터 유형: 문자열

    데이터.케이지 케이지의 이름입니다. 매개변수가 typemetered-power 또는 power인 경우 케이지에 필요합니다.

    테이블: 케이지 [cmdb_ci_cage]

    필드: 이름

    데이터 유형: 문자열

    data.contractualPower 계약에 의해 할당된 전력 사용량(킬로볼트-암페어)입니다. 매개변수가 typepower인 경우 필요합니다.

    데이터 유형: 객체

    "contractualPower": {      
       "unit": "String",
       "value": "String"  
    }
    data.contractualPower.unit 측정 단위입니다. 허용되는 유일한 값은 kVA입니다.

    데이터 유형: 문자열

    데이터.계약전력.값 계약에 할당된 전력 사용량입니다.

    데이터 유형: 문자열

    데이터.ibx 데이터센터의 이름입니다.

    데이터센터에 대한 메트릭 데이터를 저장할 때 필요합니다.

    테이블: 데이터 센터 [cmdb_ci_datacenter]

    데이터 유형: 문자열

    데이터.킬로와트시 킬로와트시 단위의 전력 사용량 데이터입니다. 매개변수가 typemetered-power인 경우 필요합니다.

    데이터 유형: 객체

    "kilowattHour": {      
       "unit": "String",
       "value": "String"  
    }
    data.kilowattHour.unit 측정 단위입니다. 허용되는 유일한 값은 kWh입니다.

    데이터 유형: 문자열

    data.kilowattHour.value 기록된 킬로와트시 판독값입니다.

    데이터 유형: 문자열

    data.peakLastSevenDays 지난 주 최대 전력 사용량(킬로볼트-암페어)입니다. 매개변수가 typepower인 경우 필요합니다.

    데이터 유형: 객체

    "peakLastSevenDays": {      
       "unit": "String",
       "value": "String"  
    }
    data.peakLastSevenDays.unit 측정 단위입니다. 허용되는 유일한 값은 kVA입니다.

    데이터 유형: 문자열

    data.peakLastSevenDays.value 지난주의 최대 전력 사용량 값입니다.

    데이터 유형: 문자열

    data.peakLastSevenDaysRatio 지난 주에 계약에 의해 할당된 금액 중 사용된 전력의 최대 백분율입니다. 매개변수가 typepower인 경우 필요합니다.

    데이터 유형: 객체

    "peakLastSevenDaysRatio": {      
       "unit": "String",
       "value": "String"  
    }
    data.peakLastSevenDaysRatio.unit 측정 단위입니다. 유일하게 허용되는 값은 PERCENT입니다.

    데이터 유형: 문자열

    data.peakLastSevenDaysRatio.value 사용된 전력의 최대 백분율입니다.

    데이터 유형: 문자열

    data.powerConsumptionToContractual 계약에 의해 할당된 금액 중 사용된 전력의 백분율입니다. 매개변수가 typepower인 경우 필요합니다.

    데이터 유형: 객체

    "powerConsumptionToContractual": {      
       "unit": "String",
       "value": "String"  
    }
    data.powerConsumptionToContractual.unit 측정 단위입니다. 유일하게 허용되는 값은 PERCENT입니다.

    데이터 유형: 문자열

    data.powerConsumptionToContractual.value 사용된 전력의 백분율입니다.

    데이터 유형: 문자열

    data.powerFactor 역률 데이터입니다. 매개변수가 typepower인 경우 필요합니다.

    데이터 유형: 객체

    "powerFactor": {      
       "unit": "String",
       "value": "String"  
    }
    데이터.powerFactor.unit 측정 단위입니다. 유일하게 허용되는 값은 pf입니다.

    데이터 유형: 문자열

    데이터.파워팩터.값 역률 값입니다.

    데이터 유형: 문자열

    데이터.읽기 수집된 환경 데이터입니다. 매개변수가 type환경인 경우 필요합니다.

    데이터 유형: 객체

    "reading": {      
       "unit": "String",
       "value": "String"  
    }
    데이터.읽기.단위 측정 단위입니다.
    가능한 값:
    • 섭씨:온도일 때 data.tag.id 사용합니다.
    • PERCENT:습도가 높을 때 data.tag.id 사용합니다.

    데이터 유형: 문자열

    데이터.읽기.값 기록된 값입니다.

    데이터 유형: 문자열

    data.readingTime 필수 데이터가 수집된 날짜 및 시간입니다.

    이 값은 ISO 8601 형식의 UTC여야 합니다. 예: 2025-07-03T16:22:15.000Z.

    데이터 유형: 문자열

    data.realPower 킬로와트 단위의 전력 사용량 데이터입니다. 매개변수가 typepower인 경우 필요합니다.

    데이터 유형: 객체

    "realPower": {      
       "unit": "String",
       "value": "String"  
    }
    데이터.realPower.unit 측정 단위입니다. 유일하게 허용되는 값은 kW입니다.

    데이터 유형: 문자열

    데이터.realPower.value 기록된 킬로와트 판독값입니다.

    데이터 유형: 문자열

    data.soldCurrent 계약에 의해 할당된 전류(암페어)입니다. 매개변수가 typepower인 경우 필요합니다.

    데이터 유형: 객체

    "soldCurrent": {      
       "unit": "String",
       "value": "String"  
    }
    data.soldCurrent.unit 측정 단위입니다. 유일하게 허용되는 값은 A입니다.

    데이터 유형: 문자열

    data.soldCurrent.value 계약에 의해 할당된 전류입니다.

    데이터 유형: 문자열

    데이터.태그 환경 데이터의 유형을 포함하는 객체입니다. 매개변수가 type환경인 경우 필요합니다.

    데이터 유형: 객체

    "tag": {
       "id": "String"
    }
    data.tag.id 환경 데이터의 유형입니다.
    가능한 값:
    • 습도
    • 온도

    데이터 유형: 문자열

    유형 필수 메트릭 데이터의 유형입니다.
    가능한 값:
    • 환경: 습도 또는 온도에 사용됩니다.
    • metered-power: 킬로와트시(kWh) 단위의 전력 사용량에 사용됩니다.
    • 전력: 킬로와트(kW) 및 킬로볼트-암페어(kVA) 단위의 전력 사용에 사용됩니다.

    데이터 유형: 문자열

    헤더

    다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 고유한 방식으로 이 작업에 적용됩니다. REST API에 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하십시오.

    표 4. 요청 헤더
    머리글 설명
    수용 응답 본문의 데이터 형식입니다. .만 지원합니다 application/json;charset=UTF-8.
    권한 부여 기초의.
    콘텐츠-형식 요청 본문의 데이터 형식입니다. application/json만 지원합니다.
    표 5. 응답 헤더
    머리글 설명
    콘텐츠-형식 응답 본문의 데이터 형식입니다. .만 지원합니다 application/json;charset=UTF-8.

    상태 코드

    이 HTTP 작업에 적용되는 상태 코드는 다음과 같습니다. REST API에 사용되는 가능한 상태 코드 목록은 REST API HTTP 응답 코드를 참조하십시오.

    표 6. 상태 코드
    상태 코드 설명
    200 성공입니다. 요청이 성공적으로 처리되었습니다.
    400 잘못된 요청입니다. 잘못된 요청 유형 또는 잘못된 형식의 요청이 탐지되었습니다.
    401 권한이 해제되었습니다. 사용자 자격 증명이 잘못되었거나 전달되지 않았습니다.
    403 금지되었습니다. 사용자에게 지정된 기록에 대한 액세스 권한이 없습니다.
    404 찾을 수 없습니다. 요청한 항목을 찾을 수 없습니다.
    429 요청이 너무 많습니다.
    500 내부 서버 오류입니다. 요청을 처리하는 동안 예기치 않은 오류가 발생했습니다. 응답에는 오류에 대한 추가 정보가 포함되어 있습니다.

    응답 본문 매개변수(JSON)

    이름 설명
    결과 요청에 대한 상세 정보입니다.

    데이터 유형: 객체

    "result": {
       "status": "String",
       "sys_id": "String"
    }
    결과.상태 요청의 상태입니다.

    데이터 유형: 문자열

    result.sys_id 메트릭 데이터로 업데이트된 CI의 Sys_id입니다.

    표: 회로 [cmdb_ci_circuit], 캐비닛 [cmdb_ci_container_cabinet], 케이지 [cmdb_ci_cage], 데이터 센터 [cmdb_ci_datacenter] 또는 데이터 센터 영역 [cmdb_ci_zone]

    데이터 유형: 문자열

    cURL 요청

    데이터 센터에 대한 계량된 전력 데이터를 저장합니다.

    curl "https://instance.service-now.com/api/sn_ni_adv/dcim/feed/vendorname" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --data "{
        "type": "metered-power",
        "data": {
            "ibx": "Datacenter Name",
            "kilowattHour": {
                "value": "40509.323",
                "unit": "kWh"
            },
            "readingTime": "2025-07-03T16:22:15.000Z"
        }
    }" \
    --user 'username':'password'

    응답 본문.

    {
        "result": {
            "status": "success",
            "sys_id": "c88dde85ff2662109cb9ffffffffffcc"
        }
    }

    cURL 요청

    회로에 대한 전력 데이터를 저장합니다.

    curl "https://instance.service-now.com/api/sn_ni_adv/dcim/feed/vendorname" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --data "{
        "type": "power",
        "data": {
            "asset": {
                "id": "Circuit Name",
                "type": "CIRCUIT"
            },
            "realPower": {
                "value": "0.522",
                "unit": "kW"
            },
            "apparentPower": {
                "value": "1.070",
                "unit": "kVA"
            },
            "contractualPower": {
                "value": "60.000",
                "unit": "kVA"
            },
            "powerFactor": {
                "value": "0.48",
                "unit": "pf"
            },
            "soldCurrent": {
                "value": "15.000",
                "unit": "A"
            },
            "powerConsumptionToContractual": {
                "value": "32.151",
                "unit": "PERCENT"
            },
            "cabinetRating": {
                "value": "123.300",
                "unit": "kVA"
            },
            "peakLastSevenDays": {
                "value": "1.146",
                "unit": "kVA"
            },
            "peakLastSevenDaysRatio": {
                "value": "34.424",
                "unit": "PERCENT"
            },
            "readingTime": "2025-07-03T16:22:15.000Z"
        }
    }" \
    --user 'username':'password'

    응답 본문.

    {
        "result": {
            "status": "success",
            "sys_id": "c67dbe45fc2662109cb9ffffffffffcd"
        }
    }

    cURL 요청

    구역에 대한 온도 데이터를 저장합니다.

    curl "https://instance.service-now.com/api/sn_ni_adv/dcim/feed/vendorname" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --data "{
        "type": "environmental",
        "data": {
            "asset": {
                "id": "Zone Name",
                "level": "ZONE"
            },
            "reading": {
                "value": "23.300",
                "unit": "CELSIUS"
            },
            "tag": {
                "id": "temperature"
            },
            "readingTime": "2025-07-03T16:22:15.000Z"
        }
    }" \
    --user 'username':'password'

    응답 본문.

    {
        "result": {
            "status": "success",
            "sys_id": "c64dbc42fe2862109cb9ffffffffffed"
        }
    }

    cURL 요청

    캐비닛에 대한 습도 데이터를 저장합니다.

    curl "https://instance.service-now.com/api/sn_ni_adv/dcim/feed/vendorname" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --data "{
        "type": "environmental",
        "data": {
            "asset": {
                "id": "Test Cabinet",
                "level": "CABINET"
            },
            "reading": {
                "value": "66.120",
                "unit": "PERCENT"
            },
            "tag": {
                "id": "humidity"
            },
            "readingTime": "2025-07-03T16:22:15.000Z"
        }
    }" \
    --user 'username':'password'

    응답 본문.

    {
        "result": {
            "status": "success",
            "sys_id": "c24dbc82fe3862107cb9ffffffffffbc"
        }
    }