SuperAPI AI 工具集

monitoring-operations

部署与运维

查看项目

更新于 10-15 08:17

技能介绍

用途

该技能用于 Oracle Cloud Infrastructure(OCI)的监控与可观测性工作,覆盖三类任务:设置 OCI 指标(metrics)、告警(alarms)与日志收集;排查“指标缺失”问题;排查“静默告警”(alarm 不触发)问题。

主要能力

指标命名空间参考

OCI 使用按服务划分的命名空间,用错命名空间会返回无数据且不报错。资料给出的对照如下:

  • Compute:命名空间 oci_computeagent,关键指标 CPUUtilization、MemoryUtilization
  • Autonomous DB:命名空间 oci_autonomous_database,关键指标 CpuUtilization、StorageUtilization
  • Load Balancer:命名空间 oci_lbaas,关键指标 HttpRequests、UnHealthyBackendServers
  • Object Storage:命名空间 oci_objectstorage,关键指标 ObjectCount、BytesUploaded

常见错误:把 oci_compute 当作 oci_computeagent 使用;agent 命名空间要求实例上运行 OCI Compute Agent。

告警缺失数据处理

  • treatMissingDataAsBreaching:无数据到达时告警触发,适用于关键服务(静默即视为故障)
  • treatMissingDataAsNotBreaching:无数据时告警保持静默,适用于可选或间歇性监控
  • MQL 中的 {dataMissing=zero}:把数据缺口当作 0 值处理,适用于请求计数器、吞吐量类指标

日志收集排查路径

日志未出现在 Log Analytics 时,按以下顺序检查:

  1. 资源上是否启用了日志。Compute 检查 oci-compute-agent 是否运行(systemctl status oracle-cloud-agent);Functions 检查函数配置中是否启用日志。
  2. Service Connector 是否已配置且状态为 ACTIVE。源为 Log Group,目标为 Log Analytics;可用 oci sch service-connector get --id <ocid> 查看状态。
  3. Service Connector 的 IAM 策略是否齐全,需要同时具备:"Allow any-user to use log-content in tenancy" 与 "Allow service loganalytics to READ logcontent in tenancy";缺少任一策略都会导致静默失败。
  4. 是否存在 10–15 分钟的摄取延迟,需等待后再判断日志是否真的缺失。

指标查询性能

未加过滤的查询会扫描整个 compartment 中的所有资源,速度慢且消耗速率限制预算。资料给出的对比示例:

# 昂贵:扫描所有实例
CPUUtilization[1m].mean()

# 优化:过滤到特定实例
CPUUtilization[1m]{resourceId='<instance-ocid>'}.mean()

速率限制为每个 tenancy 每分钟 1000 次指标查询;包含大量未过滤组件的仪表盘可能耗尽该额度。

使用方式与关键约束

资料以“NEVER”清单形式给出若干硬性约束:

  • 不要在事件发生后最初 15 分钟内排查“指标缺失”。指标每 1–5 分钟发布一次,处理延迟再加 5–10 分钟,从事件到指标可见总延迟为 10–15 分钟;过早排查会产生虚假调查。
  • 稀疏指标不要用 = 做告警阈值。错误写法:MetricName[1m].mean() = 0(指标有缺口时告警永不触发);正确写法:MetricName[1m]{dataMissing=zero}.mean() > 0。
  • 指标查询不要省略 resourceId 维度。错误写法:CPUUtilization[1m].mean()(缺少必需维度,返回无数据);正确写法:CPUUtilization[1m]{resourceId="<instance-ocid>"}.mean()。不带维度查询会返回所有资源的数据,通常并非本意,且受每分钟 1000 次请求的速率限制。
  • 设置告警阈值时必须带触发延迟。较差写法:CPUUtilization[1m].mean() > 80(每次瞬时 CPU 尖峰都触发,造成告警疲劳);更好写法:CPUUtilization[5m].mean() > 80,并设置触发延迟 5 分钟(连续 5 次越界)。
  • 创建告警必须配置通知目标。错误写法:oci monitoring alarm create ... --destinations '[]'(告警触发但无人收到通知);正确写法:oci monitoring alarm create ... --destinations '["<notification-topic-ocid>"]'。
  • 不要忽略 Cloud Guard 发现项。Cloud Guard 在配置错误演变为事故前将其检出;应接入 Cloud Guard → Notifications → email/Slack/PagerDuty;未解决的发现项会导致 CIS/SOC2/HIPAA 审计不通过。

资料还提到成本影响:未检测到的生产故障每小时损失 5,000–50,000 美元以上。

渐进式加载参考

在以下情况加载 references/oci-monitoring-reference.md:需要完整的 OCI 服务指标命名空间与指标名列表;编写复杂 MQL 表达式(组合、函数、分组);实现组合告警条件;详细设置 Log Analytics 工作区、APM 或 Service Connector Hub。

在以下情况不要加载该文件:告警阈值模式、命名空间陷阱、日志排查——这些内容已由技能主体覆盖。

适用场景

适用于在 OCI 上搭建指标采集与告警、配置日志收集链路、排查指标缺失或告警静默问题的运维与 SRE 工作。

限制

资料未提供该技能的安装命令、依赖要求、支持的平台版本或收费信息,暂未提供。