本文檔概述了Cisco Unity Express(CUE)中的跟蹤功能。 跟蹤是Cisco Unity Express中的調試工具,用於排除各種問題。啟用跟蹤功能後,可能會對系統效能產生負面影響。由於存在此問題,思科建議您只在思科技術支援的請求下啟用跟蹤,以收集有關特定問題的資訊。對於實驗室中或維護視窗中的系統,可以使用跟蹤功能排除故障並瞭解Cisco Unity Express行為。
Cisco建議您通過命令列介面(CLI)對Cisco Unity Express的管理和使用基本熟悉。
此功能需要Cisco Unity Express 1.0版或更高版本。整合方法(Cisco CallManager或Cisco CallManager Express)並不重要。所有配置和螢幕輸出示例均取自Cisco Unity Express版本1.1.1。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路正在作用,請確保您已瞭解任何指令可能造成的影響。
如需文件慣例的詳細資訊,請參閱思科技術提示慣例。
熟悉Cisco IOS®軟體的人很可能不熟悉其CLI和強大的調試功能。Cisco Unity Express具有在功能上相似的工具,但有一些重要的區別。在Cisco Unity Express中,debug命令不存在。相反,有一個trace命令。跟蹤工具是一個診斷工具,用於在記憶體中的核心緩衝區中寫入消息。此記憶體空間(最大可為10 MB)會定期(如果已配置)寫入本地跟蹤檔案(atrace.log)、外部FTP伺服器上的檔案,或同時寫入兩者。
注意:atrace.log檔案和記錄到FTP伺服器的跟蹤資料不是純文字檔案格式。必須將資料傳送到思科技術支援進行診斷。
您可以手動將Cisco Unity Express模組上寫入的每個檔案(atrace.log和messages.log以及其他檔案)複製到外部FTP伺服器。
Cisco Unity Express還支援類似Cisco IOS軟體中的syslog的日誌工具。這些消息來自作業系統以及按不同級別分類的其他應用程式源。這些消息包括寫入Cisco Unity Express(messages.log)上的其他檔案的資訊、警告、錯誤和致命消息。 它們還可以寫入外部系統日誌伺服器以及Cisco Unity Express的控制檯。
如果您希望CUE模組將INFO消息記錄到外部系統日誌伺服器,請在CUE模組中發出以下命令:
CUE> config t CUE(config)>log server
預設情況下,AIM上只記錄致命消息。對於大多數一般問題,需要messages.log檔案和故障的跟蹤資訊。
如果思科技術支援指示收集特定跟蹤,您應就需要啟用的特定跟蹤和捕獲方法達成一致。例如,您可以使用即時跟蹤、檢視跟蹤記憶體緩衝區或在FTP伺服器上捕獲跟蹤資料。
Cisco Unity Express有兩種硬體型號:AIM和NM。在跟蹤函式方面,兩者之間存在著一些重要的區別:
AIM | NM |
---|---|
atrace.log檔案預設處於禁用狀態。發出log trace local enable命令以開始,並發出log trace local disable命令以停止。 | atrace.log檔案預設啟用。還支援跟蹤到外部伺服器。 |
atrace.log的最大大小為10 MB。 | atrace.log的最大大小為100 MB。 |
atrace.log檔案在滿時不會換行。 | atrace.log檔案已滿時打包。 |
如何啟用和檢視跟蹤資料,將在本文檔後面更詳細地說明。預設情況下,AIM不會將任何跟蹤資訊儲存在快閃記憶體本身中。此外,跟蹤資料的內部儲存容量(如果已啟用)會更為有限。這是因為AIM上的內部CF卡的生命週期與向其發出的寫入數量有關。不斷書寫痕跡會大大縮短壽命。
注意:在配置模式下發出log trace local disable命令,然後發出log trace local enable命令,以便在已達到最大大小的AIM上重新啟動atrace.log檔案。這將刪除原始atrace.log檔案並開始一個新檔案。
對於日誌設施,也有重要的區別:
AIM | NM |
---|---|
預設情況下,只有致命消息記錄到messages.log檔案中。在配置模式下發出命令log console info,檢視所有消息。 | 所有類別的消息都會記錄到messages.log檔案中。 |
注意:在Cisco Unity Express上配置跟蹤可能會對系統效能產生負面影響,尤其是當您寫入已啟用本地日誌檔案時。這可能包括提示延遲和雙音多頻(DTMF)音調響應時間,以及錄製或播放的音訊品質問題。請謹慎配置跟蹤。
跟蹤配置控制寫入跟蹤記憶體緩衝區的消息型別。此10 MB緩衝區始終會換行,以便顯示最新的跟蹤資訊。由於系統的活動級別不同,因此無法確定此跟蹤緩衝區覆蓋的時間段。但是,如果已配置,則緩衝區會寫入本地atrace.log檔案或FTP伺服器。
您只能從Cisco Unity Express CLI配置跟蹤。發出show trace命令,檢視當前啟用的跟蹤。
例如:
vnt-3745-44a#service-module service-Engine 4/0 session Trying 172.18.106.66, 2129 ... Open vnt-nm-cue# vnt-nm-cue#show trace MODULE ENTITY SETTING ccn Engine 00000001 ccn LibLdap 00000001 ccn SubsystemAppl 00000001 ccn ManagerAppl 00000001 ccn ManagerChannel 00000001 ccn SubsystemJtapi 00000001 ccn SubsystemSip 00000001 ccn StackSip 00000001 ccn SubsystemHttp 00000001 ccn VbrowserCore 00000001 ccn SubsystemCmt 00000001 ccn LibMedia 00000001 ccn ManagerContact 00000001 ccn StepCall 00000001 ccn StepMedia 00000001 config-ccn sip-subsystem 00000001 config-ccn jtapi-subsystem 00000001 config-ccn sip-trigger 00000001 config-ccn jtapi-trigger 00000001 config-ccn http-trigger 00000001 config-ccn group 00000001 config-ccn application 00000001 config-ccn script 00000001 config-ccn prompt 00000001 config-ccn miscellaneous 00000001 voicemail database 0000008f voicemail mailbox 0000003f voicemail message 0000002f webInterface initwizard 00000001 vnt-nm-cue#
以下是NM和AIM的預設跟蹤設定。預設情況下,AIM不會在任何位置儲存這些跟蹤的輸出。對於大多數一般故障排除,這些跟蹤級別就足夠了。如果最近發生問題,則跟蹤記憶體緩衝區中可能仍存在一些歷史記錄。
發出trace module entity activity 命令以啟用跟蹤。例如:
vnt-nm-cue#trace ccn subsystemsip dbug
以下是CUE 1.1.1的模組:
vnt-nm-cue#trace ? BackupRestore Module all Every module, entity and activity ccn Module config-ccn Module dns Module superthread Module udppacer Module voicemail Module webInterface Module
每個模組下有許多實體。活動級別有些變化(通常因模組而異)。 一般情況下,每個實體至少有一個debug(有時拼寫為DBUG)和all活動級別。通常,調試活動級別就足夠了。
可以多次發出trace module entity activity 命令,直到啟用所有所需模組和實體的跟蹤。
設定哪些跟蹤並不重要。重新載入後,系統還原為預設追蹤層級。若要更改這些預設設定,使其在重新引導後繼續運行,您必須發出log trace boot命令。
配置完所有跟蹤後,資料將寫入記憶體緩衝區。然後,它可以在消息傳入時即時顯示,或者可以在發生事件或測試後檢視緩衝區。
基於記憶體的跟蹤緩衝區是首先檢查跟蹤的位置之一。它可以即時檢視,因此跟蹤消息在進入時顯示。作為替代方案,可以顯示和檢查全部或部分記憶體緩衝區。
即時跟蹤在排查受控系統中問題(同時呼叫不多或系統尚未投入生產時)時特別有用。 由於跟蹤輸出線通常為換行,並且資訊的滾動速度幾乎總是快於讀取速度,因此在開啟即時跟蹤之前,請將控制檯輸出記錄到文本檔案中。這樣以後便可以在文本編輯器中檢視資訊。例如,在Microsoft超級終端機中,可以選擇「傳輸>擷取文字」,然後指定擷取檔案。
即時跟蹤功能對系統效能的影響也最大。請謹慎使用。
發出show trace buffer tail命令以即時檢視跟蹤資訊。例如:
vnt-nm-cue>show trace buffer tail Press <CTRL-C> to exit... 295 06/22 10:39:55.428 TRAC TIMZ 1 EST EDT 18000 2019 06/22 11:20:15.164 ACCN SIPL 0 receive 1098 from 172.18.106.66:54948 2020 06/22 11:20:15.164 ACCN SIPL 0 not found header for Date 2020 06/22 11:20:15.164 ACCN SIPL 0 not found header for Supported 2020 06/22 11:20:15.164 ACCN SIPL 0 not found header for Min-SE 2020 06/22 11:20:15.165 ACCN SIPL 0 not found header for Cisco-Guid 2020 06/22 11:20:15.165 ACCN SIPL 0 not found header for Remote-Party-ID 2020 06/22 11:20:15.165 ACCN SIPL 0 not found header for Timestamp 2020 06/22 11:20:15.165 ACCN SIPL 0 not found header for Call-Info 2020 06/22 11:20:15.165 ACCN SIPL 0 not found header for Allow-Events 2020 06/22 11:20:15.166 ACCN SIPL 0 ------- INVITE sip:18999@172.18.106.88:5060 SIP/2.0 Via: SIP/2.0/UDP 172.18.106.66:5060;branch=z9hG4bK1678 From: "Caller1" <sip:201@172.18.106.66>;tag=23F5B364-22C9 To: <sip:18999@172.18.106.88> Date: Tue, 22 Jun 2004 15:20:14 GMT Call-ID: 7E86EC94-C39611D8-AF50DA50-D3EDBBC9@172.18.106.66 Supported: 100rel,timer Min-SE: 1800 Cisco-Guid: 2092538615-3281392088-2941114960-3555572681 ...
此資訊滾動類似Cisco IOS軟體debug輸出。一個不同之處在於,您只需按Control-C組合鍵即可將其停止。
記憶體中的跟蹤緩衝區的大小可高達10 MB。需要瞭解的命令列引數有:
vnt-nm-cue>show trace buffer ? <cr> containing Only display events matching a regex pattern long Show long format short Show short format tail Wait for events and print them as they occur | Pipe output to another command
在大多數情況下,應該使用的唯一選項是show trace buffer long。可以在末尾新增paged關鍵字,以便每次顯示一頁輸出。長格式包括許多錯誤和返回代碼的擴展文本,而短格式可能僅包括十六進位制代碼。雖然通過終端程式的捕獲功能捕獲所有內容然後使用文本編輯器中的「查詢」功能來搜尋特定內容通常更容易,但如果您只需要搜尋特定的錯誤條件,則containing關鍵字非常有用。它允許使用正規表示式引數來過濾到顯示的輸出。
注意:無法僅使用包含關鍵字搜尋特定呼叫或端口號碼。
vnt-nm-cue>show trace buffer long paged 2029 06/24 17:48:40.479 ACCN SIPL 0 receive 1096 from 172.18.106.66:49255 2030 06/24 17:48:40.480 ACCN SIPL 0 not found header for Date 2030 06/24 17:48:40.480 ACCN SIPL 0 not found header for Supported 2030 06/24 17:48:40.480 ACCN SIPL 0 not found header for Min-SE 2030 06/24 17:48:40.480 ACCN SIPL 0 not found header for Cisco-Guid 2030 06/24 17:48:40.480 ACCN SIPL 0 not found header for Remote-Party-ID 2030 06/24 17:48:40.480 ACCN SIPL 0 not found header for Timestamp 2030 06/24 17:48:40.480 ACCN SIPL 0 not found header for Call-Info 2030 06/24 17:48:40.480 ACCN SIPL 0 not found header for Allow-Events 2030 06/24 17:48:40.481 ACCN SIPL 0 ------- INVITE sip:18900@172.18.106.88:5060 SIP/2.0 Via: SIP/2.0/UDP 172.18.106.66:5060;branch=z9hG4bK1128 From: "Caller1" <sip:201@172.18.106.66>;tag=2FA6AE58-20E5 To: <sip:18900@172.18.106.88> Date: Thu, 24 Jun 2004 21:48:40 GMT Call-ID: 16EEB21C-C55F11D8-BF05DA50-D3EDBBC9@172.18.106.66 Supported: 100rel,timer Min-SE: 1800 Cisco-Guid: 384701940-3311342040-3204635216-3555572681 User-Agent: Cisco-SIPGateway/IOS-12.x Allow: INVITE, OPTIONS, BYE, CANCEL, ACK, PRACK, COMET, REFER, SUBSCRIBE, NOTIFY, INFO, UPDATE, REGISTER CSeq: 101 INVITE Max-Forwards: 6
發出clear trace命令以清除跟蹤記憶體緩衝區。對於大多數故障排除情況,您可以設定要收集的跟蹤,發出clear trace命令以清除緩衝區,重新建立要為其收集跟蹤的操作,然後捕獲show trace buffer long命令的輸出。該方法是收集可再現問題跟蹤的最有效方法。
在NM和AIM中(啟用時),跟蹤被寫入atrace.log檔案。show logs命令會顯示所有可用的日誌檔案:
vnt-nm-cue>show logs dmesg syslog.log atrace.log atrace.log.prev klog.log messages.log messages.log.prev root_javacore828.1087272313.txt tomcat_javacore1094.1087272313.txt workflow_javacore1096.1087272313.txt
重要的檔案是atrace.log和messages.log。messages.log檔案包含所有系統消息(在AIM上,它僅包含致命消息和錯誤消息)。 特別是在AIM上, messages.log檔案有時是包含任何歷史資訊的唯一日誌檔案。_javacore檔案是在系統重新啟動時寫入的,通常不像其他檔案(dmesg 、 syslog.log 、 klog.log)那麼重要。 atrace.log.prev和messages.log.prev檔案也很重要(如果存在)。 它們是atrace.log和messages.log的較舊版本。例如,一旦atrace.log檔案被填滿,它就會被複製到atrace.log.prev並啟動新的atrace.log檔案。早期的atrace.log.prev被替換,資訊丟失。
必須將每個檔案個別複製到FTP伺服器。
由於atrace.log檔案可能很大(在NM上最大為100 MB,在AIM上最大為10 MB),因此通常需要將其複製到FTP伺服器。copy log命令用於此目的。在本範例中,FTP使用者名稱(jdoe)和密碼(mypass)是URL的一部分:
vnt-nm-cue>copy log atrace.log url ftp://jdoe:mypass@172.18.106.10/cue/atrace.log % Total % Received % Xferd Average Speed Time Curr. Dload Upload Total Current Left Speed 100 1387k 0 0 100 1387k 0 4476k 0:00:00 0:00:00 0:00:00 6104k
注意:atrace.log檔案不是純文字檔案檔案。必須將其傳送至思科技術支援進行診斷。
也可以從Cisco Unity Express模組本身檢視儲存的日誌檔案。但是,對於atrace.log檔案,不建議這樣做,因為該檔案沒有以純文字檔案格式正確轉換。以下是使用messages.log檔案的範例:
cue-3660-41a#show log name messages.log #!/bin/cat 19:46:08 logmgr: BEGIN FILE 19:46:08 logmgr: START <45>Feb 26 19:46:08 localhost syslog-ng[134]: syslog-ng version 1.6.0rc1 starting <197>Feb 26 19:46:08 localhost syslog_ng: INFO startup.sync syslog-ng arrived phase online <197>Feb 26 19:46:10 localhost err_handler: INFO Recovery Recovery startup :CUE Recovery Script started. <197>Feb 26 19:46:10 localhost err_handler: INFO Recovery Recovery LDAPVerify Verifying LDAP integrity ...
注意:使用show log name命令顯示日誌檔案時,按Control-C鍵組合中斷命令輸出。請注意,執行此操作後需要幾秒鐘才能返回提示。
對Cisco Unity Express中儲存的atrace.log檔案發出show trace store命令(或show trace store-prev命令)。
vnt-nm-cue>show trace store ? <cr> containing Only display events matching a regex pattern long Show long format short Show short format tail Wait for events and print them as they occur | Pipe output to another command vnt-nm-cue>show trace store long paged 236 02/26 14:46:24.029 TRAC TIMZ 0 UTC UTC 0 236 02/26 14:46:24.031 TRAC TIMZ 0 UTC UTC 0 885 06/04 13:14:40.811 WFSP MISC 0 WFSysdbLimits::WFSysdbLimits hwModuleType=NM 885 06/04 13:14:40.812 WFSP MISC 0 WFSysdbProp::getProp 885 06/04 13:14:40.812 WFSP MISC 0 keyName = limitsDir str = /sw/apps/wf/ccnapps/limits 885 06/04 13:14:40.819 WFSP MISC 0 WFSysdbProp::getNodeXml 885 06/04 13:14:40.819 WFSP MISC 0 WFSysdbProp::getProp 885 06/04 13:14:40.820 WFSP MISC 0 keyName = limits str = 885 06/04 13:14:40.822 WFSP MISC 0 WFSysdbProp::getNodeXml(str, str) 885 06/04 13:14:40.822 WFSP MISC 0 WFSysdbProp::getProp 885 06/04 13:14:40.822 WFSP MISC 0 keyName = app str =
在記憶體中顯示跟蹤緩衝區時,長格式非常重要。發出show trace store long命令。此資訊來自atrace.log檔案的開頭,在NM上最大可為100 MB,在AIM上最大可為10 MB。在這種情況下,如果需要搜尋特定事件,則containing關鍵字有時會非常有用。
注意:如果AIM上的atrace.log檔案已增大到最大大小,它將停止記錄對日誌檔案的跟蹤。發出以下命令以重新啟動跟蹤記錄:
VNT-AIM-CUE1>configure terminal Enter configuration commands, one per line. End with CNTL/Z. VNT-AIM-CUE1(config)>log trace local disable VNT-AIM-CUE1(config)>log trace local enable
注意:這些命令刪除舊的atrace.log檔案並開始一個新檔案。
跟蹤大量資料(特別是在AIM上)的最佳選擇是直接將資訊記錄到FTP伺服器。離線跟蹤對效能的影響也最小。這是從組態模式中完成。
注意:如果Cisco Unity Express系統是AIM,則此命令是必需的(網路模組記錄資訊級別以及預設更高的資訊級別):
vnt-nm-cue(config)>log console info
注意:由於空間原因,此命令已下移到第二行。
vnt-nm-cue(config)>log trace server url ftp//172.18.106.10/path/ username jdoe password mypass
註:如果您使用的是Cisco Unity Express版本7.x,則使用前面的命令作為log trace server url "ftp//172.18.106.10/path/"使用者名稱jdoe password mypass。
注意:將日誌傳送到FTP伺服器時,還必須配置日誌跟蹤伺服器啟用。
vnt-nm-cue(config)>log trace server enable
注意:系統在FTP伺服器上的指定路徑中生成檔案。它必須有權在指定的目錄中建立和修改檔案,該檔案必須存在。分析器會擷取在組態檔本身(show running-config)中似乎已加密的使用者名稱和密碼。
注意:記錄到FTP伺服器的跟蹤檔案不是純文字檔案檔案。必須將其傳送至思科技術支援進行診斷。
JTAPI跟蹤與Cisco Unity Express中的任何其他跟蹤工具是分開的。它們僅適用於Cisco CallManager環境。要檢視當前已啟用的JTAPI跟蹤,請發出show ccn trace jtapi命令:
注意:預設情況下,所有JTAPI跟蹤均禁用。
VNT-AIM-CUE1>show ccn trace jtapi Warning: 0 Informational: 0 Jtapi Debugging: 0 Jtapi Implementation: 0 CTI Debugging: 0 CTI Implementation: 0 Protocol Debugging: 0 Misc Debugging: 0
發出以下命令以啟用所有跟蹤:
VNT-AIM-CUE1>ccn trace jtapi debug all You will have to reload the system for your changes to take effect VNT-AIM-CUE1>ccn trace jtapi informational all You will have to reload the system for your changes to take effect VNT-AIM-CUE1>ccn trace jtapi warning all You will have to reload the system for your changes to take effect VNT-AIM-CUE1>show ccn trace jtapi Warning: 1 Informational: 1 Jtapi Debugging: 1 Jtapi Implementation: 1 CTI Debugging: 1 CTI Implementation: 1 Protocol Debugging: 1 Misc Debugging: 1
重新載入系統。發出此處顯示的ccn trace命令可在以後禁用此功能。但是,請在每個命令之前使用no 關鍵字。例如,發出no ccn trace jtapi debug all。這是需要記住的重要步驟,特別是在AIM上。未能執行此步驟會影響潛在效能,從而縮短AIM上CF卡的壽命。
重新載入後,系統開始寫入檔案CiscoJtapi1.log和CiscoJtapi2.log(第一個檔案已滿時)。
如果您發出show log name CiscoJtapi1.log命令,則可以在Cisco Unity Express上檢視這些日誌。如果要將日誌檔案複製到FTP伺服器,然後離線檢視資訊,請發出copy log CiscoJtapi1.log url ftp://user:passwd@ftpservipaddr/命令。
可以使用no trace module entity activity CLI命令關閉跟蹤。如有疑問,您可以發出no trace all以關閉所有功能。
您也可以將跟蹤設定本身保留原樣,然後在配置模式下使用no log trace local enable命令禁用跟蹤檔案的寫入。建議在AIM中使用,因為過度寫入會降低內部快閃記憶體卡的壽命。以下是範例:
vnt-nm-cue>configure terminal Enter configuration commands, one per line. End with CNTL/Z. vnt-nm-cue(config)>no log trace local enable vnt-nm-cue(config)>
發出以下命令以禁用對FTP伺服器的跟蹤:
vnt-nm-cue>configure terminal Enter configuration commands, one per line. End with CNTL/Z. vnt-nm-cue(config)>log trace server disable vnt-nm-cue(config)>
當您對特定問題進行故障排除時,通常只啟用特定跟蹤是有意義的。完成後,通常需要重新啟用預設跟蹤設定。使用no trace all命令禁用所有跟蹤以執行此操作。接下來,通過將這些命令貼上到Cisco Unity Express CLI(而不是配置模式)來啟用預設跟蹤:
trace ccn engine dbug trace ccn libldap dbug trace ccn subsystemappl dbug trace ccn managerappl dbug trace ccn managerchannel dbug trace ccn subsystemjtapi dbug trace ccn subsystemsip dbug trace ccn stacksip dbug trace ccn subsystemhttp dbug trace ccn vbrowsercore dbug trace ccn subsystemcmt dbug trace ccn libmedia dbug trace ccn managercontact dbug trace ccn stepcall dbug trace ccn stepmedia dbug trace config-ccn sip-subsystem debug trace config-ccn jtapi-subsystem debug trace config-ccn sip-trigger debug trace config-ccn jtapi-trigger debug trace config-ccn http-trigger debug trace config-ccn group debug trace config-ccn application debug trace config-ccn script debug trace config-ccn prompt debug trace config-ccn miscellaneous debug trace voicemail database query trace voicemail database results trace voicemail database transaction trace voicemail database connection trace voicemail database execute trace voicemail mailbox login trace voicemail mailbox logout trace voicemail mailbox send trace voicemail mailbox save trace voicemail mailbox receive trace voicemail mailbox delete trace voicemail message create trace voicemail message dec trace voicemail message delete trace voicemail message get trace voicemail message inc trace webinterface initwizard init