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

Cloud Insights API를 참조하십시오

기여자

Cloud Insights API를 통해 NetApp 고객 및 ISV(독립 소프트웨어 공급업체)는 Cloud Insights를 CMDB 또는 기타 티켓 시스템과 같은 다른 애플리케이션과 통합할 수 있습니다.

Cloud Insights API는 현재 버전을 기반으로 사용할 수 있습니다.

API 유형 기본 표준 프리미엄

획득 장치

데이터 수집

경고

자산

데이터 수집

로그 수집

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

API 액세스에 대한 요구 사항

  • 액세스 권한을 부여하기 위해 API 액세스 토큰 모델이 사용됩니다.

  • API 토큰 관리는 관리자 역할을 가진 Cloud Insights 사용자가 수행합니다.

API 설명서(Swagger)

최신 API 정보는 Cloud Insights에 로그인하고 * 관리자 > API 액세스 * 로 이동하여 확인할 수 있습니다. API Documentation * 링크를 클릭합니다.

API 유형

API 설명서는 Swagger 기반의 API에 대한 간단한 설명과 사용 정보를 제공하며, 사용자 환경에서 사용할 수 있습니다. 사용자 역할 및/또는 Cloud Insights 버전에 따라 사용 가능한 API 유형이 다를 수 있습니다.

API Swagger 예

API 액세스 토큰

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

액세스 토큰을 만들려면 다음을 수행합니다.

  • Admin > API Access * 를 클릭합니다

  • API 액세스 토큰 * 을 클릭합니다

    • 토큰 이름을 입력하십시오

    • API 유형을 선택합니다

    • 이 API 액세스에 대해 부여된 권한을 지정합니다

    • 토큰 만료 지정

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

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

토큰은 고객의 관점에서 API에 대한 범용 액세스를 허용하며, 자신의 테넌트의 범위에서 API에 대한 액세스를 관리합니다. 고객 관리자는 Cloud 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 유형

Cloud Insights API는 범주 기반이며 현재 다음 유형이 포함되어 있습니다.

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

    • 자산: 최상위 객체를 열거하고 특정 오브젝트 또는 오브젝트 계층을 검색합니다.

    • 쿼리: Cloud Insights 쿼리 검색 및 관리

    • 가져오기: 주석이나 응용 프로그램을 가져와 개체에 할당합니다

    • 검색: 개체의 고유 ID 또는 전체 이름을 모르는 상태에서 특정 개체를 찾습니다.

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

  • 데이터 수집 유형은 텔레그라프 에이전트와 같은 수집 데이터와 사용자 지정 메트릭을 검색 및 관리하는 데 사용됩니다

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

시간이 지나면 추가 유형 및/또는 API를 사용할 수 있습니다. 최신 API 정보는 에서 확인할 수 있습니다 "API Swagger 문서".

사용자가 액세스할 수 있는 API 유형도 에 따라 다릅니다 "사용자 역할" 각 Cloud Insights 기능 세트(모니터링, 워크로드 보안, 보고)에 있습니다.

재고 탐색

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

상위 수준 개체

개별 개체는 고유 URL( JSON의 "자체")을 통해 요청에서 식별되며 개체 유형 및 내부 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

하위 및 관련 개체

Storage 와 같은 최상위 개체를 사용하여 다른 자식 및 관련 개체를 이동할 수 있습니다. 예를 들어, 특정 스토리지에 대한 모든 디스크를 검색하려면 스토리지 "자체" URL을 "/disks"와 연결합니다. 예를 들면 다음과 같습니다.

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

확장

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

일반적인 확장 매개 변수 중 하나는 _ Expand _ 입니다. 응답에는 객체에 대해 사용 가능한 모든 특정 확장 목록이 포함됩니다.

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

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

예제를 확장합니다

각 확장에는 데이터, URL 또는 둘 다 포함됩니다. Expand 매개 변수는 다음과 같은 여러 가지 및 중첩 특성을 지원합니다.

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

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

성능 데이터

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

API를 사용하면 샘플과 요약된 데이터에 모두 액세스할 수 있습니다. 성능 데이터가 있는 개체의 경우 성능 요약을 _EXPORTED=performance_로 사용할 수 있습니다. 성능 기록 시간 시리즈는 nested_expand=performance.history_를 통해 사용할 수 있습니다.

성능 데이터 오브젝트의 예는 다음과 같습니다.

  • 스토리지성능

  • StoragePoolPerformance

  • PortPerformance(포트 성능)

  • 디스크 성능

성능 메트릭에는 설명 및 유형이 있으며 성능 요약 컬렉션이 포함되어 있습니다. 예: 지연 시간, 트래픽 및 속도.

성능 요약에는 시간 범위(1시간, 24시간, 3일 등)에 대해 단일 성능 카운터를 사용하여 계산된 설명, 단위, 샘플 시작 시간, 샘플 종료 시간 및 요약된 값(현재, 최소, 최대, 평균 등)의 모음이 있습니다.

API 성능 예

결과 Performance Data 사전에는 다음과 같은 키가 있습니다.

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

  • "기록"은 카운터 값의 타임 스탬프 및 맵 쌍 목록입니다

  • 다른 모든 사전 키("diskThroughput" 등)는 성능 메트릭의 이름입니다.

각 성능 데이터 오브젝트 유형에는 고유한 성능 메트릭 세트가 있습니다. 예를 들어, 가상 머신 성능 개체는 성능 메트릭으로 "diskThroughput"을 지원합니다. 지원되는 각 성능 메트릭은 메트릭 사전에 나와 있는 특정 "성능 범주"입니다. Cloud Insights는 이 문서 뒷부분의 여러 성능 메트릭 유형을 지원합니다. 각 성능 메트릭 사전에는 이 성능 메트릭에 대한 사람이 읽을 수 있는 설명과 성능 요약 카운터 항목 집합인 "설명" 필드도 있습니다.

성능 요약 카운터는 성능 카운터의 요약입니다. 카운터에 대한 최소, 최대 및 평균 등의 일반적인 집계 값과 최근 관찰 값, 요약 데이터에 대한 시간 범위, 카운터에 대한 단위 유형 및 데이터에 대한 임계값을 제공합니다. 임계값은 선택 사항이므로 나머지 속성은 필수입니다.

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

  • 읽기 – 읽기 작업에 대한 요약입니다

  • Write – 쓰기 작업의 요약입니다

  • 총계 - 모든 작업의 요약입니다. 읽기 및 쓰기의 단순한 합계보다 높을 수 있으며 다른 작업도 포함될 수 있습니다.

  • Total Max – 모든 작업에 대한 요약입니다. 지정된 시간 범위의 최대 총 값입니다.

객체 성과 지표

API는 사용자 환경의 객체에 대한 세부 메트릭을 반환할 수 있습니다. 예를 들면 다음과 같습니다.

  • IOPS(초당 입출력 요청 수), 지연 시간 또는 처리량과 같은 스토리지 성능 메트릭

  • 트래픽 활용률, BB Credit Zero 데이터 또는 포트 오류와 같은 스위치 성능 메트릭

를 참조하십시오 "API Swagger 문서" 각 오브젝트 유형에 대한 메트릭에 대한 정보를 참조하십시오.

성능 기록 데이터

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

기록 카운터는 성능 메트릭 개체 이름을 기반으로 명명됩니다. 예를 들어, 가상 시스템 성능 개체는 "diskThroughput"을 지원하므로 기록 맵에는 "diskThroughput.read", "diskThroughput.write" 및 "diskThroughput.total"이라는 키가 포함됩니다.

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

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

디스크 성능 JSON

용량 특성이 있는 오브젝트

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

용량 항목

용량항목은 단일 논리 용량 단위입니다. 이 개체의 상위 개체에 의해 정의된 단위로 "값"과 "상위 임계값"이 있습니다. 또한 용량 값의 구성 방법을 설명하는 선택적 분석 맵을 지원합니다. 예를 들어 100TB StoragePool의 총 용량은 100의 값을 갖는 CapacityItem입니다. 이 분석 결과는 "데이터"에 할당된 60TB 및 "스냅샷"에 대해 40TB로 표시될 수 있습니다.

참고

"HighThreshold"는 해당 메트릭의 시스템 정의 임계값을 나타내며, 클라이언트는 이 임계값을 사용하여 허용되는 구성 범위를 벗어난 값에 대한 경고 또는 시각적 신호를 생성할 수 있습니다.

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

스토리지 풀 용량 예

검색을 사용하여 개체를 검색합니다

검색 API는 시스템에 대한 간단한 진입점입니다. API에 대한 유일한 입력 매개 변수는 자유 형식 문자열이며 결과 JSON에는 분류된 결과 목록이 포함되어 있습니다. 유형은 스토리지, 호스트, 데이터 저장소 등과 같이 인벤토리에서 서로 다른 자산 유형입니다. 각 형식에는 검색 조건과 일치하는 형식의 개체 목록이 포함됩니다.

Cloud Insights는 타사 오케스트레이션, 비즈니스 관리, 변경 제어 및 티켓 시스템과 사용자 정의 CMDB 통합을 지원하는 확장 가능한 개방형 솔루션입니다.

Cloud Insight의 RESTful API는 데이터를 간단하고 효과적으로 이동할 수 있을 뿐 아니라 사용자가 데이터에 원활하게 액세스할 수 있도록 하는 기본적인 통합 지점입니다.

API 토큰 비활성화 또는 해지

API 토큰을 일시적으로 비활성화하려면 API 토큰 목록 페이지에서 API에 대한 "점 3개" 메뉴를 클릭하고 _Disable_을 선택합니다. 언제든지 같은 메뉴를 사용하여 _Enable_을 선택하여 토큰을 다시 활성화할 수 있습니다.

API 토큰을 영구적으로 제거하려면 메뉴에서 "해지"를 선택합니다. 해지된 토큰은 다시 사용할 수 없습니다. 새 토큰을 만들어야 합니다.

API 토큰을 비활성화하거나 해제합니다

만료된 API 액세스 토큰 회전

API 액세스 토큰의 만료 날짜가 있습니다. API 액세스 토큰이 만료되면 사용자는 읽기/쓰기 권한이 있는 Data 수집 유형의 새 토큰을 생성하고 만료된 토큰 대신 새로 생성된 토큰을 사용하도록 텔레그라프를 다시 구성해야 합니다. 아래 단계에서는 이 작업을 수행하는 방법을 자세히 설명합니다.

쿠버네티스

이러한 명령은 기본 네임스페이스 "NetApp-모니터링"을 사용합니다. 고유한 네임스페이스를 설정한 경우 이러한 네임스페이스 및 모든 후속 명령 및 파일로 대체합니다.

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

  • NetApp Kubernetes Monitoring Operator를 편집합니다.

     kubectl -n netapp-monitoring edit agent agent-monitoring-netapp
    * 이전 API 토큰을 새 API 토큰으로 대체하여 _spec.output-sink.api-key_value를 수정합니다.
    spec:
    …
      output-sink:
      - api-key:<NEW_API_TOKEN>

RHEL/CentOS 및 Debian/Ubuntu

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

     sudo sed -i.bkup ‘s/<OLD_API_TOKEN>/<NEW_API_TOKEN>/g’ /etc/telegraf/telegraf.d/*.conf
    * 텔레그라프를 다시 시작합니다.
    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
  • 텔레그라프를 다시 시작합니다.

    Stop-Service telegraf
    Start-Service telegraf