Configuring Online Diagnostics


This chapter describes how to configure the online diagnostics on the Catalyst 3750 switches:


Note For complete syntax and usage information for the commands used in this chapter, refer to the Catalyst 3750 Switch Cisco IOS Command Reference, Release 12.2(25)SEE at this URL:

http://www.cisco.com/en/US/products/hw/switches/ps5023/prod_command_reference_list.html


This chapter consists of these sections:

Understanding How Online Diagnostics Work

Running Online Diagnostic Tests

Understanding How Online Diagnostics Work

With online diagnostics, you can test and verify the hardware functionality of the switch while the switch is connected to a live network.

The online diagnostics contain packet switching tests that check different hardware components and verify the data path and control signals.

The online diagnostics detect problems in the following areas:

Hardware components

Interfaces (Ethernet ports, and so forth)

Solder joints

Online diagnostics are categorized as on-demand, schedule, or health monitoring diagnostics. On-demand diagnostics run from the CLI; schedule diagnostics run at user-designated intervals or specified times when the switch is connected to a live network; and health-monitoring runs in the background.

Scheduling Online Diagnostics

You can schedule online diagnostics to run at a designated time of day or on a daily, weekly, or monthly basis for a specific switch. Use the no form of this command to remove the scheduling.

To schedule online diagnostics, perform this task:

Command
Purpose

Switch(config)# diagnostic schedule {switch num} test {test_id | test_id_range | all} {on mm dd yyyy hh:mm} | {daily hh:mm} | {weekly day_of_week hh:mm}

Schedules on-demand diagnostic tests for a specific date and time, how many times to run (iterations), and what action to take when errors are found.


This example shows how to schedule diagnostic testing on a specific date and time for a specific switch:

Switch(config)# diagnostic schedule switch 1 test 1,2,4-6 on january 3 2006 23:32
Switch(config)#

This example shows how to schedule diagnostic testing to occur daily at a certain time for a specific switch:

Switch(config)# diagnostic schedule switch 1 test 1,2,4-6 weekly friday 09:23
Switch(config)#

Configuring Health-Monitoring Diagnostics

You can configure health-monitoring diagnostic testing on specified switch while the switch is connected to a live network. You can configure the execution interval for each health monitoring test, whether or not to generate a system message upon test failure, or to enable or disable an individual test. Use the no form of this command to disable testing.

To configure health monitoring diagnostic testing, perform this task:

 
Command
Purpose

Step 1 

Switch(config)# diagnostic monitor interval {switch num} test {test_id | test_id_range | all} [hour:mm:ss] [day day]

Configures the health-monitoring interval of the specified tests for the specified switch. The no form of this command will change the interval to the default interval, or zero.

Step 2 

Switch(config)#[no] diagnostic monitor {switch num} test {test_id | test_id_range | all}

Enables or disables health-monitoring diagnostic tests.

Step 3 

Switch(config)#[no] diagnostic monitor threshold {switch num} test {test_id | test_id_range | all} count {count}

Sets the failure threshold for monitoring tests.


This example shows how to configure the specified test to run every two minutes:

Switch(config)# diagnostic monitor interval switch 1 test 1 min 2
Switch(config)#

This example shows how to run the test on the specified switch if health monitoring has not previously been enabled:

Switch(config)# diagnostic monitor switch 1 test 1

This example shows how to set the failure threshold for test monitoring on a switch:

Switch(config)# diagnostic monitor threshold switch 1 test 1 count 50
Switch(config)#

This example shows how to enable the generation of a syslog message when any health monitoring test fails:

Switch(config)# diagnostic monitor syslog
Switch(config)#

Running Online Diagnostic Tests

After you configure online diagnostics, you can start diagnostic tests or display the test results. You can also see which tests are configured for each switch and what diagnostic tests have already run.

These sections describe how to run online diagnostic tests after they have been configured:

Starting Online Diagnostic Tests

Displaying Online Diagnostic Tests and Test Results

Starting Online Diagnostic Tests

After you configure diagnostic tests to run on the switch or individual switches, you can use start to begin a diagnostic test.

To start an online diagnostic command, perform one of these tasks:

Command
Purpose

diagnostic start {switch num} test {test_id | test_id_range | basic | non-disruptive

| all}

Starts a diagnostic test on a specific switch.


This example shows how to start a diagnostic test on a specific switch:

Switch# diagnostic start switch 1 test 1
Switch#
06:27:50: %DIAG-6-TEST_RUNNING: Switch 1: Running TestPortAsicStackPortLoopback{ID=1} ...
(switch-1)
06:27:51: %DIAG-6-TEST_OK: Switch 1: TestPortAsicStackPortLoopback{ID=1} has completed
successfully (switch-1)
Switch#

This example shows how to start diagnostics test 2 on a switch that will disrupt normal system operation and will cause the switch to lose stack connectivity and then reload:

Switch# diagnostic start switch 1 test 2
Switch 1: Running test(s) 2 will cause the switch under test to reload after completion of
the test list.
Switch 1: Running test(s) 2 may disrupt normal system operation
Do you want to continue? [no]: y
Switch#
16:43:29: %STACKMGR-4-STACK_LINK_CHANGE: Stack Port 2 Switch 2 has changed to state DOWN
16:43:30: %STACKMGR-4-STACK_LINK_CHANGE: Stack Port 1 Switch 9 has changed to state DOWN
16:43:30: %STACKMGR-4-SWITCH_REMOVED: Switch 1 has been REMOVED from the stack
Switch#
16:44:35: %STACKMGR-4-STACK_LINK_CHANGE: Stack Port 1 Switch 2 has changed to state UP
16:44:37: %STACKMGR-4-STACK_LINK_CHANGE: Stack Port 2 Switch 2 has changed to state UP
16:44:45: %STACKMGR-4-SWITCH_ADDED: Switch 1 has been ADDED to the stack
16:45:00: %STACKMGR-5-SWITCH_READY: Switch 1 is READY
16:45:00: %STACKMGR-4-STACK_LINK_CHANGE: Stack Port 1 Switch 1 has changed to state UP
16:45:00: %STACKMGR-4-STACK_LINK_CHANGE: Stack Port 2 Switch 1 has changed to state UP
00:00:20: %STACKMGR-4-SWITCH_ADDED: Switch 1 has been ADDED to the stack (Switch-1)
00:00:20: %STACKMGR-4-SWITCH_ADDED: Switch 2 has been ADDED to the stack (Switch-1)
00:00:25: %SPANTREE-5-EXTENDED_SYSID: Extended SysId enabled for type vlan (Switch-1)
00:00:29: %SYS-5-CONFIG_I: Configured from memory by console (Switch-1)
00:00:29: %STACKMGR-5-SWITCH_READY: Switch 2 is READY (Switch-1)
00:00:29: %STACKMGR-5-MASTER_READY: Master Switch 2 is READY (Switch-1)
00:00:30: %STACKMGR-5-SWITCH_READY: Switch 1 is READY (Switch-1)
00:00:30: %DIAG-6-TEST_RUNNING: Switch 1: Running TestPortAsicLoopback{ID=2} ...
(Switch-1)
00:00:30: %DIAG-6-TEST_OK: Switch 1: TestPortAsicLoopback{ID=2} has completed successfully
(Switch-1)

You will see the following message displayed if the test will cause a stack partition:

Switch 6: Running test(s) 2 will cause the switch under test to reload after completion of
the test list.
Switch 6: Running test(s) 2 will partition stack
Switch 6: Running test(s) 2 may disrupt normal system operation
Do you want to continue? [no]:

Displaying Online Diagnostic Tests and Test Results

You can display the online diagnostic tests that are configured for specific switches and check the results of the tests using the show commands.

To display the diagnostic tests that are configured for a switch, perform this task:

Command
Purpose

show diagnostic content [switch num]

Displays the online diagnostics configured for a switch.

show diagnostic status

Displays whether a switch is running a test.

show diagnostic result switch[1:9 | all] detail

Displays the online diagnostics test results.

show diagnostic result switch[1:9 | all] test [test_id | test_id_range | all] detail

Displays the online diagnostics test results.

show diagnostic schedule [switch num | all]

Displays the online diagnostics test schedule.

show diagnostic post

Displays the results of POST and is the same as the show post command.


This example shows how to display the online diagnostics that are configured on a switch:

Switch# show diagnostic content switch 3

Switch 3:
Diagnostics test suite attributes:
B/* - Basic ondemand test / NA
P/V/* - Per port test / Per device test / NA
D/N/* - Disruptive test / Non-disruptive test / NA
S/* - Only applicable to standby unit / NA
X/* - Not a health monitoring test / NA
F/* - Fixed monitoring interval test / NA
E/* - Always enabled monitoring test / NA
A/I - Monitoring is active / Monitoring is inactive
R/* - Switch will reload after test list completion / NA
?/* - will partition stack / NA
Test Interval Thre-
ID Test Name Attributes day hh:mm:ss.ms shold
==== ================================== ============ =============== =====
1) TestPortAsicStackPortLoopback ---> B*N****A** 000 00:01:00.00 n/a
2) TestPortAsicLoopback ------------> B*D*X**IR* not configured n/a
3) TestPortAsicCam -----------------> B*D*X**IR* not configured n/a
4) TestPortAsicRingLoopback --------> B*D*X**IR* not configured n/a
5) TestMicRingLoopback -------------> B*D*X**IR* not configured n/a
6) TestPortAsicMem -----------------> B*D*X**IR* not configured n/a

This example shows how to display the online diagnostic results for a switch:

Switch# show diagnostic result switch 1
Switch 1: SerialNo :
Overall diagnostic result: PASS
Test results: (. = Pass, F = Fail, U = Untested)
1) TestPortAsicStackPortLoopback ---> .
2) TestPortAsicLoopback ------------> .
3) TestPortAsicCam -----------------> .
4) TestPortAsicRingLoopback --------> .
5) TestMicRingLoopback -------------> .
6) TestPortAsicMem -----------------> .

This example shows how to display the online diagnostic test status:

Switch# show diagnostic status
<BU> - Bootup Diagnostics, <HM> - Health Monitoring Diagnostics,
<OD> - OnDemand Diagnostics, <SCH> - Scheduled Diagnostics
====== ================================= =============================== ======
Card Description Current Running Test Run by
------ --------------------------------- ------------------------------- ------
2 N/A N/A
3 N/A N/A
4 N/A N/A
5 N/A N/A
6 N/A N/A
7 N/A N/A
8 TestPortAsicStackPortLoopback <SCH>
TestPortAsicLoopback <SCH>
TestPortAsicCam <SCH>
TestPortAsicRingLoopback <SCH>
TestMicRingLoopback <SCH>
TestPortAsicMem <SCH>
====== ================================= =============================== ======
Switch# 

This example shows how to display the online diagnostic test schedule for a switch:

This example shows how to display the online diagnostic test schedule for a switch:

Switch# show diagnostic schedule switch 1
Current Time = 14:39:49 PST Tue Jul 5 2005
Diagnostic for Switch 1:
Schedule #1:
To be run daily 12:00
Test ID(s) to be executed: 1.