Nesting Queries in an MQL Expression

Nest multiple queries in a single MQL expression for querying metric data in Monitoring.

In a nested query, the alarm portion appears at the beginning (surrounded with parentheses), followed by the optional group function and required statistic.

For query troubleshooting, see Troubleshooting Queries.


Example 1: Sum of Hosts with CPU utilization Greater than 80 Percent
(CpuUtilization[1m].max() > 80).grouping().sum()
Example 2: Sum of Availability Domains with a Success Rate Lower than 0.99
(SuccessRate[1m].groupBy(availabilityDomain).mean() < 0.99).grouping().sum()
Example 3: Count of Hosts with Up Time Greater than Zero
(metric[1h].groupBy(host).min() > 0).grouping().count()
  • This section describes how to nest queries within a single MQL expression on the Metrics Explorer page. Nesting is available in Advanced mode (MQL) only. For alarm query edits, see Creating an Alarm.

    1. Create a basic query on the Metrics Explorer page.
    2. If necessary, open the query for editing: Click Edit queries.
    3. Click Advanced mode.
    4. Edit the text in Query code editor.
    5. Click Update Chart.
  • Use the oci monitoring metric-data summarize-metrics-data command and required parameters to query metric data. Use the --query-text parameter to nest multiple queries (within the MQL expression).

    oci monitoring metric-data summarize-metrics-data [...] --query-text <mql_expression> [OPTIONS]

    For a complete list of flags and variable options for CLI commands, see the Command Line Reference for Monitoring.

  • Run the SummarizeMetricsData operation to query metric data. Use the query attribute to nest multiple queries (within the MQL expression).