NetWorker REST API 分派指南

Summary: 本知識文章提供 RESTAPI 相關問題的基本故障診斷概觀。

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Instructions

NetWorker REST API 分派指南

YouTube 上觀看

Additional Information

開始使用


具象狀態傳輸 (REST) 應用程式設計介面 (API) 以程式設計方式提供對 NetWorker 資料保護服務的存取。NetWorker 使用者可以使用 REST API,建立用戶端應用程式,以自動化 NetWorker 作業。NetWorker REST API 會作為 NetWorker 伺服器安裝的一部分安裝在與 NetWorker 驗證服務相同的 Apache tomcat 容器中。驗證是使用 NetWorker Management Console 所使用的相同登入資料完成。  

REST API 允許與統一資源識別碼 (URI) 位址標識的資源進行交互。它使用 HTTP 謂詞(HEAD、GET、PUT、POST、DELETE)以無狀態方式與統一資源標識碼 (URI) 交互(伺服器不包含客戶端狀態,每條消息都是自我描述的)。

本文件說明如何使用使用者編寫的 REST API 呼叫與 NetWorker 資源進行互動。不要與後端 NetWorker 作業使用的 REST API 呼叫混淆。
 

連線至 NetWorker:

有幾種不同的 REST API 用戶端技術可用於運行命令以連接到 NetWorker;包括 curl 命令 (Linux)、PowerShell Invoke-WebRequest (Windows) 和 REST API 用戶端瀏覽器擴充。

連線需要三個標頭:   
  • 內容類型:application/json
  • 接受:application/json
  • 授權:基本,使用 Base 64 編碼的使用者名稱和密碼

在多個 NetWorker 資料區透過單一 NetWorker AUTHC 伺服器進行驗證的環境中,需要額外的標頭:

  • X-NW-AUTHC-BASE-URL:AUTHC_HOSTNAME_OR_IPAUTHC_PORT
預設的 AUTHC 連接埠為連接埠 9090。此標頭的用法詳見:RESTAPI:處理 RESTAPI 要求時,如何使用遠端 AUTHC 伺服器?

NetWorker REST API 會以下列基本 URI 公開:

https://[nw-server-hostname]:9090/nwrestapi/
有不同的 API 版本。自 REST API 一開始實作以來,我們已推出增強功能。例如:
https://[nw-server-hostname]:9090/nwrestapi/v1
https://[nw-server-hostname]:9090/nwrestapi/v2
https://[nw-server-hostname]:9090/nwrestapi/v3

完整的 json 架構可在以下位置取得:

https://[nw-server-hostname]:9090/nwrestapi/v3/schemas/swagger.json

REST API 回應代碼:
 
成功回應代碼
成功代碼 適用於 HTTP 方法 回應內文內容 說明
200 抓取 資源表示。 確定。導致此 HTTP 狀態的操作在有效負載中攜帶資源表示形式。
201 POST 空白回應。 已創建。此狀態表示已創建新資源或預期作業,並且可以從回應中的位置標頭訪問其關聯的URL。
202 POST 回應中的詳細資訊。 已接受。這表示已接受 API 要求。有效負載指示可從回應中的位置標頭訪問跟蹤資源實例的URL。
204 放置/刪除 空白回應。 無內容。狀態表示執行的操作成功。但是,沒有其他詳細資訊可以提供。
 
錯誤回應代碼
錯誤代碼 說明
400 錯誤需求。
401 認證無效。
403 權限不足。
404 找不到資源。
405 不允許的方法。
406 指定的區域設置無效。
500 內部伺服器錯誤。


REST API 功能

支援的 HTTP 方法
HTTP 方法 動作 說明
抓取 讀取 獲取資源表示形式。
POST 建立 創建新資源。
更新 更新現有資源。
刪除 移除 刪除現有資源。


一些例子:

GET

 

列出所有用戶端。                                            

https://[nw-server-hostname]:9090/nwrestapi/v3/global/clients

僅限一個用戶端,僅顯示三個欄位 (主機名稱、集區集和保護群組)      

https://[nw-server-hostname]:9090/nwrestapi/v3/global/clients?fl=hostname,saveSets,protectionGroups&q=hostname:nwserver121

列出一個用戶端所在的保護組。     

https://[nw-server-hostname]:9090/nwrestapi/v3/global/clients?fl=protectionGroups&q=hostname:nwserver121

顯示目前的警示。                                     

https://[nw-server-hostname]:9090/nwrestapi/v3/global/alerts

顯示最近失敗的工作。                               

https://[nw-server-hostname]:9090/nwrestapi/v3/global/jobs?q=completionStatus:"Failed"&fl=clientHostname,startTime,name,message

列出一個原則中的工作流程 (在此範例中名為 WinFS )。                   

https://[nw-server-hostname]:9090/nwrestapi/v3/global/protectionpolicies/WinFS/workflows

僅列出一個存儲集實例的屬性(由用戶端主機名和存儲集定義)。      

https://[nw-server-hostname]:9090/nwrestapi/v3/global/clients?q=hostname:vm-lego-231 and saveSets:"/etc"

POST:

啟動工作流操作。                                 

https://[nw-server-hostname]:9090/nwrestapi/v3/global/protectionpolicies/Angela/workflows/WinFS/op/backup
                                                      JSON Body: 
                                                      {
                                                       }

創建新的客戶端實例(除列出的四個屬性之外的所有屬性都具有預設值)。           

https://[nw-server-hostname]:9090/nwrestapi/v3/global/clients  
                                                     JSON Body 
                                                     {    
            "hostname": "vm-lego-231",
            "backupType": "Filesystem",
            "saveSets": [ "/etc" ],
            "protectionGroups" : [ "LinuxFS" ]
                                                          


支援時所需的資訊


環境:

  • NetWorker 伺服器名稱
  • NetWorker 版本和組建編號
  • NetWorker 伺服器主機作業系統類型和版本
Linux:
hostname
strings /usr/sbin/nsrd | grep -i "(#)"
cat /etc/*release
uname -a

Windows:

nsrwatch
問題詳細資料:
  • 說明正在執行的 REST API 作業 (GET、POST、PUT、DELETE)、使用的 URI、任何 JSON 內文內容 (若適用)。 
  • REST API 回應代碼與提供的任何錯誤訊息。
  • REST API 用戶端與 NetWorker 之間的初始連線和授權是否成功?
記錄收集:
  • 從 NetWorker 伺服器呈現daemon.raw記錄檔:
  • 來自 NetWorker 伺服器的 REST API 記錄:  /nsr/logs/restapi (linux) 或 EMC NetWorker\nsr\logs\restapi (Windows)
  • 如需驗證問題,請參閱在 /nsr/authc/logs (linux) 或 . 中的標準 NetWorker 驗證記錄。\EMC NetWorker\nsr\authc-server\tomcat\logs (Windows)
除錯:
在更複雜的問題中,可能需要 REST API 調試。可以依照下列項目啟用除錯:NetWorker:如何啟用 REST API 除錯

效能
如果問題與 RESTAPI 效能有關,您可以使用下列選項來追蹤 API 呼叫所使用的 nsrtomc+ 程序資源耗用。

Linux:  
top -b | awk '/nsrtomc+/ {print strftime("%Y-%m-%d-%H:%M:%S", systime()), $0}'

此輸出顯示標準頂部輸出,但具有人類可讀的時間戳。這可用於檢閱程序的 CPU 和記憶體耗用情況,以及在進行 REST 呼叫時,程序處於特定狀態的時間。這可以與restapi.log和 AUTHC 日誌進行比較,以查看進行了哪些呼叫以及發出的頻率。
 

Windows:若為 Windows Server,您必須安裝類似「Performance Monitor:

1.以系統管理員身分開啟 效能監視器
2.從左窗格中展開監視工具,然後選取效能監視器。
3.在右窗格內按一下滑鼠右鍵,然後選取移除所有計數器
4.在右窗格內按一下滑鼠右鍵,然後選取新增計數器
5.在可用計數器下,展開記憶體,選取 % 認可位元組,然後按一下新增
6.在「記憶體」下, 選取可用的位元組,然後按一下新增
7.在可用的計數器下展開處理並選擇處理器時間百分比,在所選物件的實例下選擇第一個 Java 條目,然後按兩下添加
8.在可用的計數器下展開處理器資訊,然後選取 處理器公用程式百分比,然後按 一下新增。
9.右窗格中的「已新增計數器」應顯示:

image.png

10.按一下確定。以滑鼠右鍵按一下效能監控,然後按一下新增> Data Collector 集
11.提供名稱,例如:RESTAPI_MON。
12.在「位置」螢幕上,按兩下一步, 除非選擇指定備用輸出位置。
13.選取 儲存並關閉 ,然後按 一下完成
14.在左側窗格的 Data Collector 資料集->使用者定義下,開啟RESTAPI_MON屬性,然後選取逗號分隔作為記錄格式,然後按一下確定。

image.png

15.在左側窗格中的 Data Collector 資料集->使用者定義下,選取RESTAPI_MON Data Collector 集,然後按一下開始 (播放按鈕)。
16.如果使用預設輸出位置,.csv檔案會顯示在 C:\PerfLogs\Admin\RESTAPI_MON 下。
17.在輸出檔案中觀察到問題並記錄後,您可以按一下 Data Collector 資料集-使用者定義下的停止,以停止監控。


更多資源

以下提供所有支援的 REST API 端點和使用範例:NetWorker REST API 參考指南

Affected Products

NetWorker Series

Products

NetWorker Series
Article Properties
Article Number: 000014298
Article Type: How To
Last Modified: 07 Feb 2024
Version:  6
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.