Data Infrastructure Insights API
資料基礎架構洞見 API 可讓 NetApp 客戶和獨立軟體廠商( ISV )將資料基礎架構洞見與其他應用程式(例如 CMDB 或其他票證系統)整合。
您的 Data Infrastructure Insights "功能集角色" 將決定您可以存取哪些 API 。使用者和來賓角色的權限比管理員角色少。例如、如果您在「監控與最佳化」中扮演「系統管理員」角色、但「報告」中的「使用者」角色、則您可以管理除「資料倉儲」以外的所有API類型。
API存取需求
-
API存取權杖模式用於授予存取權。
-
API Token 管理由 Data Infrastructure Insights 使用者執行、其角色為管理員。
API文件(Swagger)
登入 Data Infrastructure Insights 並瀏覽至 * 管理 > API Access * 即可找到最新的 API 資訊。按一下「* API Documentation ( API文件*)」連結。
API文件是以Swagger為基礎、提供API的簡短說明與使用資訊、並可讓您在環境中試用。視您的使用者角色和 / 或 Data Infrastructure Insights 版本而定、您可使用的 API 類型可能會有所不同。
API存取權杖
在使用 Data Infrastructure Insights API 之前、您必須先建立一個或多個 * API Access Tokens* 。存取權杖用於指定的API類型、並可授予讀取和/或寫入權限。您也可以設定每個存取權杖的到期日。指定類型下的所有API都對存取權杖有效。每個權杖的使用者名稱或密碼都無效。
若要建立存取權杖:
-
按一下「管理> API存取」
-
按一下「+ API存取權杖」
-
輸入Token名稱
-
選取「API類型」
-
指定授予此API存取的權限
-
指定權杖過期時間
-
您的權杖只能在建立程序期間複製到剪貼簿並儲存。建立權杖之後、就無法擷取這些權杖、因此強烈建議您複製權杖、並將其儲存在安全的位置。系統會提示您按一下「複製API存取權杖」按鈕、然後再關閉權杖建立畫面。 |
您可以停用、啟用及撤銷權杖。停用的權杖可以啟用。
權杖可從客戶的角度授予API一般用途存取權限、並管理其租戶範圍內的API存取權限。客戶管理員可在沒有 Data Infrastructure Insights 後端人員直接參與的情況下、授予及撤銷這些權杖。
應用程式會在使用者成功驗證及授權存取後、收到存取權杖、然後在呼叫目標API時、將存取權杖作為認證。傳遞的權杖會通知API、該權杖的承載已獲授權存取API、並執行授權期間所授予範圍所指定的特定動作。
傳遞存取權杖的HTTP標頭為* X-CloudInsights:Apikes*。
例如、使用下列項目來擷取儲存資產:
curl https://<tenant_host_name>/rest/v1/assets/storages -H 'X-CloudInsights-ApiKey:<API_Access_Token>' 其中、_<API_Access_Token >>是您在API存取建立期間儲存的權杖。
請參閱「瀏覽器」頁面、以取得您要使用的 API 特定範例。
API 類型
Data Infrastructure Insights API 是以類別為基礎、目前包含下列類型:
-
資產類型包含資產、查詢及搜尋API。
-
資產:列舉頂層物件、並擷取特定物件或物件階層。
-
查詢:擷取及管理 Data Infrastructure Insights 查詢。
-
匯入:匯入註釋或應用程式、並將其指派給物件
-
搜尋:找出特定物件而不知道物件的唯一ID或完整名稱。
-
-
資料收集類型用於擷取及管理資料收集器。
-
資料擷取類型可用來擷取及管理擷取資料和自訂指標、例如從Telegraf代理程式擷取和管理
-
記錄擷取用於擷取及管理記錄資料
其他類型和/或API可能會隨時間提供。您可以在中找到最新的 API 資訊"API Swagger文件"。
請注意、使用者可存取的 API 類型也取決於"使用者角色"每個 Data Infrastructure Insights 功能集(監控、工作負載安全、報告)中的 API 類型。
庫存遍歷
本節說明如何周遊 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
子物件和相關物件
頂層物件(例如Storage)可用於周遊至其他子物件和相關物件。例如、若要擷取特定儲存設備的所有磁碟、請將儲存設備「自我」URL與「/磁碟」串連、例如:
https://<tenant>/rest/v1/assets/storages/4537/disks
擴充
許多API命令都支援*擴充*參數、提供相關物件的物件或URL相關詳細資料。
常用的擴充參數是_expansion。回應包含物件所有可用的特定擴充清單。
例如、當您要求下列項目時:
https://<tenant>/rest/v1/assets/storages/2782?expand=_expands API會傳回物件的所有可用擴充、如下所示:
每個擴充都包含資料、URL或兩者。Expand參數支援多個和巢狀屬性、例如:
https://<tenant>/rest/v1/assets/storages/2782?expand=performance,storageResources.storage 「擴充」可讓您在單一回應中輸入大量相關資料。NetApp建議您不要同時要求太多資訊、這可能會導致效能降低。
為了阻止這種情況、無法擴大對頂層集合的要求。例如、您無法一次要求所有儲存物件的擴充資料。用戶端必須擷取物件清單、然後選擇要展開的特定物件。
效能資料
效能資料會在多個裝置之間收集、做為個別的範例。資料基礎架構 Insights 每小時(預設)彙總並彙總效能範例。
API可讓您存取範例和摘要資料。對於具有效能資料的物件、效能摘要可提供為_expand =效能_。效能歷程記錄時間系列可透過巢狀_expansion =效能.history _取得。
效能資料物件的範例包括:
-
儲存效能
-
StoragePoolPerformance
-
PortPerformance
-
磁碟效能
效能指標有說明和類型、並包含效能摘要的集合。例如、延遲、流量和速率。
「效能摘要」包含說明、單位、樣本開始時間、範例結束時間、以及從單一效能計數器在一段時間範圍內(1小時、24小時、3天等)計算出的彙總值(目前、最小、最大、平均等)集合。
產生的效能資料字典有下列機碼:
-
「自我」是物件的唯一URL
-
「歷程記錄」是時間戳記配對清單及計數器值對應清單
-
每個其他的字典金鑰(「磁碟處理量」等)都是效能指標的名稱。
每種效能資料物件類型都有一組獨特的效能指標。例如、虛擬機器效能物件支援「磁碟處理量」作為效能指標。每個支援的效能指標都是指標字典中所顯示的特定「效能類別」。Data Infrastructure Insights 支援本文件稍後所列的數種效能指標類型。每個效能指標字典也會有「說明」欄位、此欄位是人類可讀取的效能指標說明、以及一組效能摘要計數器項目。
「效能摘要」計數器是效能計數器的摘要。它會顯示典型的彙總值、例如計數器的最小值、最大值和平均值、以及最新觀察值、彙總資料的時間範圍、計數器的單位類型和資料臨界值。只有臨界值為選用項目、其餘屬性為必填項目。
這些類型的計數器均提供效能摘要:
-
閱讀–讀取作業摘要
-
寫入–寫入作業的摘要
-
總計–所有作業的摘要。它可能高於簡單的讀寫總和、可能包括其他作業。
-
總計上限–所有作業的摘要。這是指定時間範圍內的最大總計值。
物件效能指標
API可傳回環境中物件的詳細度量、例如:
-
儲存效能指標、例如IOPS(每秒輸入/輸出要求數)、延遲或處理量。
-
交換器效能指標、例如流量使用率、零點數資料或連接埠錯誤。
如需每種物件類型的度量資訊,請參閱"API Swagger文件"。
效能歷程記錄資料
歷史記錄資料會以時間戳記和計數器對應配對的清單形式顯示在效能資料中。
歷史記錄計數器是根據效能指標物件名稱來命名。例如、虛擬機器效能物件支援「磁碟處理量」、因此歷程記錄對應會包含名為「diskThroued.read」、「diskThroued.write」和「diskThroued.Total」的機碼。
時間戳記為UNIX時間格式。 |
以下是磁碟效能資料Json的範例:
具有容量屬性的物件
具有容量屬性的物件會使用基本資料類型和電容項目來表示。
電容項目
CapacityItem是單一邏輯容量單位。其父物件所定義的單位為「Value(值)」和「highThreshold(高臨界值)」。它也支援選用的明細圖、說明如何建構容量值。例如、100 TB storagePool的總容量為值100的電容項目。細項資料可能顯示已配置給「資料」的60 TB及「快照」的40 TB。
- 附註
-
「高臨界值」代表對應度量的系統定義臨界值、用戶端可用來針對超出可接受設定範圍的值產生警示或視覺提示。
以下顯示具有多個容量計數器的StoragePools容量:
使用搜尋來查詢物件
搜尋API是系統的簡單入口點。API的唯一輸入參數是自由格式字串、而產生的Json則包含分類結果清單。類型與庫存不同、例如儲存設備、主機、資料存放區等。每種類型都會包含符合搜尋條件的物件類型清單。
Data Infrastructure Insights 是可延伸的(開放式)解決方案、可整合協力廠商協調、業務管理、變更控制和票證系統、以及自訂 CMDB 整合功能。
Cloud Insight的RESTful API是整合的主要點、可讓使用者輕鬆有效地移動資料、並讓使用者無縫存取資料。
停用或撤銷API權杖
若要暫時停用API權杖、請在API權杖清單頁面上、按一下API的「三個點」功能表、然後選取「Disable」。您可以隨時使用相同的功能表重新啟用權杖、然後選取_Enable_。
若要永久移除API權杖、請從功能表中選取「撤銷」。您無法重新啟用撤銷的權杖、必須建立新的權杖。
正在循環過期的API存取權杖
API存取權杖有到期日。當API存取權杖過期時、使用者需要產生新的權杖(具有讀取/寫入權限的_Data擷取_類型)、然後重新設定Telegraf、以使用新產生的權杖、而非過期的權杖。以下步驟詳細說明如何執行此作業。
Kubernetes
請注意、這些命令使用預設命名空間「NetApp-Monitoring」。如果您已設定自己的命名空間、請在這些名稱空間以及所有後續命令和檔案中取代該命名空間。
附註:如果您已安裝最新的NetApp Kubernetes監控操作員、並使用可續約的API存取權杖、即將到期的權杖將自動由新的/重新整理的API存取權杖取代。不需要執行下列手動步驟。
-
編輯NetApp Kubernetes監控操作員。
kubectl -n netapp-monitoring edit agent agent-monitoring-netapp * 修改_spec.output-sink .ap-key_值、以新的API權杖取代舊的API權杖。
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 * 重新啟動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