前言 xiii
第一部分 监控的原则
第 1 章 监控反模式 3
1.1 反模式1:沉迷工具 3
1.1.1 监控是多个复杂问题的总称 4
1.1.2 避免对工具船货崇拜 6
1.1.3 有时候,你确实需要自己创建工具 7
1.1.4 单一窗口只是个神话 7
1.2 反模式2:监控岗位化 7
1.3 反模式3:复选框式监控 8
1.3.1 “正常运行”的真正含义是什么?答案就是监控 9
1.3.2 对告警来说,操作系统指标不是很有用 9
1.3.3 增加收集指标数据的频率 9
1.4 反模式4:把监控当作拐杖 10
1.5 反模式5:手动配置 10
1.6 小结 11
第 2 章 监控设计模式 13
2.1 设计模式1:可组合监控 13
2.2 设计模式2:从用户角度监控 20
2.3 设计模式3:购买,不要构建 21
2.3.1 这样更省钱 22
2.3.2 你(可能)不是一个设计这些工具的专家 23
2.3.3 SaaS允许你关注公司的产品 23
2.3.4 不,是真的,SaaS实际上更好 23
2.4 设计模式4:持续改善 24
2.5 小结 24
第 3 章 告警、待命值班以及事件管理 25
3.1 怎样才能创建优秀的告警 26
3.1.1 停止使用电子邮件发送告警 26
3.1.2 撰写运行手册 27
3.1.3 任意的静态阈值不是唯一的方法 28
3.1.4 删除告警和优化告警 28
3.1.5 使用维护周期 29
3.1.6 优先尝试自动修复 29
3.2 待命值班 30
3.2.1 修正假警报 30
3.2.2 减少不必要的救火 31
3.2.3 制定更好的待命值班周期 31
3.3 事件管理 33
3.4 事后分析 35
3.5 小结 35
第 4 章 统计入门 37
4.1 在系统运行统计之前 37
4.2 数学来拯救 38
4.3 统计不是魔法 38
4.4 平均值和平均数 39
4.5 中位数 40
4.6 季节效应 41
4.7 分位数 41
4.8 标准差 42
4.9 小结 43
第二部分 监控的策略
第 5 章 监控业务 47
5.1 业务KPI 47
5.2 两个真实的案例 49
5.2.1 Yelp 50
5.2.2 Reddit 50
5.3 将业务KPI与技术指标绑定 51
5.4 应用程序没有提供这些指标 52
5.5 找到公司的业务KPI 52
5.6 小结 53
第 6 章 前端监控 55
6.1 一个慢应用的代价 56
6.2 前端监控的两种方法 57
6.3 文档对象模型 57
6.3.1 前端性能指标 58
6.3.2 这很棒,但是我要怎么使用呢 60
6.4 日志 61
6.5 合成监控 61
6.6 小结 62
第 7 章 应用程序监控 63
7.1 用指标衡量应用程序 63
7.2 监控构建和发布管道 66
7.3 /health端点模式 67
7.4 应用程序日志 71
7.4.1 等等……我应该有一个指标或日志条目吗 72
7.4.2 应该给什么记录日志 72
7.4.3 写入磁盘还是写入网络 73
7.5 Serverless/FaaS(函数即服务) 73
7.6 监控微服务架构 74
7.7 小结 76
第 8 章 服务器监控 77
8.1 标准操作系统指标 77
8.1.1 CPU 78
8.1.2 内存 78
8.1.3 网络 79
8.1.4 磁盘 79
8.1.5 负载 80
8.2 SSL证书 81
8.3 SNMP 81
8.4 Web服务器 82
8.5 数据库服务器 83
8.6 负载均衡器 84
8.7 消息队列 84
8.8 缓存 84
8.9 DNS 85
8.10 NTP 85
8.11 其他企业基础设施 86
8.11.1 DHCP 86
8.11.2 SMTP 86
8.12 监控定时任务 87
8.13 记录日志 88
8.13.1 采集 88
8.13.2 存储 89
8.13.3 分析 89
8.14 小结 90
第 9 章 网络监控 91
9.1 SNMP之痛 92
9.1.1 什么是SNMP 92
9.1.2 它的工作原理是什么 92
9.1.3 关于安全的一点建议 94
9.1.4 如何使用SNMP 94
9.1.5 接口指标 97
9.1.6 接口和日志 99
9.1.7 要点总结 99
9.2 配置跟踪 99
9.3 语音和视频 99
9.4 路由 100
9.5 生成树协议(STP) 101
9.6 机架 101
9.6.1 CPU和内存 101
9.6.2 硬件 101
9.7 流监控 102
9.8 容量规划 103
9.8.1 倒推 103
9.8.2 预测 103
9.9 小结 104
第 10 章 安全监控 105
10.1 监控和合规 106
10.2 用户、命令以及文件系统审计 107
10.2.1 配置并运行auditd 107
10.2.2 auditd和远端日志 108
10.3 主机入侵检测系统 108
10.4 rkhunter 109
10.5 网络入侵检测系统 110
10.6 小结 111
第 11 章 监控评估 113
11.1 业务KPI 113
11.2 前端监控 114
11.3 应用程序和服务器监控 114
11.4 安全监控 116
11.5 告警 116
11.6 小结 116
附录A 运行手册示例:一个演示应用程序 117
附录B 可用性表格 121
作者介绍 122
封面介绍 122