Skip to main content
Data Infrastructure Insights
日本語は機械翻訳による参考訳です。内容に矛盾や不一致があった場合には、英語の内容が優先されます。

Data Infrastructure InsightsAPI

共同作成者 netapp-alavoie dgracenetapp

Data Infrastructure Insights API を使用すると、 NetApp の顧客と独立系ソフトウェア ベンダー (ISV)は、Data Infrastructure Insights をCMDB や他のチケット システムなどの他のアプリケーションと統合できます。

Data Infrastructure Insights"機能セットの役割"アクセスできる API を決定します。ユーザー ロールとゲスト ロールには、管理者ロールよりも権限が少なくなります。たとえば、Monitor and 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 を使用する前に、1 つ以上の 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 コマンドは、オブジェクトに関する追加の詳細または関連オブジェクトの URL を提供する expand パラメータをサポートしています。

共通する展開パラメータは expands です。応答には、オブジェクトに使用可能なすべての特定の展開のリストが含まれます。

たとえば、次のように要求するとします。

 https://<tenant>/rest/v1/assets/storages/2782?expand=_expands
API は次のように、オブジェクトの利用可能なすべての展開を返します。

例を拡張する

各展開には、データ、URL、またはその両方が含まれます。 expand パラメータは、複数のネストされた属性をサポートします。例:

 https://<tenant>/rest/v1/assets/storages/2782?expand=performance,storageResources.storage
展開を使用すると、1 つの応答で多くの関連データを取り込むことができます。  NetApp、一度に大量の情報を要求しないようにアドバイスしています。これにより、パフォーマンスが低下する可能性があります。

これを防ぐために、最上位レベルのコレクションのリクエストは拡張できません。たとえば、すべてのストレージ オブジェクトのデータ拡張を一度に要求することはできません。クライアントはオブジェクトのリストを取得し、展開する特定のオブジェクトを選択する必要があります。

パフォーマンス データ

パフォーマンス データは、多数のデバイスにわたって個別のサンプルとして収集されます。 Data Infrastructure Insights は、1 時間ごとに (デフォルト) パフォーマンス サンプルを集計して要約します。

API を使用すると、サンプルと要約データの両方にアクセスできます。パフォーマンス データを持つオブジェクトの場合、パフォーマンスの概要は expand=performance として利用できます。パフォーマンス履歴の時系列は、ネストされた expand=performance.history を通じて利用できます。

パフォーマンス データ オブジェクトの例には次のようなものがあります。

  • ストレージパフォーマンス

  • ストレージプールパフォーマンス

  • ポートパフォーマンス

  • ディスクパフォーマンス

パフォーマンス メトリックには説明とタイプがあり、パフォーマンス サマリーのコレクションが含まれています。たとえば、レイテンシ、トラフィック、レートなどです。

パフォーマンス サマリーには、説明、単位、サンプルの開始時刻、サンプルの終了時刻、および時間範囲 (1 時間、24 時間、3 日間など) にわたって単一のパフォーマンス カウンターから計算された集計値 (現在値、最小値、最大値、平均値など) のコレクションが含まれます。

APIパフォーマンスの例

結果として得られるパフォーマンス データ ディクショナリには、次のキーが含まれます。

  • 「self」はオブジェクトの一意のURLです

  • 「履歴」はタイムスタンプとカウンタ値のマップのペアのリストです。

  • その他のすべての辞書キー (「diskThroughput」など) は、パフォーマンス メトリックの名前です。

各パフォーマンス データ オブジェクト タイプには、固有のパフォーマンス メトリックのセットがあります。たとえば、仮想マシン パフォーマンス オブジェクトは、パフォーマンス メトリックとして「diskThroughput」をサポートします。サポートされている各パフォーマンス メトリックは、メトリック ディクショナリに提示される特定の「performanceCategory」に属します。 Data Infrastructure Insights は、このドキュメントの後半にリストされているいくつかのパフォーマンス メトリック タイプをサポートしています。各パフォーマンス メトリック ディクショナリには、このパフォーマンス メトリックの人間が判読できる説明である「説明」フィールドと、パフォーマンス サマリー カウンター エントリのセットも含まれます。

パフォーマンス サマリー カウンターは、パフォーマンス カウンターを要約したものです。カウンターの最小値、最大値、平均値などの一般的な集計値と、最新の観測値、要約データの時間範囲、カウンターの単位タイプ、データのしきい値が表示されます。しきい値のみがオプションであり、残りの属性は必須です。

パフォーマンス サマリーは、次の種類のカウンターで利用できます。

  • 読み取り – 読み取り操作の概要

  • 書き込み – 書き込み操作の概要

  • 合計 – すべての操作の概要。読み取りと書き込みの単純な合計よりも高くなる場合があり、他の操作が含まれることもあります。

  • 合計最大値 – すべての操作の概要。これは指定された時間範囲内の最大合計値です。

オブジェクトパフォーマンスメトリック

API は、テナント上のオブジェクトの詳細なメトリックを返すことができます。次に例を示します。

  • IOPS (1 秒あたりの入出力要求数)、レイテンシ、スループットなどのストレージ パフォーマンス メトリック。

  • トラフィック使用率、BB クレジット ゼロ データ、ポート エラーなどのスイッチ パフォーマンス メトリック。

参照"API Swaggerドキュメント"各オブジェクト タイプのメトリックに関する情報。

パフォーマンス履歴データ

履歴データは、タイムスタンプとカウンター マップのペアのリストとしてパフォーマンス データ内に表示されます。

履歴カウンターは、パフォーマンス メトリック オブジェクト名に基づいて名前が付けられます。たとえば、仮想マシンのパフォーマンス オブジェクトは「diskThroughput」をサポートしているため、履歴マップには「diskThroughput.read」、「diskThroughput.write」、「diskThroughput.total」という名前のキーが含まれます。

メモ タイムスタンプは UNIX 時間形式です。

以下は、ディスクのパフォーマンス データ JSON の例です。

ディスクパフォーマンスJSON

容量属性を持つオブジェクト

容量属性を持つオブジェクトは、基本データ型と CapacityItem を使用して表現します。

容量項目

CapacityItem は単一の論理容量単位です。親オブジェクトによって定義された単位で「value」と「highThreshold」を持ちます。また、容量値の構築方法を説明するオプションの内訳マップもサポートしています。たとえば、100 TB のストレージ プールの合計容量は、値が 100 の CapacityItem になります。内訳には、「データ」に 60 TB、「スナップショット」に 40 TB が割り当てられていることが示される場合があります。

注: 「highThreshold」は、対応するメトリックのシステム定義のしきい値を表します。クライアントはこれを使用して、許容される構成範囲外の値に対してアラートまたは視覚的なキューを生成できます。

以下は、複数の容量カウンターを持つ StoragePool の容量を示しています。

ストレージプール容量の例

検索を使用してオブジェクトを検索する

検索 API はシステムへのシンプルなエントリ ポイントです。 API への唯一の入力パラメータは自由形式の文字列であり、結果の JSON には分類された結果リストが含まれます。タイプは、ストレージ、ホスト、データストアなど、インベントリとは異なる資産タイプです。各タイプには、検索条件に一致するタイプのオブジェクトのリストが含まれます。

Data Infrastructure Insights は、サードパーティのオーケストレーション、ビジネス管理、変更管理、チケット発行システム、およびカスタム CMDB 統合との統合を可能にする拡張可能な (オープンな) ソリューションです。

Cloud Insight の RESTful API は、データのシンプルかつ効率的な移動を可能にするとともに、ユーザーがデータにシームレスにアクセスできるようにする主要な統合ポイントです。

APIトークンの無効化または取り消し

API トークンを一時的に無効にするには、API トークン リスト ページで、API の「3 つのドット」メニューをクリックし、「無効」を選択します。同じメニューを使用して [有効にする] を選択すると、いつでもトークンを再度有効にすることができます。

API トークンを完全に削除するには、メニューから「取り消し」を選択します。取り消されたトークンを再度有効にすることはできません。新しいトークンを作成する必要があります。

APIトークンの無効化または取り消し

期限切れのAPIアクセストークンのローテーション

API アクセス トークンには有効期限があります。 API アクセス トークンの有効期限が切れると、ユーザーは新しいトークン (読み取り/書き込み権限を持つ データ インジェスチョン タイプ) を生成し、期限切れのトークンの代わりに新しく生成されたトークンを使用するように Telegraf を再構成する必要があります。その方法については、以下の手順で詳しく説明します。

Kubernetes

これらのコマンドはデフォルトの名前空間「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