Configuring Online Diagnostics

Finding Feature Information

Your software release may not support all the features documented in this module. For the latest caveats and feature information, see Bug Search Tool and the release notes for your platform and software release. To find information about the features documented in this module, and to see a list of the releases in which each feature is supported, see the feature information table at the end of this module.

Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to http:/​/​www.cisco.com/​go/​cfn. An account on Cisco.com is not required.

Related References
Feature History and Information for Troubleshooting Software Configuration

Information About Configuring Online Diagnostics

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 check 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

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; and health-monitoring runs in the background with user-defined intervals. By default, the health-monitoring test runs for every 30 seconds.

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

How to Configure Online Diagnostics

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.

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

Use this privileged EXEC command to manually start online diagnostic testing:

SUMMARY STEPS

    1.    diagnostic start switch number test {name | test-id | test-id-range | all | basic | complete | minimal | non-disruptive | per-port}


DETAILED STEPS
     Command or ActionPurpose
    Step 1diagnostic start switch number test {name | test-id | test-id-range | all | basic | complete | minimal | non-disruptive | per-port}


    Example:
    
    Switch# diagnostic start switch 2 test basic
    
     

    Starts the diagnostic tests.

    The switch number keyword is supported only on stacking Switch.

    You can specify the tests by using one of these options:

    • name—Enters the name of the test.

    • test-id—Enters the ID number of the test.

    • test-id-range—Enters the range of test IDs by using integers separated by a comma and a hyphen.

    • all—Starts all of the tests.

    • basic— Starts the basic test suite.

    • complete—Starts the complete test suite.

    • minimal—Starts the minimal bootup test suite.

    • non-disruptive—Starts the non-disruptive test suite.

    • per-port—Starts the per-port test suite.

     

    Configuring Online Diagnostics

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

    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 Switch. Use the no form of this command to remove the scheduling.

    SUMMARY STEPS

      1.    configure terminal

      2.    diagnostic schedule switch number test {name | test-id | test-id-range | all | basic | complete | minimal | non-disruptive | per-port} {daily | on mm dd yyyy hh:mm | port inter-port-number port-number-list | weekly day-of-week hh:mm}


    DETAILED STEPS
       Command or ActionPurpose
      Step 1configure terminal


      Example:
      
      Switch# configure terminal
      
      
       

      Enters the global configuration mode.

       
      Step 2diagnostic schedule switch number test {name | test-id | test-id-range | all | basic | complete | minimal | non-disruptive | per-port} {daily | on mm dd yyyy hh:mm | port inter-port-number port-number-list | weekly day-of-week hh:mm}


      Example:
      Switch(config)# diagnostic schedule switch 3 test 1-5 on July 3 2013 23:10
      
      
       

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

      The switch number keyword is supported only on stacking switches. The range is from 1 to 4.

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

      • name—Name of the test that appears in the show diagnostic content command output.

      • test-id—ID number of the test that appears in the show diagnostic content command output.

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

      • all—All test IDs.

      • basic—Starts the basic on-demand diagnostic tests.

      • complete—Starts the complete test suite.

      • minimal—Starts the minimal bootup test suite.

      • non-disruptive—Starts the non-disruptive test suite.

      • per-port—Starts the per-port test suite.

      You can schedule the tests as follows:

      • 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.

       

      Configuring Health-Monitoring Diagnostics

      You can configure health-monitoring diagnostic testing on a Switch while it 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.

      Use the no form of this command to disable testing.

      By default, health monitoring is disabled, but the Switch generates a syslog message when a test fails.

      Follow these steps to configure and enable the health-monitoring diagnostic tests:

      SUMMARY STEPS

        1.    enable

        2.    configure terminal

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

        4.    diagnostic monitor syslog

        5.    diagnostic monitor threshold switch number number test {name | test-id | test-id-range | all} failure count count

        6.    diagnostic monitor switch number test {name | test-id | test-id-range | all}

        7.    end

        8.    show running-config

        9.    copy running-config startup-config


      DETAILED STEPS
         Command or ActionPurpose
        Step 1 enable


        Example:
        Switch> enable
        
        
         

        Enables privileged EXEC mode. Enter your password if prompted.

         
        Step 2configure terminal


        Example:
        
        Switch# configure terminal
        
        
         

        Enters the global configuration mode.

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


        Example:
        Switch(config)# diagnostic monitor interval switch 2 test 1 12:30:00 750 5
        
         

        Configures the health-monitoring interval of the specified tests.

        The switch number keyword is supported only on stacking switches. The range is from 1 to 9.

        When specifying the tests, use one of these parameters:

        • name—Name of the test that appears in the show diagnostic content command output.

        • test-id—ID number of the test that appears in the show diagnostic content command output.

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

        • 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 the number of days. The range is from 0 to 20.

         
        Step 4diagnostic monitor syslog


        Example:
        Switch(config)# diagnostic monitor syslog
        
         

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

         
        Step 5diagnostic monitor threshold switch number number test {name | test-id | test-id-range | all} failure count count


        Example:
        Switch(config)# diagnostic monitor threshold switch 2 test 1 failure count 20
        
         

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

        The switch number keyword is supported only on stacking switches. The range is from 1 to 9.

        When specifying the tests, use one of these parameters:

        • name—Name of the test that appears in the show diagnostic content command output.

        • test-id—ID number of the test that appears in the show diagnostic content command output.

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

        • all—All of the diagnostic tests.

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

         
        Step 6diagnostic monitor switch number test {name | test-id | test-id-range | all}


        Example:
        Switch(config)# diagnostic monitor switch 2 test 1
        
         

        Enables the specified health-monitoring tests.

        The switch number keyword is supported only on stacking switches. The range is from 1 to 9.

        When specifying the tests, use one of these parameters:

        • name—Name of the test that appears in the show diagnostic content command output.

        • test-id—ID number of the test that appears in the show diagnostic content command output.

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

        • all—All of the diagnostic tests.

         
        Step 7end


        Example:
        
        Switch(config)# end
        
        
         

        Returns to privileged EXEC mode.

         
        Step 8show running-config


        Example:
        
        Switch# show running-config 
        
        
         

        Verifies your entries.

         
        Step 9copy running-config startup-config


        Example:
        Switch# copy running-config startup-config 
        
        
         

        (Optional) Saves your entries in the configuration file.

         
        What to Do Next

        Use the no diagnostic monitor interval testtest-id | test-id-range } global configuration command to change the interval to the default value or to zero. Use the no diagnostic monitor syslog command to disable generation of syslog messages when a health-monitoring test fails. Use the diagnostic monitor threshold testtest-id | test-id-range }failure countcommand to remove the failure threshold.

        Monitoring and Maintaining Online Diagnostics

        Displaying Online Diagnostic Tests and Test Results

        You can display the online diagnostic tests that are configured for the Switch or Switch stack and check the test results by using the privileged EXEC show commands in this table:

        Table 1 Commands for Diagnostic Test Configuration and Results

        Command

        Purpose

        show diagnostic content switch [number | all]

        Displays the online diagnostics configured for a switch.

        show diagnostic status

        Displays the currently running diagnostic tests.

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

        Displays the online diagnostics test results.

        show diagnostic switch [number | all] [detail]

        Displays the online diagnostics test results.

        show diagnostic schedule switch [number | all]

        Displays the online diagnostics test schedule.

        show diagnostic post

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

        Configuration Examples for Online Diagnostic Tests

        Examples: Start Diagnostic Tests

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

        Switch# diagnostic start switch 2 test TestInlinePwrCtlr
        
        

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

        Switch# diagnostic start switch 1 test all
        
        

        Example: Configure a Health Monitoring Test

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

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

        Examples: Schedule Diagnostic Test

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

        Switch(config)# diagnostic schedule test DiagThermalTest on June 3 2013  22:25
        
        

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

        Switch(config)# diagnostic schedule switch 1 test 1,2,4-6 weekly saturday 10:30
        
        

        Examples: Displaying Online Diagnostics

        This example shows how to display on demand diagnostic settings:

        Switch# show diagnostic ondemand settings
        
        Test iterations = 1
        Action on test failure = continue
        
        

        This example shows how to display diagnostic events for errors:

        Switch# show diagnostic events event-type error
        
        Diagnostic events (storage for 500 events, 0 events recorded)
        Number of events matching above criteria = 0
        
        No diagnostic log entry exists.
        
        

        This example shows how to display the description for a diagnostic test:

        Switch# show diagnostic description switch 1 test all
        
        DiagGoldPktTest : 
                The GOLD packet Loopback test verifies the MAC level loopback
                functionality. In this test, a GOLD packet, for which doppler
                provides the support in hardware, is sent. The packet loops back
                at MAC level and is matched against the stored packet. It is a non
                -disruptive test.
        
        DiagThermalTest : 
                This test verifies the temperature reading from the sensor is below the yellow
                temperature threshold. It is a non-disruptive test and can be run as a health monitoring test.
        
        DiagFanTest : 
                This test verifies all fan modules have been inserted and working properly on the board
                It is a non-disruptive test and can be run as a health monitoring test.
        
        DiagPhyLoopbackTest : 
                The PHY Loopback test verifies the PHY level loopback
                functionality. In this test, a packet is sent which loops back
                at PHY level and is matched against the stored packet. It is a 
                disruptive test and cannot be run as a health monitoring test.
        
        DiagScratchRegisterTest : 
                The Scratch Register test monitors the health of application-specific
                integrated circuits (ASICs) by writing values into registers and reading
                back the values from these registers. It is a non-disruptive test and can
                be run as a health monitoring test.
        
        DiagPoETest : 
                This test checks the PoE controller functionality. This is a disruptive test
                and should not be performed during normal switch operation.
        
        DiagStackCableTest : 
                This test verifies the stack ring loopback functionality
                in the stacking environment. It is a disruptive test and
                cannot be run as a health monitoring test.
        
        DiagMemoryTest : 
                This test runs the exhaustive ASIC memory test during normal switch operation
                NG3K utilizes mbist for this test. Memory test is very disruptive
                in nature and requires switch reboot after the test.
        
        Switch#
        
         

        This example shows how to display the boot up level:

        Switch# show diagnostic bootup level
         
        Current bootup diagnostic level: minimal
        
        Switch#
        
        

        Additional References for Online Diagnostics

        Related Documents

        Related Topic Document Title

        System management commands

        System Management Command Reference (Catalyst 3650 Switches)

        Standards and RFCs

        Standard/RFC Title
        None

        MIBs

        MIB MIBs Link

        All supported MIBs for this release.

        To locate and download MIBs for selected platforms, Cisco IOS releases, and feature sets, use Cisco MIB Locator found at the following URL:

        http:/​/​www.cisco.com/​go/​mibs

        Technical Assistance

        Description Link

        The Cisco Support website provides extensive online resources, including documentation and tools for troubleshooting and resolving technical issues with Cisco products and technologies.

        To receive security and technical information about your products, you can subscribe to various services, such as the Product Alert Tool (accessed from Field Notices), the Cisco Technical Services Newsletter, and Really Simple Syndication (RSS) Feeds.

        Access to most tools on the Cisco Support website requires a Cisco.com user ID and password.

        http:/​/​www.cisco.com/​support

        Feature History and Information for Configuring Online Diagnostics

        Release

        Modification

        Cisco IOS XE 3.3SECisco IOS XE 3.3SE

        This feature was introduced.