如何查看并讀懂昇騰平臺的應用日志
當您完成訓練/推理工程開發(fā)后,將工程放到昇騰平臺運行,以調(diào)試工程是否正常,此時,可能會出現(xiàn)各種各樣、五花八門的異常狀況。當問題發(fā)生時,我們的第一反應是不是查看日志,看看哪里報錯了。昇騰平臺有哪些日志呢?日志文件又在哪呢?本期帶您了解如何使用昇騰平臺的日志功能。
01 了解日志分類
根據(jù)工程運行過程中日志產(chǎn)生的場景不同,日志通常被分為以下4類:
調(diào)試日志(debug):記錄調(diào)試級別的相關(guān)信息,一般用于跟蹤運行路徑,如記錄函數(shù)的進入和退出等,大部分為代碼級的信息輸出,調(diào)試日志用于開發(fā)人員定位復雜問題。
操作日志(operation):記錄設備操作維護人員下發(fā)或通過設置相關(guān)的自動化任務下發(fā)的操作和操作結(jié)果。
安全日志(security):記錄系統(tǒng)用戶登錄、注銷和鑒權(quán),增加、刪除用戶,用戶的鎖定和解鎖,角色權(quán)限變更,系統(tǒng)相關(guān)安全配置(如安全日志內(nèi)容配置)變更等活動。
運行日志(run):記錄系統(tǒng)的運行狀況或執(zhí)行流程中的一些關(guān)鍵信息,包括異常的狀態(tài)、動作,關(guān)鍵的事件等。
02 如何獲取日志文件
我們現(xiàn)在知道了昇騰AI處理器有4類日志,那我們需要到哪里查看這些日志呢?本節(jié)來揭秘。昇騰AI處理器具有EP和RC兩種形態(tài),針對不同的硬件形態(tài),日志文件存放位置不同,需根據(jù)實際硬件形態(tài)獲取。
EP形態(tài)日志獲取
應用類日志
用戶應用進程在Host側(cè)和Device側(cè)產(chǎn)生的日志。例如,一個推理/訓練任務下發(fā)后,通常與本次推理/訓練直接相關(guān)的日志都存放在應用類日志中。這類日志默認存放在“$HOME/ascend/log”路徑下,格式如下:
系統(tǒng)類日志
非用戶應用進程在Device側(cè)產(chǎn)生的日志,即Device側(cè)常駐進程運行產(chǎn)生的日志通常都在存放在系統(tǒng)類日志中。這類日志生成時默認存放在Device側(cè)/var/log/npu/slog路徑下,需要在Host側(cè)通過msnpureport工具將其導出到Host側(cè)再進行查看。命令舉例:
通過msnpureport工具導出到Host側(cè)后,系統(tǒng)類日志按Device側(cè)文件夾存放,格式如下:
RC形態(tài)日志獲取
RC形態(tài)日志獲取比較簡單,不管是應用類日志還是系統(tǒng)類日志,均存放在/var/log/npu/slog路徑下。存放格式與EP場景類似:
03 如何讀懂日志內(nèi)容
日志內(nèi)容嚴格按照日志規(guī)范打印,每條日志格式一致、字段含義明確,便于閱讀。日志格式、字段含義如下:

日志內(nèi)容可以通過cat、grep等命令查看。
04 如何設置日志級別
日志級別定義
不同日志級別打印的日志內(nèi)容詳細程度不同,因此,問題定位時可以使用最詳細日志(DEBUG)打印,而驗證性能時使用最簡日志(ERROR)打印即可。日志功能提供了5種級別供大家選擇使用:

說明:各級別日志詳細程度:DEBUG > INFO > WARNING > ERROR
設置日志級別
通過上面日志級別介紹,我們了解到可以根據(jù)自己需求設置不同的日志級別、打印不同詳細程度的日志。那應該如何設置呢?
-?應用類日志級別設置,通過在Host側(cè)通過環(huán)境變量ASCEND_GLOBAL_LOG_LEVEL進行設置,例如設置INFO級別:
- 系統(tǒng)類日志級別設置,針對EP和RC形態(tài)提供了不同的方法。
RC形態(tài)通過修改/var/log/npu/conf/slog/slog.conf配置文件、重啟日志進程生效。
EP形態(tài)通過msnpureport工具設置系統(tǒng)類日志級別。例如:
05 更多介紹
關(guān)于昇騰平臺日志更多介紹,請登錄昇騰文檔中心(https://www.hiascend.com/zh/document)查閱。