簡介
本文檔介紹演化的可程式設計網路管理器(EPNM)如何從其中心位置管理裝置的備份配置檔案。
背景資訊
- 本檔案是根據EPNM 6.1.1版撰寫的
- 對於運行版本5.1.x的系統,將應用思科漏洞ID CSCvz12497並阻止從作業控制台編輯「裝置配置備份-外部」作業
獲取配置備份檔案
從EPNM資料庫中的裝置儲存備份的過程稱為「配置存檔」,可以調整為定期運行。
方框圖顯示配置EPNM以從網路裝置獲取備份檔案的步驟,以及從EPNM檢索這些檔案的3個選項。
在步驟1中,定義了關於如何透過EPNM處理配置檔案集合的總體首選項。例如,您可以選擇每台裝置儲存多少配置檔案,以及發生配置更改時是否觸發備份。
之後,在步驟2中配置了EPNM輪詢網路裝置以獲取配置檔案的頻率。
檔案進入EPNM資料庫後,有3個選項可用於檢索它們:
- 直接從EPNM下載配置檔案(方框圖中的步驟3)
- 將配置檔案導出到外部伺服器,在這種情況下,需要設定外部伺服器並將其配置為EPNM中的儲存庫(步驟4、5、6和7)
- 使用REST API檢索配置檔案(步驟8)。此方法不適用於使用資料庫格式配置檔案的NCS2000裝置
1. 設定裝置備份首選項
這定義了存檔收集的預設行為,例如當觸發存檔時、每個裝置保留的檔案數目,以及當裝置新增至網路時,是否立即自動建立備份組態檔。
程式
步驟 1 |
在Administration > Settings > System Settings下,然後在Inventory > Configuration Archive下,定義存檔收集的預設行為。 |
2. 配置裝置配置檔案的檢索頻率
在此步驟中,定義了EPNM從網路中的裝置獲取配置檔案的頻率。資料庫中儲存的檔案數取決於第1項-設定裝置備份首選項中定義的內容。
程式
步驟 1 |
定義「存檔收集」的引數: 依次選擇Administration > Device Management > Configuration Archive,然後在Devices頁籤下選擇需要為其收集配置的裝置,點選Schedule Archive Collection,並完成Recurrence區域中的Schedule Settings。您可以一次選擇多個裝置(並為集合定義一個通用名稱)或為每個裝置建立一個作業(並指定與裝置本身相關的作業名稱,如圖所示)。 如果要在大量裝置上執行操作,請將存檔安排在最不可能影響生產的一段時間。 |
步驟 2 |
檢查配置存檔收集作業: 每次觸發存檔收集時,都會建立一個配置存檔收集作業並將其與該進程關聯,您可以在Administration > Dashboards > Job Dashboard下檢查其狀態,然後轉至User Jobs > Configuration Archive Collection。 如果特定節點的收集存檔失敗,則為每台裝置使用一個作業可以更輕鬆地對「配置存檔收集」作業進行故障排除: |
步驟 3 |
檢查是否存在任何故障: 配置存檔收集失敗的原因可能不同。一些示例(適用於NCS2000)列在此過程後面的故障排除配置存檔部分收集中。 |
3. 從EPNM下載配置檔案
程式
步驟 1 |
選擇資產 > 裝置管理 > 配置存檔 |
步驟 2 |
選中要下載配置檔案的裝置旁的覈取方塊。 |
步驟 3 |
在「匯出最新存檔」下拉式清單中,選取以下其中一個選項來下載組態檔:
-
Sanitized -在下載的檔案中遮蔽裝置憑據密碼。
-
Unsanitized -在下載的檔案中可以看到裝置憑據密碼。
Unsanitized選項會根據基於角色的訪問控制(RBAC)中設定的使用者許可權顯示。這與NCS2000備份檔案無關,因為它們不是基於文本的檔案。
根據裝置支援的不同,此過程會提示您下載包含啟動配置運行配置或資料庫配置的.zip檔案。
|
4. 設定外部伺服器
支援的資料庫包括FTP、SSH FTP (SFTP)和網路檔案系統(NFS)。在示例中,假設SFTP伺服器是使用CentOS Linux版本8伺服器構建的。建立伺服器的程式不在本文的討論範圍之內。
5. 在EPNM中配置目標儲存庫(Cisco IOS)
在此步驟中,外部伺服器的引數在EPNM cars shell中進行定義。
程式
步驟 1 |
以Cisco EPN Manager CLI管理員使用者身份登入伺服器。請參閱建立與Cisco EPN Manager伺服器的SSH會話。 |
步驟 2 |
在EPNM中,進入配置模式: epnm/admin# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
epnm/admin(config)# |
步驟 3 |
在EPNM中為使用者sftpuser建立儲存庫: epnm6/admin# conf t
Enter configuration commands, one per line. End with CNTL/Z.
epnm6/admin(config)# repository external_config_backup
epnm6/admin(config-Repository-external_config_backup)# url sftp://
//home/sftpuser
epnm6/admin(config-Repository-external_config_backup)# user sftpuser password plain xxxx
epnm6/admin(config-Repository-external_config_backup)# end
epnm6/admin# write memory
Generating configuration...
epnm6/admin# 本示例用於透過外部伺服器上的SFTP備份裝置配置。
- 使用您在第4 -設定外部伺服器項中定義的密碼替換xxxx。
- 外部伺服器IP地址後面的雙欄「//」表示SFTP伺服器的「/」目錄。要定義sftpuser目錄/home/sftpuser,只需在雙欄後增加home/sftpuser。
|
步驟 4 |
您可以使用show命令測試儲存庫是否可在外部伺服器上訪問: epnm/admin# show repository external_config_backup
% Repository is empty |
步驟 5 |
如果EPNM系統配置為高可用性,請在非活動伺服器中重複步驟3。 |
6. 在EPNM (GUI)中配置目標儲存庫
在此步驟中,在EPNM GUI中定義外部伺服器的引數。
程式
步驟 1 |
選擇「資產」> Device Management > Configuration Archive,然後按一下Devices頁籤上的Backup to Repository按鈕。 從備份到資料檔案庫下拉選單中,選擇先前在配置資料檔案庫部分中配置的external_config_backup 資料檔案庫: Backup Repository(備份儲存庫)窗口中還包含2個覈取方塊:
- 僅匯出最新的組態:如果您只想要最新的檔案,請按一下此選項。否則,EPNM將導出存檔頁籤中列出的所有檔案。
- 使用GnuPG加密匯出的檔案:您也可以選擇使用GnuPG加密匯出的檔案(GNU Privacy Guard是一種免費且開放原始碼軟體工具,提供加密隱私權與驗證)。如果您選擇使用GnuPG加密,則必須提供加密密碼。
|
步驟 2 |
或者,也可以按一下Run立即開始導出過程。否則,要計畫和定義週期,請參閱專案7。在EPNM GUI稍後的過程中排定匯出工作。 每次觸發此進程時,都會建立裝置配置備份-外部作業並將其關聯到該進程,您可以在Administration > Dashboards > Job Dashboard下檢查其狀態,然後進入System Jobs > Infrastructure下。 |
7. 在EPNM GUI中排定匯出工作
在此步驟中,在EPNM GUI中定義將配置檔案導出到外部伺服器的工作。
程式
步驟 1 |
選擇管理>控制台> 作業控制台,然後轉至系統作業> 基礎設施。 |
步驟 2 |
點選Device Config Backup-External旁邊的覈取方塊,點選Edit Schedule按鈕並填寫時間表。 |
步驟 3 |
按一下Submit按鈕。 |
步驟 4 |
透過按一下Device Configuration Backup-External超連結檢查作業是否成功完成。 |
8. 使用REST API獲取配置檔案
組態檔有多種服務選項可供使用(例如,差異、大量匯出和版本作業)。本節顯示如何根據ip位址為x.x.x.x的裝置擷取備份檔案的基本範例
首先,您需要查詢裝置以獲取所需配置檔案的欄位。此操作可使用GET配置版本端點[2]完成:
GET https://
/webacs/api/v4/data/ConfigVersions?.full=true&deviceIpAddress=x.x.x.x
請注意,從JSON響應中,此裝置既可以使用啟動配置,也可以使用運行配置。在此案例中,「差異型別」也是OUT_OF_SYNC,這表示如果與組態檔案的先前版本比較,此版本會有所不同:
{
"queryResponse": {
"@last": 0,
"@first": 0,
"@count": 1,
"@type": "ConfigVersions",
"@domain": "ROOT-DOMAIN",
"@requestUrl": "https://
/webacs/api/v4/data/ConfigVersions?.full=true&deviceIpAddress=x.x.x.x", "@responseType": "listEntityInstances", "@rootUrl": "https://
/webacs/api/v4/data", "entity": [ { "@dtoType": "configVersionsDTO", "@type": "ConfigVersions", "@url": "https://
/webacs/api/v4/data/ConfigVersions/5029722742", "configVersionsDTO": { "@displayName": "5029722742", "@id": 5029722742, "comments": "Archived By Job Name: Job_Configuration_Archive_Collection_10_10_00_021_AM_8_28_2024, Run Id: 6333919609", "createdAt": "2024-08-28T13:10:07.112Z", "createdBy": "root", "deviceIpAddress": "x.x.x.x", "deviceName": "CBR8", "diffType": "OUT_OF_SYNC", "fileInfos": { "fileInfo": [ { "fileId": 5029723744, "fileState": "STARTUPCONFIG", "fileType": "TEXT" }, { "fileId": 5029723743, "fileState": "RUNNINGCONFIG", "fileType": "TEXT" } ] }, "isFirst": true, "isLast": true, "outOfBand": true } } ] } }
然後,您可以使用上一步中的檔案ID下載配置檔案。如果要下載運行配置,可以使用終端:
GET https://
/webacs/api/v4/op/configArchiveService/extractUnsanitizedFile?fileId=5029723743
響應包含文本格式的運行配置。
{
"mgmtResponse": {
"@domain": "ROOT-DOMAIN",
"@requestUrl": "https://
/webacs/api/v4/op/configArchiveService/extractUnsanitizedFile?fileId=5029723743", "@responseType": "operation", "@rootUrl": "https://
/webacs/api/v4/op", "extractFileResult": [ { "fileData":"!\n! Last configuration change at 18:12:00 EDT Sun Aug 25 2024 by rtp1\n!\nno issu config-sync policy bulk prc\nversion 16.12\nservice timestamps debug datetime msec\nservice timestamps log datetime localtime show-timezone\nservice password-encryption\nservice internal\nservice udp-small-servers\nservice sequence-
tcp\nnetconf-yang\nnetconf-yang cisco-ia snmp-community-string testing-mib-yang\nnetconf-yang ssh port 57000\nrestconf\nend" } ] } }
請記住,由於格式不同(DATABASE),此方法無法檢索NCS2000配置檔案。
配置存檔收集故障排除
逾時
相關錯誤訊息:使用https從裝置備份資料庫失敗。執行HTTP要求期間的通訊端逾時:讀取逾時
根本原因:在EPNM能夠從裝置獲取資料庫之前發生超時。
Configuration Archive(配置存檔)任務使用每個提取活動的Device CLI Timeout值。單一「組態查扣」工作需要1到5個檔案。因此,總體作業超時值是使用邏輯確定的:總體作業超時 = 檔案數*裝置CLI超時。 要配置CLI超時值,請選擇資產 > 裝置管理 > 網路裝置,點選編輯裝置圖示,選擇Telnet/SSH選項,然後在超時欄位中輸入值。
EMS在NCS2000中未啟用為「安全」
相關錯誤消息:「使用https從裝置備份資料庫失敗。無法建立到裝置的telnet連線-原因:連線被拒絕或超時。
根本原因:NCS2000中的EMS訪問引數(透過CTC工具進行訪問)設定為非安全。 需要將其設定為Secure。
要解決此問題,請使用CTC工具訪問NCS2000,轉至Node view, Provisioning tab, Security,然後Access頁籤,並將EMS Access下的Access State更改為Secure。
找不到裝置ID
相關錯誤消息:「Device archive(s) was not be found.裝置的ID可能無效,或者可能已從系統中刪除。」
根本原因:如果NCS2000裝置已在EPNM中刪除,則其在EPNM資料庫中的裝置ID將更改。但是,Configuration Archive Collection作業仍引用舊ID,因此失敗。解決方法是刪除並重新建立相關裝置的配置存檔收集作業。
結論
本文檔詳細介紹了如何從儲存在EPNM資料庫中的網路裝置訪問配置檔案。
提供三個選項來存取檔案:直接透過EPNM、匯出至外部伺服器及透過REST API。這些方法可用於自動執行可由EPNM北向介面連線的系統執行的任務。此外,還提供了從裝置檢索配置檔案的一些故障排除提示。
參考資料
[1] EPNM配置指南
https://www.cisco.com/c/en/us/td/docs/net_mgmt/epn_manager/5_1_3/user/guide/bk-cisco-evolved-programmable-network-manager-5-1-3-user-and-administrator-guide1/bk_CiscoEPNManager_4_0_UserAndAdministratorGuide_chapter_011.html#task_1237296
[2] EPNM REST API聯機參考
https://<EPNM IP位址>/webacs/api/v1/index?_docs