Last updated on: 2023-05-25 08:49:13.

QKView Diagnostics

The QKView resource provides access to different aspects of an uploaded QKView, both to data originally contained within the QKView and to data that the iHealth servers generate upon receipt of a QKView, as well as available metadata about a QKView. There are methods to retrieve Diagnostic output, command output, individual files from within the QKView, metadata associated with the QKView, as well as configuration, licensing, hardware, and software details. All these methods use a common RESTful base address, and in addition, may have parameterized options.

Diagnostics

Diagnostics provide troubleshooting assistance, upgrade information, information about known issues, and BIG-IP configuration specific suggestions. These diagnostics examine an uploaded QKView and provide feedback tailored to the QKView being examined. To retrieve the diagnostics for a given QKView, the following method is provided:
query:
curl -H"Authorization: Bearer {auth token}" -H"Accept: application/vnd.f5.ihealth.api" --user-agent "MyGreatiHealthClient" -o - https://ihealth2-api.f5.com/qkview-analyzer/api/qkviews/<qkview_id>/diagnostics

A single optional parameter, ‘set’, is provided to filter the results being returned according to whether the Diagnostic in question applies to the QKView identified by . Omitting the parameter completely results in all diagnostics being returned.
The following example provides only hits:
query:
curl -H"Authorization: Bearer {auth token}" -H"Accept: application/vnd.f5.ihealth.api" --user-agent "MyGreatiHealthClient" -o - https://ihealth2-api.f5.com/qkview-analyzer/api/qkviews/<qkview_id>/diagnostics?set=hit

Possible responses:
  • 200 OK, body contains heuristics run output
  • 202 ACCEPTED, body may contain reason for no results quite yet
  • 403 FORBIDDEN
  • 404 NOT FOUND
  • 406 Not Acceptable

If a 202 is received, then the caller should wait at least 10 seconds to allow processing to finish before making the request again.
Possible values for the ‘set’ parameter are: ‘hit’ and ‘miss’. Remember that omitting the ‘set’ parameter completely will return all diagnostics (hits and misses).
The XML returned contains information about both the qkview being examined, as well as the results of the various diagnostics. Here is an example of the XML that will be returned.
XML returned will be in this format, with possibly multiple diagnostics blocks, one for each diagnostic:
<diagnostic_output>
  <diagnostics>
    <diagnostic name="H638394-26">
      <output>26 instances of the phrase 'Clock advanced by' were found in this qkview, in these files: /var/log/ltm.2_transformed , /var/log/ltm.4_transformed , /var/log/ltm.5_transformed</output>
      <run_data>
        <h_importance>MEDIUM</h_importance>
        <match>true</match>
      </run_data>
      <results>
        <h_action>Evaluate the system performance data. If the system is under heavy load, determine if the configuration can be altered or optimized to reduce the load.</h_action>
        <h_name>H638394-26</h_name>
        <h_sols>
          <solution>http://support.f5.com/kb/en-us/solutions/public/10000/000/sol10095.html</solution>
        </h_sols>
        <h_header>Log messages report the TMM clock advanced</h_header>
        <h_summary>The /var/log/ltm file reports that the TMM clock advanced, which indicates that TMM was descheduled from the CPU. TMM descheduling may cause a redundant BIG-IP system to fail over. Additionally, if TMM is descheduled frequently or for an extended period of time, the TMM process may core.</h_summary>
      </results>
    </diagnostic>
  </diagnostics>
  <sha1>275e62b044f26430f45f06e1641b5c2a821aa0ad</sha1>
  <system_information>
    <bigip_chassis_serial_num>f5-bvpy-klri</bigip_chassis_serial_num>
    <hostname>war.es.f5net.com</hostname>
    <platform>C106</platform>
  </system_information>
  <version>
    <version>11.0.0</version>
    <product>BIG-IP</product>
    <built>110818124345</built>
    <edition>Final</edition>
  </version>
</diagnostic_output>

Each diagnostic element will have an attribute containing the name of the diagnostic:
<diagnostic name="H613500">
...
</diagnostic>

Diagnostic XML fields: run_data

In addition to the diagnostic name, there are several fields with some metadata about the diagnostic:
  • <h_importance>: an importance rating indicating how disruptive the issue found by this diagnostic could potentially be
  • <match>: if the diagnostic was a hit for this QKView

Diagnostic XML fields: results

A results block will contain the information about the diagnostic.
<results>
        <h_action>: suggested action to take based on this diagnostic being a hit
        <h_name>: the name of the diagnostic
        <h_sols>: a list of zero or more AskF5 Solution URLs that are pertinent to understanding or fixing this diagnostic
        <h_header>: a short title for the diagnostic
        <h_summary>: a short description of what this diagnostic is looking for
</results>

Diagnostic XML fields: output

There may be one or more output blocks that describe the manner in which the diagnostic may be affecting this particular configuration or platform. These are listed in order, and each succeeding output block may build on the previous one:
<output>26 instances of the phrase 'Clock advanced by' were found in this qkview, in these files: /var/log/ltm.2_transformed , /var/log/ltm.4_transformed , /var/log/ltm.5_transformed</output>

Also included with the diagnostics output is some basic system information to allow the correlation of a particular diagnostics set with a particular F5 BIG-IP:

System Information

This block gives a serial number, a hostname, and a platform identifier for the hardware type
<system_information>
  <bigip_chassis_serial_num>f5-bvpy-klri</bigip_chassis_serial_num>
  <hostname>war.es.f5net.com</hostname>
  <platform>C106</platform>
</system_information>

Version

The version block gives version information.
<version>
  <version>11.0.0</version>
  <product>BIG-IP</product>
  <built>110818124345</built>
  <edition>Final</edition>
</version>