目录

简介

先决条件

要求

使用的组件

规则

跟踪概述

高级集成模块(AIM)与网络模块(NM)

配置跟踪

收集跟踪数据

使用跟踪缓冲区

存储的跟踪日志文件

跟踪FTP服务器

JTAPI跟踪

关闭跟踪

重新启用默认跟踪

相关信息

简介

本文档概述了Cisco Unity Express(CUE)中的跟踪功能。 Trace是Cisco Unity Express中的调试工具，用于排除各种问题。启用跟踪功能后，可能会对系统性能产生负面影响。由于此问题，思科建议您仅应思科技术支持的请求启用跟踪，以收集有关特定问题的信息。对于实验室或维护窗口中的系统，跟踪功能可用于排除故障并了解Cisco Unity Express行为。

先决条件

要求

思科建议您通过命令行界面(CLI)基本熟悉Cisco Unity Express的管理和使用。

使用的组件

此功能需要Cisco Unity Express 1.0版或更高版本。集成方法（Cisco CallManager或Cisco CallManager Express）并不重要。所有示例配置和屏幕输出均取自Cisco Unity Express 1.1.1版。

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始（默认）配置。如果您使用的是真实网络，请确保您已经了解所有命令的潜在影响。

规则

有关文档规则的详细信息，请参阅 Cisco 技术提示规则。

跟踪概述

熟悉Cisco IOS®软件的人很可能不熟悉其CLI和强大的调试功能。Cisco Unity Express的工具在功能上相似，但有一些重要区别。在Cisco Unity Express中，debug命令不存在。相反，有一个trace命令。跟踪工具是一种诊断工具，它将消息写入内存的内核缓冲区中。此内存空间（大小可达10 MB）会定期（如果已配置）写入本地跟踪文件(atrace.log)、外部FTP服务器上的文件或同时写入两者。

注意：记录到FTP服务器的atrace.log文件和跟踪数据不是纯文本。数据必须发送给思科技术支持以进行诊断。

您可以手动将写在Cisco Unity Express模块（atrace.log和messages.log以及其他文件）上的每个文件复制到外部FTP服务器。

Cisco Unity Express还支持与Cisco IOS软件中的系统日志类似的日志设备。这些消息来自操作系统以及按不同级别分类的其他应用程序源。这些是Info、Warning、Error和Fatal消息，它们写入Cisco Unity Express(messages.log)上的另一个文件。 它们也可以写入到外部系统日志服务器以及Cisco Unity Express的控制台。

如果希望CUE模块将INFO消息记录到外部系统日志服务器，请在CUE模块中发出以下命令：

CUE> config t

CUE(config)>log server

默认情况下，AIM上仅记录致命消息。对于大多数常见问题，需要messages.log文件和故障跟踪信息。

如果思科技术支持指示您收集特定跟踪，您应同意需要启用的特定跟踪和捕获方法。例如，可以使用实时跟踪、查看跟踪内存缓冲区或捕获FTP服务器上的跟踪数据。

高级集成模块(AIM)与网络模块(NM)

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上内部闪存卡的使用寿命与向其发出的写入次数有关。不断地写下痕迹会显着缩短寿命。

注意：在配置模式下发出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不存储这些跟踪的输出。对于大多数常规故障排除，这些跟踪级别已足够。如果最近发生问题，则跟踪内存缓冲区中可能仍有一些历史记录。

发出跟踪模块实体活动命令以启用跟踪。例如：

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

每个模块下有许多实体。练习级别有所不同（通常在模块之间）。 通常，每个实体都至少具有调试（有时拼写为DBUG）和所有活动级别。一般来说，调试活动级别已足够。

可以多次发出跟踪模块实体活动命令，直到所有所需模块和实体的跟踪被启用。

设置哪些跟踪并不重要。重新加载后，系统恢复为默认跟踪级别。为了更改这些默认设置以使其在重新启动后继续运行，您必须发出log trace boot命令。

收集跟踪数据

配置所有跟踪后，数据将写入内存缓冲区。然后，可以在消息传入时实时显示，或在事件或测试发生后查看缓冲区。

使用跟踪缓冲区

基于内存的跟踪缓冲区是检查跟踪的首批位置之一。可以实时查看，因此跟踪消息在进入时显示。作为替代，可显示和检查全部或部分内存缓冲区。

实时跟踪

在对受控系统中的问题进行故障排除时（当没有多个同时呼叫或系统尚未投入生产时），实时跟踪特别有用。 由于跟踪输出行经常换行，而且信息几乎总是以比读取更快的速度滚动，因此在打开实时跟踪之前，请将控制台输出记录到文本文件中。这允许稍后在文本编辑器中查看信息。例如，在Microsoft Hyperterminal中，可以选择“传输”>“捕获文本”，然后指定捕获文件。

实时跟踪功能对系统的性能影响也最大。谨慎使用。

发出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软件调试输出类似。其中一个区别是，您只需按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关键字，以便输出一次显示一页。长格式包括许多错误代码和返回代码的扩展文本，而短格式只能包括十六进制代码。虽然通常比较容易获取带有终端程序捕获功能的所有内容，然后在文本编辑器中使用“查找”功能搜索特定内容，但如果只需要搜索特定错误条件，则contain关键字非常有用。它允许使用正则表达式参数来过滤显示器的输出。

注意：不能仅使用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 命令，用于atrace.log.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文件并开始新文件。

跟踪FTP服务器

跟踪大量数据（尤其是在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版，则使用以前的命令作为日志跟踪服务器url "ftp//172.18.106.10/path/" username jdoe password mypass。

注意：当您将日志发送到FTP服务器时，还必须配置日志跟踪服务器enable。

vnt-nm-cue(config)>log trace server enable

注意：系统在FTP服务器上的指定路径中生成文件。它必须具有创建和修改指定目录中的文件的权限，该目录必须存在。解析器提取用户名和密码，这些用户名和密码在配置文件本身(show running-config)中显示。

注意：记录到FTP服务器的跟踪文件不是纯文本文件。必须将其发送给思科技术支持以进行诊断。

JTAPI跟踪

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上的闪存卡的寿命。

重新加载后，系统开始写入文件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

相关信息

- 语音技术支持

- 语音和统一通信产品支持

- Cisco IP 电话故障排除

- 技术支持和文档 - Cisco Systems