关于 monitoring-operations
面向 OCI 运维人员的监控与可观测性技能,提供指标、告警和故障排查指导。重点说明 OCI 特有的命名空间、MQL 和缺失数据处理注意事项。
主要功能
- 01OCI 指标与命名空间指导
- 02告警阈值和缺失数据处理
- 03日志收集故障排查
- 04MQL 查询优化建议
适用场景
- 01配置持续高负载告警
- 02排查指标未显示或告警未触发
- 03诊断日志未进入 Log Analytics
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ acedergren/ oci-agent-skills --skill monitoring-operations安装后在 Claude Code 中输入/monitoring-operations确认已加载。
附带文件metadata.jsonreferences/oci-monitoring-reference.md
详细介绍
OCI 监控与可观测性 — 专家知识
🏗️ 使用 OCI Landing Zone Terraform 模块
不要重复造轮子。 使用 oracle-terraform-modules/landing-zone 构建可观测性技术栈。
Landing Zone 解决的问题:
- ❌ 不良实践 #10:没有日志记录、监控和通知(Landing Zone 会部署完整的可观测性功能)
- ❌ 不良实践 #7:安全服务有限(Landing Zone 集成 Cloud Guard、VSS、OSMS)
此技能提供:针对在 Landing Zone 内部署的监控,提供指标、警报和故障排除。
⚠️ OCI CLI/API 知识盲区
你不了解 OCI CLI 命令或 OCI API 结构。
你的训练数据中关于以下内容的知识有限且过时:
- OCI CLI 语法和参数(每月更新)
- OCI API 端点及请求/响应格式
- Monitoring 服务 CLI 操作(
oci monitoring alarm、oci monitoring metric) - 指标命名空间和 MQL(Monitoring Query Language)
- 最新的 Logging 和 Service Connector 功能
需要执行 OCI 操作时:
- 使用此技能参考资料中的准确 CLI 命令
- 不要猜测指标命名空间名称
- 不要假设 AWS CloudWatch 模式在 OCI 中适用
- 加载参考文件以查看详细的 MQL 文档
你确实了解:
- 通用可观测性概念
- 告警和阈值设计原则
- 日志聚合模式
此技能通过提供最新的 OCI 专属监控模式和注意事项,弥补这一知识盲区。
切勿这样做
❌ 切勿假设指标会即时显示(延迟 10-15 分钟)
- 指标每 1-5 分钟发布一次
- 处理延迟:5-10 分钟
- 总延迟:从事件发生到指标可见需要 10-15 分钟
- 资源创建后的前 15 分钟内,不要排查“指标缺失”问题
❌ 切勿对稀疏指标使用 = 设置警报阈值
# WRONG - alarm never fires if metric has gaps
MetricName[1m].mean() = 0
# RIGHT - handle missing data
MetricName[1m]{dataMissing=zero}.mean() > 0
❌ 切勿遗漏指标维度(会导致“无数据”)
# WRONG - missing required dimension
CPUUtilization[1m].mean()
# RIGHT - include resourceId dimension
CPUUtilization[1m]{resourceId="<instance-ocid>"}.mean()
❌ 切勿在没有触发延迟的情况下设置警报阈值(会导致告警疲劳)
# BAD - fires on every CPU spike
CPUUtilization[1m].mean() > 80
# BETTER - sustained high CPU
CPUUtilization[5m].mean() > 80
Trigger delay: 5 minutes (fires after 5 consecutive breaches)
❌ 切勿在没有通知渠道的情况下创建警报
# WRONG - alarm fires but nobody knows
oci monitoring alarm create ... --destinations '[]'
# RIGHT - always link to notification topic
oci monitoring alarm create ... --destinations '["<notification-topic-ocid>"]'
成本影响:生产环境中,未检测到的服务中断每小时会造成 $5,000-50,000 的损失
❌ 切勿忽略 Cloud Guard 发现的问题(会导致安全审计失败)
- Cloud Guard 会在错误配置演变为事故之前发现问题
- 集成 Cloud Guard → Notifications → Email/Slack/PagerDuty
- 成本影响:主动修复的成本为 $0,而每次安全漏洞造成的损失超过 $100,000
指标命名空间注意事项
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)
警报缺失数据处理
| 设置 | 行为 | 适用场景 |
|---|---|---|
treatMissingDataAsBreaching | 无数据时触发警报 | 关键服务(服务中断 = 违规) |
treatMissingDataAsNotBreaching | 无数据时不触发警报 | 可选监控 |
{dataMissing=zero} | 将缺失数据视为 0 | 计数器(请求数/秒) |
日志收集常见问题
问题:Log Analytics 中没有显示日志
Logs not appearing?
├─ Is log enabled on resource?
│ └─ Compute: oci-compute-agent must be running
│ └─ Function: Logging enabled in function config
│
├─ Is Service Connector configured?
│ └─ Source: Log Group → Target: Log Analytics
│ └─ Check: Service Connector status = ACTIVE
│
├─ IAM policy for Service Connector?
│ └─ "Allow any-user to use log-content in tenancy"
│ └─ "Allow service loganalytics to READ logcontent in tenancy"
│
└─ 10-15 minute ingestion lag?
└─ Wait before debugging
指标查询优化
开销较大(速度慢):
# Queries ALL instances
CPUUtilization[1m].mean()
已优化(按维度筛选):
# Query specific instance
CPUUtilization[1m]{resourceId='<instance-ocid>'}.mean()
成本:查询免费,但有速率限制(1,000 req/min)
渐进式加载参考资料
OCI 监控参考(Oracle 官方文档)
在以下情况下加载 oci-monitoring-reference.md:
- 需要完整的 OCI 服务指标列表
- 深入了解 MQL(监控查询语言)
- 实施复杂的告警条件和复合告警
- 需要 Oracle 关于 Logging 和 Service Connector 的官方指导
- 设置 Log Analytics 和 APM 集成
以下情况不要加载:
- 快速设置告警(本技能中有示例)
- 常见指标模式(见上方表格)
- 故障排查决策树(见上文)
何时使用此技能
- 告警:阈值配置、缺失数据处理、触发延迟
- 故障排查:指标未显示、告警未触发、命名空间错误
- 日志收集:Service Connector、IAM 策略、缺失日志
- 性能:查询优化、维度筛选