监控 OCI 费用与资源使用

配置 OCI Budget、成本分析和实例指标,并用真实负载观察闲置回收、异常流量和资源瓶颈。

#type / howto #status / growing #tech / ops #resource / oracle-cloud #platform / server

[!abstract] 监控目标 同时回答三个问题:有没有花钱、服务器是否健康、资源使用是否符合真实业务。单纯烧 CPU 只能伪造活动,不能解决备份、安全和费用风险。

监控 OCI 费用与资源使用

1. 创建 Budget

在 Cost Management -> Budgets 中对根 compartment 或服务器所在 compartment 创建预算:

  • 低额度月度预算;
  • Actual Spend 达到多个阈值时告警;
  • Forecast Spend 告警;
  • 至少一个可靠邮箱收件人。

Budget 是软限制,通常按周期评估。不能阻止已经泄露的密钥继续创建资源。

2. 每周查看 Cost Analysis

按 Service、Region、Compartment 和 SKU 分组,回答:

  • 是否出现未知服务;
  • 是否在非 Home Region 有资源;
  • 块存储、备份或网络费用是否增长;
  • 费用出现前发生了什么变更;
  • 试用金是否掩盖了本应付费的使用。

把异常截图和时间保存到私有事件记录,不公开租户 OCID。

3. 观察 OCI 指标

实例至少关注:

  • CPU utilization;
  • Memory utilization(需要对应 agent/指标支持);
  • Network bytes/packets;
  • 磁盘容量和 I/O;
  • Instance accessibility;
  • Oracle Cloud Agent 插件状态。

为持续高 CPU、磁盘接近满、实例不可达和异常网络建立告警。

4. 主机侧快速检查

uptime
free -h
df -hT
df -ih
ip -s link
sudo ss -s
sudo systemctl --failed
sudo journalctl --disk-usage
docker stats --no-stream 2>/dev/null || true

寻找:

  • load average 长期超过可用 CPU;
  • swap 持续增长;
  • 磁盘或 inode 超过 80%;
  • 网络 RX/TX 与业务不符;
  • 容器重复重启;
  • 日志无限增长。

5. 理解闲置回收

Oracle 官方当前说明:Always Free 实例若在连续 7 天内 CPU 95 分位、网络利用率均低于 20%,A1 内存利用率也低于 20%,可能被判定为空闲并回收。

这不是要求三个指标都必须人为维持在 20% 以上。正确做法:

  • 运行真实服务或学习任务;
  • 把可重建配置和重要数据备份;
  • 对回收通知和实例状态设告警;
  • 接受免费资源没有付费 SLA;
  • 不运行无限循环、挖矿或垃圾流量脚本“保活”。

6. 流量和攻击面监控

sudo journalctl -u ssh --since '24 hours ago' --no-pager | tail -n 200
sudo fail2ban-client status sshd
sudo ufw status verbose
sudo ss -lntup

若流量突然增加,先看监听端口、容器、登录记录和 OCI 指标。不要只重启机器清除现象。进入 OCI 异常费用与流量激增处置

7. 月度核对

  • 账号类型和试用金状态
  • A1 OCPU-hours、GB-hours
  • 引导卷、块卷、备份总量
  • 非 Home Region 资源
  • 公网 IP、负载均衡和其他附带资源
  • Cost Analysis 中所有服务都能解释
  • Budget 收件测试有效
  • 备份和恢复演练状态
创建于 2026/7/20 更新于 2026/7/20