Configuring Online Diagnostics


This chapter describes how to configure the online diagnostics on the Cisco ME 3400E switch.


Note For complete syntax and usage information for the commands used in this chapter, see the command reference for this release.


Understanding Online Diagnostics

Configuring Online Diagnostics

Running Online Diagnostic Tests

Understanding Online Diagnostics

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 monitor different hardware components and verify the data path and the control signals.

The online diagnostics detect problems in these areas:

Hardware components

Interfaces (Ethernet ports and so forth)

Solder joints

Table 46-1 lists the diagnostic test IDs and names. For information about test attributes, see the output from the show diagnostic content privileged EXEC command.

Table 46-1 Diagnostic Tests

Test ID Number
Test Name

1

TestPortAsicStackPortLoopback

2

TestPortAsicLoopback

3

TestPortAsicCam

4

TestPortAsicRingLoopback

5

TestMicRingLoopback

6

TestPortAsicMem


Online diagnostics are categorized as on-demand, scheduled, or health-monitoring diagnostics.

On-demand diagnostics run from the CLI.

Scheduled diagnostics run at user-designated intervals or at specified times when the switch is connected to a live network.

Health-monitoring runs in the background.

Configuring Online Diagnostics

You must configure the failure threshold and the interval between tests before enabling diagnostic monitoring.

Scheduling Online Diagnostics

Configuring Health-Monitoring Diagnostics

Scheduling Online Diagnostics

You can schedule online diagnostics to run at a designated time of day or on a daily, weekly, or monthly basis. Use the no form of this command to remove the scheduling. For detailed information about this command, see the command reference for this release.

Beginning in privileged EXEC mode, follow these steps to schedule online diagnostics:

 
Command
Purpose

Step 1 

configure terminal

Enter global configuration mode.

Step 2 

diagnostic schedule test {name | test-id | test-id-range | all | basic | non-disruptive} {daily hh:mm | on mm dd yyyy hh:mm | weekly day-of-week hh:mm}

Schedule on-demand diagnostic tests for a specific day and time.

When specifying the tests to be scheduled, use these options:

name—Name of the test that appears in the show diagnostic content command output. See Table 46-1.

test-id—ID number of the test that appears in the show diagnostic content command output. See Table 46-1.

test-id-range—A range of test ID numbers separated by a hyphen or commas.

all—All of the diagnostic tests.

basic—Basic on-demand diagnostic tests.

non-disruptive—Nondisruptive health-monitoring tests.

You can schedule the tests for these time periods:

Daily—Use the daily hh:mm parameter.

Specific day and time—Use the on mm dd yyyy hh:mm parameter.

Weekly—Use the weekly day-of-week hh:mm parameter.

Step 3 

show diagnostic {content | schedule}

Verify the configured online diagnostic tests and schedule.

Enter show diagnostic content to display the configured online diagnostics.

Enter show diagnostic schedule to display the online diagnostics test schedule.

Step 4 

copy running-config startup-config

(Optional) Save your entries in the configuration file.

Use the no diagnostic schedule test {name | test-id | test-id-range | all | basic | non-disruptive} {daily hh:mm | on mm dd yyyy hh:mm | weekly day-of-week hh:mm} global configuration command to remove the scheduled tests.

This example shows how to schedule diagnostic testing for a specific day and time and verify the schedule:

Switch(config)# diagnostic schedule test 1 on Dec 4 2008 10:22
Switch(config)# end
Switch# show diagnostic schedule      
Current Time = 10:21:24 UTC Thu Dec 4 2008

Diagnostic:

Schedule #1:
        To be run on December 4 2008 10:22
        Test ID(s) to be executed: 1.

At the scheduled time, the switch runs the test:

Switch# #
Dec  4 10:21:59.492: %DIAG-6-SCHED_RUNNING: : Performing Scheduled Online Diagnostic...
Dec  4 10:21:59.492: %DIAG-6-TEST_RUNNING: : Running TestPortAsicStackPortLoopback{ID=1} ..
Dec  4 10:22:00.498: %DIAG-6-TEST_OK: : TestPortAsicStackPortLoopback{ID=1} has completed 
successfully 
Dec  4 10:22:00.498: %DIAG-6-SCHED_COMPLETE: : Scheduled Online Diagnostic is completed

For more examples, see the "Examples" section for the diagnostic schedule test command in the command reference for this release.

Configuring Health-Monitoring Diagnostics

You can configure health-monitoring diagnostic testing while a switch is connected to a live network. You can configure the execution interval for each health-monitoring test, enable the switch to generate a syslog message because of a test failure, and enable a specific test.

By default, health monitoring is disabled. When enabled, the switch generates a syslog message when a test fails.

Beginning in privileged EXEC mode, follow these steps to configure and enable the health-monitoring diagnostic tests:

 
Command
Purpose

Step 1 

configure terminal

Enter global configuration mode.

Step 2 

diagnostic monitor interval test {name | test-id | test-id-range | all} hh:mm:ss milliseconds day

Configure the health-monitoring interval of the specified tests.

Specify the tests by using one of these parameters:

name—Name of the test that appears in the show diagnostic content command output. See Table 46-1.

test-id—ID number of the test that appears in the show diagnostic content command output. See Table 46-1.

test-id-range—A range of test ID numbers separated by a hyphen or commas.

all—All of the diagnostic tests.

When specifying the interval, set these parameters:

hh:mm:ss—Monitoring interval in hours, minutes, and seconds. The range for hh is 0 to 24, and the range for mm and ss is 0 to 60.

milliseconds—Monitoring interval in milliseconds (ms). The range is from 0 to 999.

day—Monitoring interval in number of days. The range is from 0 to 20.

Step 3 

diagnostic monitor syslog

(Optional) Configure the switch to generate a syslog message when a health-monitoring test fails.

Step 4 

diagnostic monitor threshold test {name | test-id | test-id-range | all} failure count count

(Optional) Set the failure threshold for the health-monitoring tests.

Specify the tests by using one of these parameters:

name—Name of the test that appears in the show diagnostic content command output. See Table 46-1.

test-id—ID number of the test that appears in the show diagnostic content command output. See Table 46-1.

test-id-range—A range of test ID numbers separated by a hyphen or commas.

all—All of the diagnostic tests.

The range for the failure threshold count is 0 to 99.

Step 5 

diagnostic monitor test {name | test-id | test-id-range | all}

Enable the specified health-monitoring tests.

Specify the tests by using one of these parameters:

name—Name of the test that appears in the show diagnostic content command output. See Table 46-1.

test-id—ID number of the test that appears in the show diagnostic content command output. See Table 46-1.

test-id-range—ID numbers of the tests that appear in the show diagnostic content command output.

all—All of the diagnostic tests.

Step 6 

end

Return to privileged EXEC mode.

Step 7 

show diagnostic {content | post | result | schedule | status | switch}

Display the online diagnostic test results and the supported test suites. See the "Displaying Online Diagnostic Tests and Results" section for more information.

Step 8 

show running-config

Verify your entries.

Step 9 

copy running-config startup-config

(Optional) Save your entries in the configuration file.

To disable diagnostic testing and return to the default settings, use these commands:

To disable online diagnostic testing, use the no diagnostic monitor test {name | test-id | test-id-range | all} global configuration command.

To return to the default health-monitoring interval, use the no diagnostic monitor interval test {name | test-id | test-id-range | all} global configuration command.

To configure the switch to not generate a syslog message when the health-monitoring test fails, use the no diagnostic monitor syslog global configuration command.

To return to the default failure threshold, use the no diagnostic monitor threshold test {name | test-id | test-id-range | all} failure count count global configuration command.

This example shows how to configure a health-monitoring test:

Switch(config)# diagnostic monitor threshold test 1 failure count 50
Switch(config)# diagnostic monitor interval test TestPortAsicRingLoopback

Running Online Diagnostic Tests

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

Starting Online Diagnostic Tests

Displaying Online Diagnostic Tests and Results

Starting Online Diagnostic Tests

After you configure diagnostic tests to run on the switch, use the diagnostic start privileged EXEC command to begin diagnostic testing.


Note After starting the tests, you cannot stop the testing process.


Command
Purpose

diagnostic start test {name | test-id | test-id-range | all | basic | non-disruptive}

Start the diagnostic tests.

Specify the tests by using one of these parameters:

name—Enter the name of the test. Use the show diagnostic content privileged EXEC command to display the test ID list. See Table 46-1.

test-id—Enter the ID number of the test. Use the show diagnostic content privileged EXEC command to display the test ID list. See Table 46-1.

test-id-range—Enter the range of test IDs by using integers separated by a comma and a hyphen. For more information, see the diagnostic start command in the command reference for this release.

all—Use this keyword when you want to run all of the tests.

basic—Use this keyword when you want to run the basic test suite.

non-disruptive—Use this keyword when you want to run the nondisruptive test suite.


This example shows how to start a diagnostic test by using the test name:

Switch# diagnostic start test TestPortAsicRingLoopback

This example shows how to start a no-disruptive diagnostic test:

Switch# diagnostic start test non-disruptive 
Switch# 
*Mar  3 19:34:02.680: %DIAG-6-TEST_RUNNING: : Running TestPortAsicStackPortLoopback{ID=1} ..
*Mar  3 19:34:03.687: %DIAG-6-TEST_OK: : TestPortAsicStackPortLoopback{ID=1} has completed 
successfully

This example shows how to start all of the basic diagnostic tests:

Switch# diagnostic start test all

Displaying Online Diagnostic Tests and Results

You can display the configured online diagnostic tests and review the test results by using the privileged EXEC show commands in Table 46-2.

Table 46-2 Commands for Diagnostic Test Configuration and Results 

Command
Purpose

show diagnostic content

Displays the online diagnostics configured for a switch.

show diagnostic status

Displays the running diagnostic tests.

show diagnostic result [detail | test {name | test-id | test-id-range | all [detail]}]

Displays the specified online diagnostics test results.

show diagnostic switch [detail]

Displays the online diagnostics test results.

show diagnostic schedule

Displays the online diagnostics test schedule.

show diagnostic post

Displays the POST results. (The output is the same as the show post command output.)


This is an example of the output from the show diagnostic result command:

Switch# show diagnostic result 

:   SerialNo : FOC1225U4CY

  Overall diagnostic result: PASS

  Test results: (. = Pass, F = Fail, U = Untested)

    1) TestPortAsicStackPortLoopback ---> .
    2) TestPortAsicLoopback ------------> U
    3) TestPortAsicCam -----------------> U
    4) TestPortAsicRingLoopback --------> U
    5) TestMicRingLoopback -------------> U
    6) TestPortAsicMem -----------------> U

This is an example of the output from the show diagnostic post command:

Switch# show diagnostic post 
Stored system POST messages:

Switch 1
---------

POST: CPU MIC register Tests : Begin
POST: CPU MIC register Tests : End, Status Passed

POST: PortASIC Memory Tests : Begin
POST: PortASIC Memory Tests : End, Status Passed

POST: CPU MIC interface Loopback Tests : Begin
POST: CPU MIC interface Loopback Tests : End, Status Passed

POST: PortASIC RingLoopback Tests : Begin
POST: PortASIC RingLoopback Tests : End, Status Passed

POST: Thermal, Fan Tests : Begin
POST: Thermal, Fan Tests : End, Status Passed

POST: PortASIC CAM Subsystem Tests : Begin
POST: PortASIC CAM Subsystem Tests : End, Status Passed

POST: PortASIC Port Loopback Tests : Begin
POST: PortASIC Port Loopback Tests : End, Status Passed

POST: EMAC Loopback Tests : Begin
POST: EMAC Loopback Tests : End, Status Passed

For more examples of other show diagnostic command outputs, see the "Examples" section of the show diagnostic command in the command reference for this release.