Skip to main content
Data Infrastructure Insights
본 한국어 번역은 사용자 편의를 위해 제공되는 기계 번역입니다. 영어 버전과 한국어 버전이 서로 어긋나는 경우에는 언제나 영어 버전이 우선합니다.

Data Infrastructure Insights API

기여자 netapp-alavoie dgracenetapp

Data Infrastructure Insights API를 사용하면 NetApp 고객과 ISV(독립 소프트웨어 공급업체)가 Data Infrastructure Insights CMDB나 다른 티켓팅 시스템 등의 다른 애플리케이션과 통합할 수 있습니다.

귀하의 Data Infrastructure Insights"기능 세트 역할" 어떤 API에 액세스할 수 있는지 결정합니다. 사용자 및 게스트 역할은 관리자 역할보다 권한이 적습니다. 예를 들어, Monitor 및 Optimize에서는 관리자 역할이 있고 Reporting에서는 사용자 역할이 있는 경우 데이터 웨어하우스를 제외한 모든 API 유형을 관리할 수 있습니다.

API 액세스 요구 사항

  • API 액세스 토큰 모델은 액세스 권한을 부여하는 데 사용됩니다.

  • API 토큰 관리 작업은 관리자 역할을 가진 Data Infrastructure Insights 사용자가 수행합니다.

API 문서(Swagger)

최신 API 정보는 Data Infrastructure Insights 에 로그인하여 관리자 > API 액세스*로 이동하면 확인할 수 있습니다. *API 문서 링크를 클릭하세요.

API 유형

API 문서는 Swagger 기반으로, API에 대한 간략한 설명과 사용 정보를 제공하며 테넌트에서 사용해 볼 수 있도록 해줍니다. 사용자 역할 및/또는 Data Infrastructure Insights 에디션에 따라 사용할 수 있는 API 유형이 다를 수 있습니다.

API Swagger 예제

API 액세스 토큰

Data Infrastructure Insights API를 사용하기 전에 하나 이상의 *API 액세스 토큰*을 만들어야 합니다. 액세스 토큰은 지정된 API 유형에 사용되며 읽기 및/또는 쓰기 권한을 부여할 수 있습니다. 각 액세스 토큰의 만료일을 설정할 수도 있습니다. 지정된 유형의 모든 API는 액세스 토큰에 유효합니다. 각 토큰에는 사용자 이름이나 비밀번호가 없습니다.

액세스 토큰을 생성하려면:

  • *관리자 > API 액세스*를 클릭하세요.

  • *+API 액세스 토큰*을 클릭하세요.

    • 토큰 이름을 입력하세요

    • API 유형 선택

    • 이 API 액세스에 대해 부여된 권한을 지정하세요.

    • 토큰 만료일 지정

참고 귀하의 토큰은 생성 과정에서 클립보드에 복사하고 저장하는 데만 사용할 수 있습니다. 토큰은 생성된 후에는 검색할 수 없으므로 토큰을 복사하여 안전한 곳에 저장하는 것이 좋습니다. 토큰 생성 화면을 닫기 전에 API 액세스 토큰 복사 버튼을 클릭하라는 메시지가 표시됩니다.

토큰을 비활성화, 활성화 및 취소할 수 있습니다. 비활성화된 토큰을 활성화할 수 있습니다.

토큰은 고객 관점에서 API에 대한 일반적인 액세스 권한을 부여하고, 자체 테넌트 범위 내에서 API에 대한 액세스를 관리합니다. 고객 관리자는 Data Infrastructure Insights 백엔드 직원의 직접적인 개입 없이 이러한 토큰을 부여하거나 취소할 수 있습니다.

사용자가 성공적으로 인증하고 액세스를 승인하면 애플리케이션은 액세스 토큰을 받은 다음 대상 API를 호출할 때 액세스 토큰을 자격 증명으로 전달합니다. 전달된 토큰은 토큰 보유자가 API에 액세스하고 권한 부여 시 부여된 범위에서 지정된 특정 작업을 수행할 권한이 있음을 API에 알립니다.

액세스 토큰이 전달되는 HTTP 헤더는 *X-CloudInsights-ApiKey:*입니다.

예를 들어, 다음을 사용하여 저장소 자산을 검색합니다.

 curl https://<tenant_host_name>/rest/v1/assets/storages -H 'X-CloudInsights-ApiKey:<API_Access_Token>'
여기서 _<API_Access_Token>_은 API 액세스를 생성하는 동안 저장한 토큰입니다.

사용하려는 API에 대한 구체적인 예는 Swagger 페이지를 참조하세요.

API 유형

Data Infrastructure Insights API는 범주 기반이며 현재 다음 유형을 포함합니다.

  • ASSETS 유형에는 자산, 쿼리, 검색 API가 포함되어 있습니다.

    • 자산: 최상위 객체를 열거하고 특정 객체나 객체 계층을 검색합니다.

    • 쿼리: Data Infrastructure Insights 쿼리를 검색하고 관리합니다.

    • 가져오기: 주석이나 애플리케이션을 가져와서 객체에 할당합니다.

    • 검색: 객체의 고유 ID나 전체 이름을 몰라도 특정 객체를 찾습니다.

  • DATA COLLECTION 유형은 데이터 수집기를 검색하고 관리하는 데 사용됩니다.

  • DATA INGESTION 유형은 Telegraf 에이전트와 같은 수집 데이터 및 사용자 정의 메트릭을 검색하고 관리하는 데 사용됩니다.

  • LOG INGESTION은 로그 데이터를 검색하고 관리하는 데 사용됩니다.

시간이 지남에 따라 추가 유형 및/또는 API가 제공될 수 있습니다. 최신 API 정보는 다음에서 확인할 수 있습니다."API Swagger 문서" .

사용자가 액세스할 수 있는 API 유형은 다음에 따라서도 달라집니다."사용자 역할" 각 Data Infrastructure Insights 기능 세트(모니터링, 워크로드 보안, 보고)에 포함되어 있습니다.

재고 탐색

이 섹션에서는 Data Infrastructure Insights 개체의 계층 구조를 탐색하는 방법을 설명합니다.

최상위 객체

개별 객체는 요청에서 고유 URL(JSON에서는 "self"라고 함)로 식별되며, 객체 유형과 내부 ID에 대한 정보가 필요합니다. 일부 최상위 객체(호스트, 저장소 등)의 경우, REST API는 전체 컬렉션에 대한 액세스를 제공합니다.

API URL의 일반적인 형식은 다음과 같습니다.

 https://<tenant>/rest/v1/<type>/<object>
예를 들어, _mysite.c01.cloudinsights.netapp.com_이라는 테넌트에서 모든 스토리지를 검색하려면 요청 URL은 다음과 같습니다.
https://mysite.c01.cloudinsights.netapp.com/rest/v1/assets/storages

어린이 및 관련 개체

저장소와 같은 최상위 객체는 다른 자식 객체와 관련 객체를 탐색하는 데 사용될 수 있습니다. 예를 들어, 특정 저장소의 모든 디스크를 검색하려면 저장소 "self" URL을 "/disks"와 연결합니다. 예:

https://<tenant>/rest/v1/assets/storages/4537/disks

확장합니다

많은 API 명령은 expand 매개변수를 지원하는데, 이 매개변수는 객체에 대한 추가 세부 정보나 관련 객체의 URL을 제공합니다.

일반적인 확장 매개변수는 _expands_입니다. 응답에는 해당 객체에 대해 사용 가능한 모든 특정 확장 목록이 포함되어 있습니다.

예를 들어, 다음을 요청하는 경우:

 https://<tenant>/rest/v1/assets/storages/2782?expand=_expands
API는 다음과 같이 객체에 대해 사용 가능한 모든 확장을 반환합니다.

예를 확장합니다

각 확장에는 데이터, URL 또는 둘 다 포함됩니다. expand 매개변수는 다음과 같이 여러 개의 중첩된 속성을 지원합니다.

 https://<tenant>/rest/v1/assets/storages/2782?expand=performance,storageResources.storage
확장 기능을 사용하면 하나의 응답으로 많은 관련 데이터를 가져올 수 있습니다.  NetApp 한 번에 너무 많은 정보를 요청하지 말 것을 권장합니다. 너무 많은 정보를 요청하면 성능이 저하될 수 있습니다.

이를 방지하기 위해 최상위 컬렉션에 대한 요청은 확장될 수 없습니다. 예를 들어, 모든 저장소 개체에 대한 확장 데이터를 한 번에 요청할 수는 없습니다. 클라이언트는 객체 목록을 검색한 다음 확장할 특정 객체를 선택해야 합니다.

성능 데이터

성능 데이터는 여러 장치에서 별도의 샘플로 수집됩니다. 매시간(기본값) Data Infrastructure Insights 성능 샘플을 집계하고 요약합니다.

API를 사용하면 샘플과 요약된 데이터에 모두 액세스할 수 있습니다. 성능 데이터가 있는 객체의 경우 성능 요약은 _expand=performance_로 사용할 수 있습니다. 성과 내역 시계열은 중첩된 _expand=performance.history_를 통해 사용할 수 있습니다.

성능 데이터 객체의 예는 다음과 같습니다.

  • 스토리지 성능

  • 스토리지 풀 성능

  • 포트 성능

  • 디스크 성능

성과 지표에는 설명과 유형이 있으며 성과 요약 모음이 포함되어 있습니다. 예를 들어, 지연 시간, 트래픽, 속도 등입니다.

성과 요약에는 설명, 단위, 샘플 시작 시간, 샘플 종료 시간, 그리고 단일 성과 카운터에서 시간 범위(1시간, 24시간, 3일 등)에 걸쳐 계산된 요약 값(현재, 최소, 최대, 평균 등) 모음이 포함됩니다.

API 성능 예시

그 결과 생성된 성능 데이터 사전에는 다음과 같은 키가 있습니다.

  • "self"는 객체의 고유 URL입니다.

  • "history"는 타임스탬프와 카운터 값의 맵 쌍 목록입니다.

  • 다른 모든 사전 키("diskThroughput" 등)는 성능 측정 항목의 이름입니다.

각 성능 데이터 개체 유형에는 고유한 성능 측정항목 세트가 있습니다. 예를 들어, 가상 머신 성능 개체는 성능 지표로 "diskThroughput"을 지원합니다. 지원되는 각 성능 지표는 지표 사전에 제시된 특정 "성능 범주"에 속합니다. Data Infrastructure Insights 이 문서의 뒷부분에 나열된 여러 가지 성능 지표 유형을 지원합니다. 각 성과 지표 사전에는 이 성과 지표에 대한 사람이 읽을 수 있는 설명인 "설명" 필드와 성과 요약 카운터 항목 세트도 있습니다.

성능 요약 카운터는 성능 카운터의 요약입니다. 카운터의 최소값, 최대값, 평균값과 같은 일반적인 집계 값을 표시하고, 요약 데이터의 경우 최신 관찰값, 시간 범위, 카운터의 단위 유형, 데이터의 임계값을 표시합니다. 임계값만 선택 사항이고 나머지 속성은 필수 사항입니다.

다음 유형의 카운터에 대한 성능 요약을 사용할 수 있습니다.

  • 읽기 – 읽기 작업에 대한 요약

  • 쓰기 – 쓰기 작업에 대한 요약

  • 총계 – 모든 작업에 대한 요약입니다. 이는 단순히 읽기와 쓰기의 합계보다 높을 수 있으며, 다른 작업이 포함될 수도 있습니다.

  • 총 최대값 – 모든 작업에 대한 요약입니다. 이는 지정된 시간 범위 내의 최대 총 가치입니다.

객체 성능 지표

API는 테넌트의 개체에 대한 자세한 메트릭을 반환할 수 있습니다. 예:

  • IOPS(초당 입출력 요청 수), 대기 시간 또는 처리량과 같은 스토리지 성능 측정 항목입니다.

  • 트래픽 활용도, BB 크레딧 제로 데이터, 포트 오류 등의 스위치 성능 지표입니다.

를 참조하십시오"API Swagger 문서" 각 개체 유형에 대한 메트릭에 대한 정보입니다.

성과 기록 데이터

성능 데이터에는 기록 데이터가 타임스탬프와 카운터 맵 쌍의 목록으로 표시됩니다.

기록 카운터는 성능 측정 항목 개체 이름을 기반으로 이름이 지정됩니다. 예를 들어, 가상 머신 성능 개체는 "diskThroughput"을 지원하므로 기록 맵에는 "diskThroughput.read", "diskThroughput.write" 및 "diskThroughput.total"이라는 키가 포함됩니다.

참고 타임스탬프는 UNIX 시간 형식입니다.

다음은 디스크의 성능 데이터 JSON의 예입니다.

디스크 성능 JSON

용량 속성이 있는 객체

용량 속성이 있는 객체는 기본 데이터 유형과 CapacityItem을 사용하여 표현합니다.

용량항목

CapacityItem은 용량의 단일 논리적 단위입니다. 부모 개체에 의해 정의된 단위로 "value"와 "highThreshold"가 있습니다. 또한 용량 값이 어떻게 구성되는지 설명하는 선택적 분해도도 지원합니다. 예를 들어, 100TB storagePool의 총 용량은 값이 100인 CapacityItem이 됩니다. 세부 정보를 보면 "데이터"에 60TB, "스냅샷"에 40TB가 할당된 것으로 나타납니다.

참고: "highThreshold"는 클라이언트가 허용 가능한 구성 범위를 벗어난 값에 대해 경고나 시각적 신호를 생성하는 데 사용할 수 있는 해당 메트릭에 대한 시스템 정의 임계값을 나타냅니다.

다음은 여러 용량 카운터가 있는 StoragePool의 용량을 보여줍니다.

스토리지 풀 용량 예

검색을 사용하여 객체 조회

검색 API는 시스템에 대한 간단한 진입점입니다. API에 대한 유일한 입력 매개변수는 자유형 문자열이고, 그 결과로 생성되는 JSON에는 분류된 결과 목록이 포함됩니다. 유형은 저장소, 호스트, 데이터 저장소 등 인벤토리의 다양한 자산 유형입니다. 각 유형에는 검색 기준과 일치하는 유형의 객체 목록이 포함됩니다.

Data Infrastructure Insights 타사 오케스트레이션, 비즈니스 관리, 변경 제어 및 티켓팅 시스템은 물론 맞춤형 CMDB 통합을 허용하는 확장 가능한(광범위한) 솔루션입니다.

Cloud Insight의 RESTful API는 데이터를 간단하고 효과적으로 이동할 수 있게 해주는 주요 통합 지점이며, 사용자가 데이터에 원활하게 액세스할 수 있게 해줍니다.

API 토큰 비활성화 또는 취소

API 토큰을 일시적으로 비활성화하려면 API 토큰 목록 페이지에서 해당 API의 "세 개의 점" 메뉴를 클릭하고 _비활성화_를 선택합니다. 언제든지 동일한 메뉴에서 _활성화_를 선택하여 토큰을 다시 활성화할 수 있습니다.

API 토큰을 영구적으로 제거하려면 메뉴에서 "철회"를 선택하세요. 취소된 토큰은 다시 활성화할 수 없습니다. 새 토큰을 만들어야 합니다.

API 토큰 비활성화 또는 취소

만료된 API 액세스 토큰 순환

API 액세스 토큰에는 만료일이 있습니다. API 액세스 토큰이 만료되면 사용자는 새 토큰(읽기/쓰기 권한이 있는 데이터 수집 유형)을 생성하고 만료된 토큰 대신 새로 생성된 토큰을 사용하도록 Telegraf를 재구성해야 합니다. 아래 단계에서는 이를 수행하는 방법을 자세히 설명합니다.

쿠버네티스

이러한 명령은 기본 네임스페이스 "netapp-monitoring"을 사용하고 있습니다. 고유한 네임스페이스를 설정한 경우 이 명령과 이후의 모든 명령 및 파일에서 해당 네임스페이스를 대체합니다.

참고: 최신 NetApp Kubernetes Monitoring Operator가 설치되어 있고 갱신 가능한 API 액세스 토큰을 사용하는 경우 만료된 토큰은 새롭거나 갱신된 API 액세스 토큰으로 자동으로 대체됩니다. 아래 나열된 수동 단계를 수행할 필요는 없습니다.

  • 새로운 API 토큰을 만듭니다.

  • 다음 단계를 따르세요."수동 업그레이드" 새로운 API 토큰을 선택합니다.

참고: Kustomize와 같은 구성 관리 도구를 사용하여 NetApp Kubernetes Monitoring Operator를 관리하는 고객은 동일한 단계에 따라 업데이트된 YAML 세트를 생성하고 다운로드하여 저장소에 푸시할 수 있습니다.

RHEL/CentOS 및 Debian/Ubuntu

  • Telegraf 구성 파일을 편집하고 이전 API 토큰의 모든 인스턴스를 새 API 토큰으로 바꿉니다.

     sudo sed -i.bkup ‘s/<OLD_API_TOKEN>/<NEW_API_TOKEN>/g’ /etc/telegraf/telegraf.d/*.conf
    * Telegraf를 다시 시작합니다.
    sudo systemctl restart telegraf

Windows

  • _C:\Program Files\telegraf\telegraf.d_에 있는 각 Telegraf 구성 파일에 대해 이전 API 토큰의 모든 인스턴스를 새 API 토큰으로 바꿉니다.

    cp <plugin>.conf <plugin>.conf.bkup
    (Get-Content <plugin>.conf).Replace(‘<OLD_API_TOKEN>’, ‘<NEW_API_TOKEN>’) | Set-Content <plugin>.conf
  • Telegraf를 다시 시작합니다.

    Stop-Service telegraf
    Start-Service telegraf