簡介
本檔案將說明進化版可程式化網路管理員(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區域中完成計畫設定。您可以同時選擇多個裝置(並為集合定義通用名稱)或為每個裝置建立一個作業(並指定與裝置本身相關的作業名稱,如圖所示)。
如果要在大量裝置上執行操作,請將存檔安排在最不可能影響生產的時間內。

|
步驟 2 |
檢查Configuration Archive Collection 作業:
每次觸發存檔收集時,都會建立一個配置存檔收集作業並將其與該進程相關聯,並且您可以在「管理」(Administration)>「控制板」(Dashboards)>「作業控制板」(Job Dashboard)下檢查其狀態,然後轉至「使用者作業」(User Jobs)>「配置存檔收集」(Configuration Archive Collection)。
如果針對特定節點的收集歸檔失敗,則每台裝置使用一個作業可以更輕鬆地對「配置歸檔檔案收集」作業進行故障排除:

|
步驟 3 |
檢查是否有任何故障:
配置存檔收集失敗的原因可能不同。某些示例(適用於NCS2000)列在本過程後面的故障排除配置歸檔集合一節中。
|
3.從EPNM下載配置檔案
程式
步驟 1 |
選擇Inventory > Device Management > Configuration Archive
|
步驟 2 |
選中要下載配置檔案的裝置旁邊的覈取方塊。
|
步驟 3 |
在「Export Latest Archives」下拉選單中,選擇以下選項之一來下載配置檔案:
-
已清除 — 裝置憑證密碼在下載檔案中被遮蔽。
-
Unsanitized — 裝置憑證密碼在下載的檔案中可見。
Unsanitized選項根據基於角色的訪問控制(RBAC)中的使用者許可權集顯示。 這與NCS2000備份檔案無關,因為它們不是基於文本的檔案。
此過程提示您下載一個.zip檔案,該檔案包含啟動配置運行配置或資料庫配置,具體取決於裝置支援的配置。
|
4.設定外部伺服器
支援的資料庫包括FTP、SSH FTP(SFTP)和Network File System(NFS)。 在示例中,假設使用CentOS Linux版本8伺服器構建SFTP伺服器。建立伺服器的過程不屬於本文的範圍。
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 |
選擇Inventory > Device Management > Configuration Archive,然後按一下Devices頁籤上的Backup to Repository按鈕。
從Backup to Repository下拉選單中,選擇external_config_backup repository(先前在Configure Repository部分中進行了配置):

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 |
選擇管理>儀表板> 作業儀表板,然後轉到系統作業> Infrastructure。
|
步驟 2 |
按一下Device Config Backup-External旁邊的覈取方塊,按一下Edit Schedule按鈕並填寫時間表。

|
步驟 3 |
按一下Submit按鈕。
|
步驟 4 |
按一下Device Configuration Backup-External 超連結檢查作業是否成功完成。

|
8.使用REST API獲取配置檔案
有多種配置檔案服務選項可用(例如diff、批次匯出和版本操作)。 本節顯示如何根據ip位址為x.x.x.x的裝置檢索備份檔案的基本範例
首先,您需要查詢裝置以獲取所需配置檔案的欄位。可以使用GET配置版本終結點[2]完成此操作:
GET https:///webacs/api/v4/data/ConfigVersions?.full=true&deviceIpAddress=x.x.x.x
從JSON響應中注意到,啟動配置和運行配置均可用於此裝置。在這種情況下,Diff Type也是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"
}
]
}
}
請記住,由於格式不同(資料庫),此方法無法檢索NCS2000配置檔案。
配置存檔收集故障排除
逾時
相關錯誤消息:使用https從裝置備份資料庫失敗。執行HTTP請求期間的套接字超時:讀取超時
根本原因:在EPNM能夠從裝置獲取資料庫之前發生超時。

「配置存檔」任務為每個提取活動使用「裝置CLI超時」值。單一「配置存檔」任務需要1到5個檔案。因此,總體作業超時值是使用邏輯確定的:總體作業超時=檔案數量*裝置CLI超時。要配置CLI超時值,請選擇「清單」>「裝置管理」>「網路裝置」>,按一下編輯裝置圖示,選擇Telnet/SSH選項,然後在Timeout欄位中輸入值。

EMS在NCS2000中未啟用為「安全」
相關錯誤消息:"使用https從裝置備份資料庫失敗。無法建立到裝置的telnet連線 — 原因:連線被拒絕或超時。」
根本原因:NCS2000中的EMS Access引數(通過CTC工具對其進行訪問)設定為Non-Secure。必須將其設定為Secure。

要修復此問題,請使用CTC工具訪問NCS2000,依次轉到「節點」、「調配」頁籤、「安全」和「訪問」頁籤,將「EMS訪問」下的「訪問狀態」更改為Secure。

找不到裝置ID
相關錯誤消息:「找不到裝置存檔。裝置可能具有無效的ID,或者已從系統中刪除。」
根本原因:如果已在EPNM中刪除了NCS2000裝置,則其在EPNM資料庫中的裝置ID將更改。但是,配置存檔收集作業仍引用舊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 Address>/webacs/api/v1/index?_docs