IBM RMF query languages

In Grafana, queries are essential for fetching and transforming data from RMF data sources.

Executing a query is a process that involves defining the data source, specifying the desired data to retrieve, and applying relevant filters or transformations. IBM RMF for z/OS Grafana plugin provides a user-friendly RMF query editor that maximizes its unique capabilities. Grafana panels retrieve data for visualization from RMF data sources via queries.

You can use the following types of queries to retrieve data from the specified RMF data source:

  • Metric query – Use this query to retrieve RMF Monitor III metrics.
  • Report query – Use this query to retrieve RMF Monitor III reports.

Metric query syntax

The syntax of the Metric query is as follows:

resource_type.metric_description {qualifications}

Where:
  • resource_type is the type of resource for which information is requested. You must enter the appropriate value in the resource_type field.

    The available resource types are documented in the z/OS RMF Monitor III resource model topic in the z/OS Resource Measurement Facility Programmer's Guide.

  • metric_description is the name of the metric for the selected resource type.

    After entering the resource type, you can choose the metric description from the drop-down list.

  • qualifications is an optional parameter and can contain any or all the following attributes separated by a comma:
    • ulq: The name of the resource type at the upper level.
    • name: The name of the resource.
    • filter: The filter helps to focus on the data of your interest when requesting a list of values.
      You can use one of the following values for the filter attribute:
      PAT=< pattern>
      Specifies one or more patterns that must match the name part of a list element.
      LB=<number>
      Specifies a lower bound value. Only list elements with values higher than the given lower bound are returned.
      UB=<number>
      Specifies an upper bound value. Only list elements with values lower than the established upper bound are returned.
      HI=<integer>
      Only the highest <integer> list elements are returned (mutually exclusive with LO).
      LO=<integer>
      Only the lowest <integer> list elements are returned (mutually exclusive with HI).
      ORD=< NA | ND | VA | VD | NN>
      • NA - Sort the list of names by their names in ascending order.
      • ND – Sort the list of names by their names in descending order.
      • VA – Sort the list of values by their values in ascending order.
      • VD – Sort the list of values by their values in descending order.
      • NN - If you do not want to have any order, you can specify ORD=NN.
    • workscope: To qualify a request for performance data in more detail about address spaces and WLM entities. You can use one of the following values for the workscope attribute:
      • G - Global (no workscope required)
      • W - WLM workload
      • S - WLM service class
      • P - WLM service class period
      • R - WLM report class
      • J - Job

Examples:

SYSPLEX.% total physical utilization (AAP) by partition
COUPLING_FACILITY.% processor utilization
CPC.% total physical utilization (shared IIP)
MVS_IMAGE.% delay by WLM report class period {name=RS21}
MVS_IMAGE.% workflow by WLM report class period {ulq=RS21,name=RS2*,filter=ORD=NA,workscope=,,G}

Report query syntax

In RMF for z/OS Grafana plugin v1.1.1 and earlier, the Report query syntax used a single keyword: REPORT. For example: SYSPLEX.REPORT.CFOVER or MVS_IMAGE.REPORT.STORM{name=SYS1} for MVS Image SYS1.

This query returned the entire report, including the interval banner and all captions, in a single panel.

Starting with v2.0.0, the REPORT keyword has been enhanced and split into three distinct query types. These provide more granular control over how each part of a report is displayed when creating dedicated panels in Grafana.

REPORT_BANNER
Returns only the interval banner section of the report. Use this when you want the time‐interval or header metadata displayed separately.
Examples:
SYSPLEX.REPORT_BANNER.CFOVER
MVS_IMAGE.REPORT_BANNER.STORM{name=SYS1}
REPORT_CAPTION
Returns only the non-table caption portion of the report. This is useful for displaying descriptive or contextual information independently from the report tables.
Examples:
SYSPLEX.REPORT_CAPTION.CFOVER
MVS_IMAGE.REPORT_CAPTION.STORM{name=SYS1}
REPORT
Returns only the table data from the report, excluding banner and caption information. This is the core, tabular portion of the report.
Examples:
SYSPLEX.REPORT.CFOVER
MVS_IMAGE.REPORT.STORM{name=SYS1}
Note:
You can configure a built-in Table panel in Grafana and specify any of the query types above to display the corresponding part of the report.

For example, setting the query to SYSPLEX.REPORT.CFOVER will display only the table portion of the CFOVER report, while separate panels can be created for the banner and caption if desired.

This enhanced syntax provides greater flexibility, allowing you to create cleaner, more modular dashboards.