簡介
本文檔介紹NSO中可用的各種日誌、它們的用途以及如何啟用它們。
必要條件
需求
要檢視、啟用和設定日誌,您需要使用者有權訪問運行NSO服務的主機環境,以及有權訪問NSO CLI和NSO IPC埠。
採用元件
Cisco Crosswork網路服務協調器(NSO)版本6.4.1
本文檔是為截至NSO 6.4可用的日誌記錄選項編寫的。雖然本文檔中的大多數資訊適用於各個版本,但有些日誌可能與您使用的版本相比已被棄用或新增。本文檔不包括在NSO系統外部匯出日誌的配置。
本文檔中提供的命令假定使用預設目錄設定進行系統安裝NSO。在您的環境中,某些檔案的位置可能不同。
- 預設情況下可在$NCS_CONFIG_DIR中找到ncs.conf /etc/ncs/ncs.conf
- 預設情況下可在$NCS_LOG_DIR中找到日誌/var/log/ncs/
- 預設情況下,NSO安裝在$NCSDIR中/opt/ncs/
- 預設情況下,NSO的運行目錄為$NCS_RUN_DIR, /var/opt/ncs/
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
一般日誌准則
日誌記錄影響
以更高的詳細程度啟用日誌可能會導致NSO伺服器的負載和磁碟空間需求增加。對於高度活動日誌(如devel.log),這尤其是一個考慮因素。在故障排除期間在短時間內啟用詳細程度通常不是問題,但在啟用較長時間時,請確保將資源和磁碟空間考慮在內。
生成技術報告
To generate a tech report for NSO, run the script at /opt/ncs/current/bin/ncs-collect-tech-report.
選項:
--install-dir
:指定安裝NCS靜態檔案的目錄,如安裝程式的 — install-dir選項。
--full
:收集系統的ncs備份,使思科支援人員可以更輕鬆地重現任何錯誤。
--num-debug-dumps
:預設1,生成調試轉儲快照。對於跟蹤資源洩漏的情況(如記憶體/檔案描述符洩漏),請將其設定為3。
推薦選項:
/opt/ncs/current/bin/ncs-collect-tech-report --num-debug-dumps 3
可以單獨收集和提供備份,以限制捆綁包的檔案大小,從而更輕鬆地上傳。
在運行指令碼的當前目錄中生成技術報告。
附註:技術報告收集NSO日誌目錄的內容。在生成新的技術報告之前,請驗證此目錄不包含任何以前的技術報告或備份。
生成備份
/opt/ncs/current/bin/ncs-backup
備份是在中生成的 /var/opt/ncs/backups/.
未生成日誌檔案
當日誌檔案被存檔或刪除時,NSO需要建立一個新檔案。這通常會自動發生,但是如果沒有發生,請使用命令:
/opt/ncs/current/bin/ncs_cmd -c reopen_logs
.
附註:例如,使用ncs.conf中的ipc-access設定限制對IPC埠的訪問時,請確保將必要的變數定義為cron或anacron的一部分,以便每週日誌旋轉可以正確重新開啟日誌。
日誌概述
- NSO內部日誌
- ncs.log:ncs日誌記錄了NSO的主要過程。它只能用於有關關機、啟動、載入軟體包和升級的問題,其深度資訊有限。
- audit.log:稽核日誌記錄通過任何API在NSO上進行身份驗證的所有使用者。它還記錄NSO CLI和低精度北向介面上的任何活動。
- audit-log-commit:啟用此設定將增強audit.log。它不會建立自己的日誌。它在提交和同步起始操作期間記錄對NSO CDB的所有非預設更改。
- audit-log-commit-default :啟用此設定將增強audit.log。它不會建立自己的日誌。它將在提交和同步起始操作期間記錄對NSO CDB的所有預設更改。
- devel.log:該日誌記錄了NSO的一般操作和工作流程。
- ncs-java-vm.log:Java日誌記錄所有與Java-VM相關的操作。最明顯的是所有網路元素驅動程式(NED)和服務包都是用Java編寫的。所有CLI NED都用Java編寫。
- ncs-python-vm.log:python日誌記錄與用Python編寫的服務包相關的活動。每個用python編寫的服務包都會生成單獨的python日誌。沒有用Python編寫的NED。
- upgrade.log:升級日誌記錄在NSO升級期間對NSO型號所做的更改,包括重新載入軟體包期間的NSO版本升級和NSO軟體包升級。
- raft.log:專用於利用HA-Raft功能的NSO群集的日誌。
- xpath.trace:xpath跟蹤記錄NSO執行的所有xpath評估。這有助於確定刪除操作花費較長時間的原因。
- ncserr.log:ncserr.log是記錄來自NCS守護程式的內部進程的錯誤的二進位制日誌。對於幾乎所有的「內部錯誤」錯誤消息和崩潰情況都是強制性的。
- transerr.log:事務錯誤日誌是收集導致CDB啟動錯誤或運行時事務失敗的失敗事務資訊的日誌。
- progress.trace:進度跟蹤用於跟蹤系統中由事務和操作發出的進度事件。在/progress/trace中配置要發射的資料。
- ncs-smart-licensing.log:NSO內部許可證smart-agent的日誌。
- 北行:從北向元素到達NSO
- audit.log:稽核日誌記錄在NSO CLI上執行的命令。
- localhost:8080.access/localhost:8888.access :這是嵌入式Web伺服器的訪問日誌並收集HTTP活動。此檔案遵循Apache定義的通用日誌格式
- traffic.trace:此日誌收集非常高詳細的HTTP流量。使用它調試Restconf和json-rpc API。
- netconf.log:Netconf API的日誌
- netconf-trace.log:高精度netconf API的日誌
- json-rpc.log:json-rpc.log API的日誌
- 南行:記錄從NSO到網路的通訊。
- 裝置NED跟蹤:每台裝置生成自己的跟蹤。裝置跟蹤名稱為ned-<ned-id>-<devicename>.trace或netconf-<devicename>.trace
- audit-network.log:記錄NSO傳送到南向裝置的配置命令。
- 系統記錄
- Linux日誌:通常位於/var/log/並包括消息或系統日誌等日誌。具體取決於主機。
- ncs_crash.dump:NSO因記憶體問題終止時生成的NSO系統轉儲。
- 核心轉儲:當NSO由於非記憶體原因終止時,Linux可以生成一個稱為core的核心轉儲。<PID>
Linux需要滿足某些條件才能生成核心轉儲。Ulimit配置是阻止轉儲的最常見設定。有關要求的完整清單,請參見Linux手冊頁
附註:NCS技術報告不收集系統日誌,但是對效能和故障相關問題可能有用。
啟用日誌和設定詳細程度
附註:更改ncs.conf檔案中的配置設定可以通過執行命令來ncs --reload
應用。ncs --reload, it
從ncs.conf檔案中重新載入值並更新正在運行的系統,同時關閉並重新開啟所有日誌檔案,以便應用任何日誌記錄更改。這不會中斷服務。
一般准則
- 當ncs.conf檔案中不存在特定配置時,NSO會採用檔案中指定的預設行
/opt/ncs/current/src/ncs/ncs_config/tailf-ncs-config.yang
為。
- 當日誌被指定為預設啟用時,這意味著即使缺少用於啟用該日誌的配置,也會啟用該日誌。
- 預設情況下,某些日誌處於禁用狀態,但在首次安裝NSO期間,ncs.conf具有啟用該日誌的特定說明。
- 當ncs.conf檔案中不存在特定配置時,可以新增配置,如
logs container
在ncs.conf檔案
和
之間所示。
內部
ncs.log
預設情況下啟用此日誌。要啟用此日誌,請開啟/etc/ncs/ncs.conf並更改<ncs-log>的內容。
true
${NCS_LOG_DIR}/ncs.log
true
編輯ncs.conf後,執行ncs —reload。
audit.log
預設情況下啟用此日誌。要啟用此日誌,請開啟/etc/ncs/ncs.conf並更改<audit-log>的內容。
true
${NCS_LOG_DIR}/audit.log
true
編輯ncs.conf後,執行ncs —reload。
audit-log-commit和audit-log-commit-defaults
預設情況下未啟用此日誌。要啟用此日誌,請開啟/etc/ncs/ncs.conf,然後在<audit-log>之後新增內容。
true
${NCS_LOG_DIR}/audit.log
true
true
true
編輯ncs.conf後,執行ncs —reload。
devel.log
預設情況下,此日誌在INFO詳細程度啟用。若要啟用和更改此日誌的詳細程度,請打開/etc/ncs/ncs.conf並更改<developer-log>的內容。
true
${NCS_LOG_DIR}/devel.log
true
trace
編輯ncs.conf後,執行ncs —reload。
ncs-java-vm.log
預設情況下,此日誌在INFO詳細程度啟用。可以為由java-vm管理的各個元素設定詳細程度。詳細程度會從NSO CLI改變,NSO CLI可通過SSH或ncs_cli -C -noaaa訪問
要增加com.tailf下所有java元素的詳細程度,請執行以下操作:
設定
java-vm java-logging logger com.tailf level-trace
提交無網路
要增加特定NED包的詳細程度,請執行以下操作:
設定
java-vm java-logging logger com.tailf.packages.ned.<NED-name> level-trace
提交無網路
要增加Java NED包中使用的SSHJ客戶端的詳圖,請執行以下操作:
設定
java-vm java-logging logger net.schmizz.sshj level-error
提交無網路
附註:思科建議將日誌記錄的SSHJ客戶端設定為level-error。預設情況下禁用。
要恢復特定Java元素的日誌記錄,請執行以下操作:
設定
no java-vm java-logging logger com.tailf
提交無網路
要檢視當前的java-vm日誌記錄設定,請執行以下操作:
show running-config java-vm java-logging
ncs-python-vm.log
預設情況下,此日誌在INFO詳細程度啟用。從NSO CLI更改詳細程度,NSO CLI可通過SSH或ncs_cli -C -noaaa訪問。
為所有Python VM的日誌設定詳細程度。
設定
python-vm logging level level-debug
提交無網路
要恢復,請執行以下操作:
設定
no python-vm logging level-debug
提交無網路
要檢視當前的python-vm日誌記錄設定,請執行以下操作:
show running-config python-vm logging
upgrade.log
預設情況下啟用此日誌。要啟用此日誌,請開啟/etc/ncs/ncs.conf並更改<upgrade-log>的內容。
true
${NCS_LOG_DIR}/upgrade.log
true
編輯ncs.conf後,執行ncs —reload。
raft.log
預設情況下,此日誌在INFO詳細程度啟用。要啟用和設定此日誌的詳細度,請開啟/etc/ncs/ncs.conf並更改<raft-log>的內容。
true
${NCS_LOG_DIR}/raft.log
true
trace
編輯ncs.conf後,執行ncs —reload。
xpath.trace
預設情況下未啟用此日誌。若要啟用此日誌,請開啟/etc/ncs/ncs.conf並更改<xpath-trace-log>的內容。
true
${NCS_LOG_DIR}/xpath.trace
編輯ncs.conf後,執行ncs —reload。
ncserr.log
此日誌記錄的資訊量有限。NSO維護5個錯誤檔案,每個檔案預設最大大小為1MB。在極少數情況下,當日誌資料中發生超過5MB的問題時,您需要增加最大大小。預設情況下啟用此日誌。若要將此日誌的最大大小更改為每個檔案10MB,請打開/etc/ncs/ncs.conf,然後更改<error-log>的內容。
true
${NCS_LOG_DIR}/ncserr.log
S10M
編輯ncs.conf後,執行ncs —reload。
transerr.log
預設情況下未啟用此日誌,但在第一次安裝時在ncs.conf中啟用。要啟用此日誌,請開啟/etc/ncs/ncs.conf並更改<transaction-error-log>的內容。
true
${NCS_LOG_DIR}/transerr.log
編輯ncs.conf後,執行ncs —reload。
progress.trace
預設情況下未啟用此日誌,但在第一次安裝時在ncs.conf中啟用。要啟用此日誌,請開啟/etc/ncs/ncs.conf並更改<progress-trace>的內容。
true
${NCS_LOG_DIR}
編輯ncs.conf後,執行ncs —reload。
ncs-smart-licensing.log
預設情況下未啟用此日誌。日誌從NSO CLI啟用,後者可通過SSH或ncs_cli -C -noaaa訪問。要啟用此日誌,請執行以下操作:
設定
已啟用智慧許可證智慧代理出站捕獲
提交無網路
要恢復日誌記錄更改,請執行以下操作:
設定
未啟用智慧許可證智慧代理stdout捕獲
提交無網路
北向
localhost:xxxx.access
預設情況下啟用此日誌。此日誌的名稱因HTTP埠而異。預設值為8080和8888。要啟用此日誌,請開啟/etc/ncs/ncs.conf並更改<webui-access-log>的內容。
true
${NCS_LOG_DIR}
編輯ncs.conf後,執行ncs —reload。
traffic.trace
預設情況下未啟用此日誌。traffic.trace日誌在目錄(如/var/log/ncs/trace_20240628_010010/)中生成。要啟用此日誌,請開啟/etc/ncs/ncs.conf並更改<webui-access-log>的內容。
true
${NCS_LOG_DIR}
true
編輯ncs.conf後,執行ncs —reload。
netconf.log
預設情況下啟用此日誌。要啟用此日誌,請開啟/etc/ncs/ncs.conf,然後在<netconf-log>後新增內容。
true
${NCS_LOG_DIR}/netconf.log
true
編輯ncs.conf後,執行ncs —reload
其他選項:在之true
後
插入,使NSO記錄rpc-reply狀態「ok」或「error」。
netconf-trace.log
預設情況下未啟用此日誌。若要啟用此日誌,請開啟/etc/ncs/ncs.conf,然後更改<netconf-trace-log>的內容。
true
${NCS_LOG_DIR}/netconf-trace.log
編輯ncs.conf後,執行ncs —reload。
json-rpc.log
預設情況下未啟用此日誌。若要啟用此日誌,請開啟/etc/ncs/ncs.conf,然後在<jsonrpc-log>之後新增內容。
true
${NCS_LOG_DIR}/json-rpc.log
true
編輯ncs.conf後,執行ncs —reload。
南行
裝置NED跟蹤
預設情況下未啟用此日誌。日誌從NSO CLI啟用,後者可通過SSH或ncs_cli -C -noaaa訪問。
要為裝置啟用跟蹤,請執行以下操作:
設定
devices device <devicename> trace raw
devices device <devicename> ned-setting <ned-id> logger level debug
提交無網路
要檢視應用於裝置的所有日誌設定,請使用show devices device <devicename> active-settings。
要清除device-trace檔案的內容,請使用devices device <devicename> clear-trace。
要禁用裝置跟蹤,請執行以下操作:
設定
no devices device <devicename>跟蹤
提交無網路
audit-network.log
預設情況下未啟用此日誌。要啟用此日誌,請開啟/etc/ncs/ncs.conf,然後在<audit-network-log>後新增內容。
true
${NCS_LOG_DIR}/audit-network.log
true
編輯ncs.conf後,執行ncs —reload。