簡介
本文檔介紹使用PostMan作為REST客戶端透過ERS API觸發和下載ISE支援捆綁的過程。
必要條件
需求
思科建議您瞭解以下主題:
- ISE
- 外部RESTful服務
- REST客戶包括Postman、REST、Insomnia等。
採用元件
本檔案中的資訊是根據以下軟體版本:
- Cisco ISE 3.1修補6
- Postman REST客戶端v10.17.4
注意:此過程對於其他ISE版本和REST客戶端相似或相同。除非另有說明,否則您可以在所有2.x和3.x ISE軟體版本上使用這些步驟。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
設定
啟用ERS (埠9060)
ERS API是僅適用於HTTPS的REST API,透過埠443和埠9060運行。埠9060預設關閉,因此需要首先打開。 如果嘗試存取此連線埠的從屬端未先啟用ERS,就會出現伺服器逾時。因此,第一個要求是從思科ISE管理UI啟用ERS。
導航到Administration > Settings > API Settings並啟用ERS (Read/Write)切換按鈕。
註:ERS API支援TLS 1.1和TLS 1.2。ERS API不支援TLS 1.0,無論在思科ISE GUI的「安全設定」窗口(管理>系統>設定>安全設定)中啟用TLS 1.0。在「保全性設定」視窗中啟用TLS 1.0僅與EAP通訊協定有關,且不會影響ERS API。
建立ERS管理員
建立思科ISE管理員,分配密碼,並將使用者作為ERS管理員增加到管理員組。您可以將配置的其餘部分留空。
設定Postman
下載或使用線上版Postman。
- 按一下「工作區」標簽底下的「建立工作區」來建立使用者和建立工作區。
2. 選擇空白工作區並為工作區分配名稱。您可以增加描述並將其公之於眾。 在本示例中選擇了Personalis。
建立工作區後,您現在可以配置我們的API呼叫。
觸發器支援套件
要配置任何呼叫,首先要訪問ISE ERS SDK(軟體開發套件)。此工具編譯ISE可以執行的所有API呼叫清單:
- 轉到https://{ise-ip}/ers/sdk
- 使用您的ISE管理員憑證登入。
- 展開API文檔
- 向下滾動直至找到Support Bundle Trigger Configuration,然後按一下它。
- 在此選項下,您現在可找到可在ISE上為此選項執行的所有可用操作。選擇建立。
6. 現在,您可以看到在任何Rest客戶端上使用XML或JSON執行API呼叫所需的配置以及預期響應示例。
7. 返回到Postman允許配置對ISE的基本身份驗證。在授權頁籤下,選擇基本身份驗證作為身份驗證型別,並增加以前在ISE上建立的ISE ERS使用者憑證。
注意:除非在Postman上配置了變數,否則口令顯示為明文
8. 在Postman中,轉到Headers頁籤,並使用SDK中的XML或JSON為API呼叫配置所需的標頭。本示例中使用JSON。 報頭配置必須如下所示:
9. 移至「主體」表頭,然後選取「原始」。這允許我們貼上觸發支援捆綁包所需的XML或JSON模板。
10. 在正文部分貼上XML或JSON模板,根據需要更改值:
XML:
<?xml version="1.0" encoding="UTF-8"?> <ns0:supportbundle xmlns:ns0="supportbundle.ers.ise.cisco.com" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ns1="ers.ise.cisco.com" xmlns:ers="ers.ise.cisco.com" description="Support Bundle Generation" name="supportBundle"> <hostName>Node hostname the SB is being collected from </hostName> <supportBundleIncludeOptions> <fromDate>mm/dd/yyyy</fromDate> <includeConfigDB>true|false</includeConfigDB> <includeCoreFiles>true|false</includeCoreFiles> <includeDebugLogs>true|false</includeDebugLogs> <includeLocalLogs>true|false</includeLocalLogs> <includeSystemLogs>true|false</includeSystemLogs> <mntLogs>true|false</mntLogs> <policyXml>true|false</policyXml> <toDate>mm/dd/yyyy</toDate> </supportBundleIncludeOptions> </ns0:supportbundle>
JSON:
{ "SupportBundle": { "name": "supportBundle", "description": "Support Bundle Generation", "hostName": "node hostname the SB is being collected from", "supportBundleIncludeOptions": { "includeConfigDB": true|false, "includeDebugLogs": true|false, "includeLocalLogs": true|false, "includeCoreFiles": true|false, "mntLogs": true|false, "includeSystemLogs": true|false, "policyXml": true|false, "fromDate": "mm/dd/yyyy", "toDate": "mm/dd/yyyy" } } }
11. 選擇POST作為方法,貼上https://{ISE-ip}/ers/config/supportbundle並按一下傳送。 如果所有配置都正確,您應該看到「201 Created」消息,並且結果為空。
檢查支援捆綁包狀態
您可以執行一系列GET呼叫來確認是觸發還是完成支援捆綁。
注意:支援捆綁包需要5-20分鐘才能完成,具體取決於從日誌收集的資訊量。
- 在SDK上的Support Bundle Statustab selectGet-All下。您想要獲取ID以便運行下一個GET呼叫。 如前所述,以下是執行呼叫所需的報頭以及預期響應。
2.移至Headers 頁籤,為API呼叫配置所需的標頭,如SDK中所示。本示例使用JSON。報頭配置必須如下所示:
3. 選擇GET 作為方法,貼上https://{ISE-ip}/ers/config/supportbundlestatus,然後按一下傳送。 如果已正確配置所有內容,您必須看到「200 OK」消息和觸發的最後一個支援捆綁包的相關資訊產生的結果。此呼叫不會告知我們是否成功完成支援捆綁。從此呼叫收集ID,以便您下次進行GET呼叫時使用。
4. 收集ID後,轉至支援捆綁包狀態表下的SDK,然後選擇Get-By-Id。如前所述,以下是執行呼叫所需的報頭以及預期響應。
5.轉到Headers 頁籤,為API呼叫配置所需的標頭,如SDK中所示。本示例使用JSON。報頭配置必須如下所示:
6. 選擇GET 作為方法,貼上https://{ISE-ip}/ers/config/supportbundlestatus/{id} 並從步驟3收集的ID,最後按一下傳送。 如果已正確配置所有內容,您必須看到「200 OK」消息和結果,其中含有關於完成還是未觸發最後一個支援捆綁包的資訊。記下來自此呼叫的fileName,因為您需要PUT呼叫。
下載支援捆綁包
確認支援捆綁包處於completed狀態後。您可以繼續下載。
- 在SDK上的Support Bundle Downloadtab 下,選擇Download SupportBundle。如前所述,以下是執行呼叫所需的標頭、XML和JSON模板,以及預期的響應。
2.移至Headers 頁籤,為API呼叫配置所需的標頭,如SDK中所示。本示例使用JSON。報頭配置必須如下所示:
3. 移至「主體」表頭,然後選取原始。這允許我們貼上下載支援捆綁包所需的XML或JSON模板。
4. 在正文部分貼上XML或JSON模板,根據需要更改值。檔名將是從第6步收集的檔名(ise-support-bundle-pk-ise3-1test-external-09-26-2023-01-26.tar.gpg):
XML
<?xml version="1.0" encoding="UTF-8"?> <ns0:supportbundle xmlns:ns0="supportbundle.ers.ise.cisco.com" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ns1="ers.ise.cisco.com" xmlns:ers="ers.ise.cisco.com"> <fileName>Support bundle file name to be picked for download</fileName> </ns0:supportbundle>
JSON:
{ "ErsSupportBundleDownload" : { "fileName" : "Support bundle file name to be picked for download" } }
5. 選擇PUT作為方法,貼上https://{ISE-ip}/ers/config/supportbundledownload,然後按一下傳送。 如果已正確配置所有內容,則必須看到「200 OK」消息且檔案已下載。
驗證
如果能夠訪問API服務GUI頁,例如https://{iseip}:{port}/api/swagger-ui/index.html或https://{iseip}:9060/ers/sdk,則表示API服務正在按預期工作。
疑難排解
- 所有REST操作都經過稽核,並且日誌記錄在系統日誌中。
- 要排除與打開API相關的問題,請在調試日誌配置窗口中將apiservice元件的日誌級別設定為調試。
- 要排除與ERS API相關的問題,請在調試日誌配置窗口中將ers元件的日誌級別設定為調試。要檢視此窗口,請導航到思科ISE GUI,點選選單圖示並選擇操作>故障排除>調試嚮導>調試日誌配置。
- 您可以從下載日誌窗口下載日誌。要檢視此窗口,請導航到Cisco ISE GUI,點選Menu圖示並選擇Operations > Troubleshoot > Download Logs。
- 您可以選擇從Support Bundle頁籤下載支援捆綁包(透過按一下頁籤下的Download按鈕),或透過按一下api-service debug log日誌的Log File值從Debug Logs頁籤下載api-service debug logs。