《Google SRE》阅读

东西早晚要坏的,这就是生活。

管理方面的原则

  1. 控制 SRE 的运维压力
  2. 对事不对人的原则
  3. 保持一些非常可靠的、低成本的备份访问系统(防止内网掉线)

监控系统

指标的收集

Borgmon 在每个集群有一个实例,然后在全球有两个 对等 实例,汇集每个集群的信息。(两个是为了防止单点故障)

Gogole 使用 varz 进行指标收集,依赖 HTTP 协议。另一种方案使用 SNMP 协议收集。

时间序列存储

数据放在固定大小的内存块中,定期写入硬盘。

数据中心要存放 12h 的数据在内存供查询,每个数据点 24bytes。

所以 100w 个数据点每分钟打一次点: 所需内存 = 100w Time-series * 24bytes * 60min * 12h = 17G

指标的汇总

推荐多使用 counter 因为它不会再两次测量之间丢失信息。

报警规则

报警结果为 true/false ,并且总是在反复变动。所以报警应该设置一个最小持续时间,例如两个计算周期的报警结果保持为 true 才发送报警。Google 的报警采用了单独的一套系统接到 Borgmon 上面工作。

黑盒监控

白盒监控耦合了应用程序的指标。但是可能无法得知失败请求的情况(用户看到的最终结果)。使用 prober 探针程序做黑盒监控。

总结

Memos