All skills
acedergren avatar

/monitoring-operations

@69c2982

Use when the user asks to "create OCI alarms", "debug missing metrics", "write MQL", "configure Service Connector", or "monitor OCI resources".

Use this Skill: https://skilld.dev/gh/acedergren/agentic-tools/monitoring-operations

This session only. Nothing lands on disk.

referencesoci-monitoring-reference.md

≈873 tokens on demand. Your agent reads this file only when SKILL.md points to it.

OCI Monitoring Query Language (MQL) Reference

Last verified: 2026-09-30 against the Monitoring Query Language (MQL) Reference and "Creating an Absence Alarm" on docs.oracle.com.

Shape of a query

MetricName[interval]{dimension filters}.groupingFunction(...).statistic() predicate

Example: CpuUtilization[5m]{availabilityDomain = "VeXI:PHX-AD-1"}.groupBy(resourceId).max() > 85

Interval

1m–60m, 1h–24h, or 1d. For alarms the interval must be at least the metric's emission frequency (hourly metrics need [1h]). Alarm query resolution is always 1 minute.

Dimension filters

Form Meaning
{resourceId = "ocid1..."} exact match
{resourceId != "ocid1..."} not equal
{dim1 = "a", dim2 = "b"} AND of filters
{resourceDisplayName =~ "web-*"} fuzzy match, * wildcard
`{resourceDisplayName =~ "ol8 ol7"}`

=~ exists only in MQL. Do not copy it into IAM policies.

Statistics

absent(), avg(), count(), first(), increment(), last(), max(), mean(), min(), percentile(p) with 0 < p < 1 (e.g. percentile(0.9)), rate() (per-second rate over the interval), sum().

absent() returns 1 when the metric is absent for the whole interval, 0 when present, and stops producing values after the absence detection period (default 2h; absent(20m) … absent(3d)).

Predicates

Operator Meaning
>, >=, ==, !=, <, <= comparison
in (a, b) between a and b, inclusive
not in (a, b) outside a and b, inclusive

Grouping

  • groupBy(dim1, dim2) — aggregate per distinct combination of the listed dimensions.
  • grouping() — aggregate all streams into one.

Arithmetic and joins

  • + - * / % between queries or with constants, e.g. CpuUtilization[1m].mean() * 100.
  • && and || join whole queries: CpuUtilization[1m]{faultDomain =~ "FAULT-DOMAIN-1|FAULT-DOMAIN-2"}.mean() > 80 || MemoryUtilization[1m]{faultDomain =~ "FAULT-DOMAIN-1|FAULT-DOMAIN-2"}.mean() > 80
  • They are invalid inside a dimension set.

Verified examples

# Sustained CPU on one instance
CpuUtilization[5m]{resourceId = "<instance-ocid>"}.mean() > 80

# Instances named ol8* or ol7* with low minimum CPU
CpuUtilization[1m]{resourceDisplayName =~ "ol8|ol7"}.min() >= 20

# Host (or agent) stopped reporting for 20 minutes
CpuUtilization[1m]{resourceId = "<instance-ocid>"}.groupBy(resourceId).absent(20m)

# ADB storage (hourly metric)
StorageUtilization[1h]{resourceId = "<adb-ocid>"}.max() > 85

Alarm CLI flags worth knowing (OCI CLI 3.94.1)

--query-text, --namespace, --metric-compartment-id, --pending-duration (ISO-8601, e.g. PT5M), --severity, --destinations, --resolution, --repeat-notification-duration, --is-notifications-per-metric-dimension-enabled, --evaluation-slack-duration, --rule-name.

Official sources

Source: SKILL.md on GitHub

No alerts5mo4 checks · Risk SAFE
  • Gen Agent Trust Hub6mo

    This skill is a documentation resource providing best practices for OCI Monitoring and Observability. It contains no malicious code or instructions.

  • Socket6mo

    No alerts

  • Snyk6mo

    Risk: LOW · No issues

  • ZeroLeaks5mo

    Score: 93/100 · 2 sections analyzed

Signed by skilld at 69c2982. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 3 hours ago.

Activeupdated 2 days ago
version
2.0.0
aliases
[
  "oci-monitoring",
  "oci-observability"
]
domains
[
  "oci",
  "observability"
]
Other metadata
keywords
[
  "OCI",
  "Monitoring",
  "MQL",
  "alarm",
  "metric namespace",
  "Logging",
  "Service Connector",
  "Log Analytics",
  "Cloud Guard",
  "oci_computeagent"
]

README badge

README badge for acedergren/agentic-tools/monitoring-operations