debug-rhobs-rules
Use when Prometheus alerting or recording rules are not updating in RHOBS after merge, or when you need to verify what version of rules is deployed.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use when Prometheus alerting or recording rules are not updating in RHOBS after merge, or when you need to verify what version of rules is deployed.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Use when a Konflux PR or push pipeline has failed and you need to find the root cause and recover. Queries GitHub for check status, KubeArchive for archived pipeline runs, task runs, and step logs.
Use when a Konflux release has failed for the o11y exporter container image and you need to find the root cause and recover. Queries release objects, traces to release pipeline runs via KubeArchive.
| name | debug-rhobs-rules |
| description | Use when Prometheus alerting or recording rules are not updating in RHOBS after merge, or when you need to verify what version of rules is deployed. |
| compatibility | Requires obsctl (installed from main: go install github.com/observatorium/obsctl@main) and OIDC credentials for the Observatorium API. |
Debug and verify Prometheus rule deployments in RHOBS (Red Hat Observability Service).
Currently deployed alert and recording rules can be viewed by any Red Hat employee in Grafana at https://grafana.stage.devshift.net/alerting/list. For deeper debugging (querying the raw API, testing rule validation), the workflow below requires OIDC credentials stored in https://vault.devshift.net/ and is limited to o11y team members.
obsctl installed from main branch: go install github.com/observatorium/obsctl@main (must be main, not latest release, for the --oidc.scopes flag)obsctl context api add --name='prod-api' --url='https://observatorium-mst.api.openshift.com'
obsctl login --api='prod-api' --oidc.audience='profile' \
--oidc.client-id='<CLIENT_ID>' --oidc.client-secret='<SECRET>' \
--oidc.issuer-url='https://sso.redhat.com/auth/realms/redhat-external' \
--oidc.scopes profile --tenant='rhtap'
Must use --oidc.scopes profile -- Red Hat SSO does not support the default openid offline_access scopes.
For staging, use --url='https://observatorium-mst.api.stage.openshift.com'.
obsctl metrics get rules.raw
Shows the rules as written to the API. The html_url annotation on each alert contains the commit SHA of the deployed version -- compare against the repo HEAD to check if updates are reaching RHOBS.
obsctl metrics get rules
Shows rules after evaluation by Thanos Ruler, including alert state (firing/pending/inactive) and last evaluation time.
# Instant query
obsctl metrics query "up{job='some-service'}"
# Range query
obsctl metrics query --range --start='2026-05-28T00:00:00Z' --end='2026-05-29T00:00:00Z' --step='5m' "rate(http_requests_total[5m])"
obsctl metrics ui
Opens a local proxy at http://localhost:8080 with the Thanos Query UI for interactive PromQL exploration against the tenant's RHOBS data.
--- DANGER ---
obsctl metrics set OVERWRITES ALL RULES for the entire tenant with the contents of the single file provided. This causes immediate loss of all alerts and recording rules until the obsctl-reloader re-syncs.
--- END DANGER ---
obsctl metrics set --rule.file=<path-to-rule-file>
Rules in both staging and production RHOBS are controlled by the saas-rhtap-rules saas file in app-interface. Changing the ref in this file is what triggers rule updates in RHOBS.
main branch -- auto-deploys on merge to the o11y repotenant_id labels into rules during sync -- raw rule files from the repo will not have thesehttps://observatorium-mst.api.openshift.comhttps://observatorium-mst.api.stage.openshift.comhttps://rhobs-handbook.netlify.app/services/rhobs/rules-and-alerting.md/https://github.com/observatorium/obsctlrhobs/alerting/data_plane/, rhobs/recording/