Documentation forKiwi CatTools

Debug Log

The debug log gives the exact picture of communication between devices and CatTools. The debug log is used when there may be some communication errors between Kiwi CatTools and a device.

The four main notations used in debug log are:

  • <R- = data read from the device.
  • <W- = data written to the device.
  • <C- = connected to the device.
  • <D- = disconnected from the device.

Sample Debug log

<NEWSESSION CatTools 3.10.0 1/29/2014 3:47:29 AM>
<PROTOCOL=Telnet>
<DEVICE TYPE=Cisco.Router.General>
<ACTIVITY TYPE=Device.Backup.Running Config>
<ACTIVITY SCRIPT=C:\Program Files\CatTools3\Scripts\Client.Device.Backup.Running Config.txt>
<USERS NAME FOR DEVICE=Cisco Router 1>
<C OK 3:47:30 AM>
<R-3:47:30 AM>[13][10][13][10]User Access Verification[13][10][13][10]Username:
<W-3:47:30 AM>admin[13]
<R-3:47:31 AM>admin
<R-3:47:31 AM>[13][10]Password:
<W-3:47:31 AM>password[13]
<R-3:47:31 AM>[13][10]bgp-2651-03#
<W-3:47:31 AM>[13]
<W-3:47:41 AM>logout[13]
<D 3:47:41 AM>
<SCRIPT VALUES>
<HOSTNAME="bgp-2651-03">
<PROMPT VTY="bgp-2651-03>">
<PROMPT ENABLE="bgp-2651-03#">
<PROMPT CONFIG="">

Sample debug log where activity is not running

<NEWSESSION CatTools 3.10.0 1/29/2014 3:52:23 AM>
<PROTOCOL=Telnet>
<DEVICE TYPE=Juniper.Router>
<ACTIVITY TYPE=Device.Backup.Running Config>
<ACTIVITY SCRIPT=C:\Program Files\CatTools3\Scripts\Client.Device.Backup.Running Config.txt>
<USERS NAME FOR DEVICE=Juniper Router 1>
<C OK 3:52:24 AM>
<R-3:52:25 AM>[13][00][13][10]stp-j2320 (ttyp0)[13][00][13][10][13][00][13][10]login:
================================================================
WFMDRetVal=1 Waiting for: "Username:"
WFMDRetVal=2 Waiting for: "Password"
WFMDRetVal=3 Waiting for: "Password required, but none set"
WFMDBuffer="[13][00][13][10]stp-j2320 (ttyp0)[13][00][13][10][13][00][13][10]login: "
=====================================================================

How to use debug log

The debug log allows you to check the exact communication between the device and CatTools.

If you get an output similar to the second log sample above, then CatTools is waiting for a username prompt, but the prompt given by device is login from buffer. So, using the variations functions we can change the device scripts and manually enter information for the prompts.

A user can add a Variations prompt to the return value from the buffer. When the activity is running the next time, the return value is matched and communication is continued.