网站运维工作,一向以内容繁杂、覆盖面广著称。《网站运维技术与实践》选取日常工作涉及的监测调优、日志分析、集群规划、自动化部署、存储和数据库等方面,力图深入阐述各项工作的技术要点及协议原理,并介绍相关开源产品的实践经验。在技术之外,作者也分享了一些关于高效工作及个人成长方面的心得。
《网站运维技术与实践》适合Linux 系统管理员、中大型网站运维工程师及技术负责人、DevOps 爱好者阅读。同时也适于刚踏上或有兴趣踏上运维岗位的年轻朋友,了解运维职业的工作和发展。
第1章 服务器监测 1
1.1 理解监测的意义 1
1.2 通过命令了解系统的性能概况 2
1.2.1 ifconfig 2
1.2.2 w 3
1.2.3 df 4
1.2.4 ps 6
1.2.5 vmstat 8
1.2.6 netstat 8
1.2.7 iostat 9
1.3 其他常用工具 13
1.3.1 sar 13
1.3.2 dstat 14
1.3.3 mtr 17
1.3.4 IPtraf 18
1.3.5 TcpDump 19
1.3.6 Wireshark 22
1.3.7 strace 23
1.3.8 stap 24
1.4 SmokePing 网络质量监测 34
1.4.1 原理 35
1.4.2 配置说明 37
1.4.3 报警 39
1.4.4 WebUI 40
1.5 Nagios 分布式监测 41
1.5.1 架构原理 42
1.5.2 Plugin 编写 45
1.5.3 SNMP 网络监控 46
1.5.4 Gearman 分布式 50
1.5.5 OMD 介绍 55
第2章 产品访问监测 57
2.1 关注产品比服务器更重要 57
2.2 网站监测的明星指标 58
2.2.1 可用性 58
2.2.2 响应时间 59
2.2.3 首屏响应时间 59
2.3 网页浏览过程简介 60
2.3.1 解析域名 60
2.3.2 连接服务器 61
2.3.3 发送请求 61
2.3.4 等待响应 63
2.3.5 传输响应内容 63
2.3.6 浏览器渲染处理 64
2.3.7 并发请求 64
2.4 浏览器网络监测与分析 65
2.4.1 Firebug 65
2.4.2 Chrome 开发人员工具 65
2.4.3 HttpWatch 66
2.4.4 rvictl 接口监控IOS 设备 67
2.4.5 HAR 格式 68
2.5 第三方监测 72
2.5.1 基调网络 72
2.5.2 监控宝 91
2.6 简单定制JS 监测 92
2.6.1 页面内嵌JS 92
2.6.2 Nginx 日志记录和存储 93
2.6.3 数据展示 96
2.7 Boomerang 96
第3章 数据采集、传输与过滤 100
3.1 采集点的取舍 100
3.1.1 服务器数据 100
3.1.2 访问日志 101
3.1.3 系统日志Syslog 102
3.2 收集传输 107
3.2.1 Rsyslog 107
3.2.2 message queue 115
3.2.3 RPC 118
3.2.4 Gearman 119
3.3 日志收集系统框架 122
3.3.1 Flume-ng 122
3.3.2 logstash 125
第4章 数据分析与报警 136
4.1 时间序列存储 136
4.1.1 RRDtool(Round-Robin Database Tool) 136
4.1.2 Graphite 141
4.1.3 OpenTSDB 143
4.2 全文搜索引擎ElasticSearch 144
4.2.1 简介 144
4.2.2 安装 145
4.2.3 集群 145
4.2.4 基础查询 146
4.2.5 优化 148
4.2.6 时间序列统计示例 152
4.3 数据可视化 156
4.3.1 RRDtool 156
4.3.2 Gnuplot 160
4.3.3 AmCharts 167
4.3.4 其他绘图库 176
4.4 报警 177
4.4.1 SendEmail 177
4.4.2 WebSocket 178
4.4.3 手机推送 182
4.4.4 分级和归并 183
第5章 测试评估 185
5.1 服务器性能测试 185
5.1.1 IOzone 186
5.1.2 Netperf 189
5.1.3 pktgen 193
5.1.4 sysbench 194
5.2 应用性能测试 197
5.2.1 http_load 197
5.2.2 AB 198
5.2.3 weighttp 201
5.3 分布式测试环境 202
5.3.1 AutoBench 202
5.3.2 TCPCopy 205
第6章 集群架构规划 207
6.1 IDC 的规划和选择 207
6.1.1 网站性质决定基础面 207
6.1.2 IDC 厂商服务质量 208
6.1.3 BGP 真伪的验证 209
6.2 CDN 规划 213
6.2.1 CDN 原理 213
6.2.2 DNS 原理 214
6.2.3 DNS 查询结构实现 217
6.2.4 DNS 调度 223
6.2.5 其他调度方法概述 227
6.2.6 动态加速概述 229
6.3 缓存设计 236
6.3.1 HTTP Header 对缓存的影响 236
6.3.2 Squid 的LM-factor 过期算法 239
6.3.3 squid 的ACL 控制 241
6.3.4 Squid 的aufs/coss缓存引擎 243
6.3.5 squidclient 的运用 245
6.3.6 使用SSD 提高性能 250
6.4 本地负载均衡 255
6.4.1 LVS 负载均衡原理 255
6.4.2 keepalived 与VRRP 高可用原理 263
6.4.3 Nginx 的upstream 268
6.4.4 squid 的cache_peer 272
第7章 弹性控制和部署 274
7.1 配置集成的思想 274
7.1.1 抽象的集群管理 274
7.1.2 通用模式设计 275
7.2 操作系统部署KickStart 276
7.2.1 基本原理 277
7.2.2 配置安装 278
7.3 应用部署与配置管理 279
7.3.1 SSH::Batch 279
7.3.2 Puppet 282
7.4 搭建私有软件仓库 312
7.4.1 使用spec 文件构建RPM 包 312
7.4.2 命令行打包工具FPM 322
7.4.3 yum 私有仓库 324
7.5 随时控制成本 324
7.5.1 CGroup 配置简介 324
7.5.2 内存限制 328
7.5.3 CPU 共享限制 330
7.5.4 CPU 绑定限制 331
7.5.5 块设备读写限制 333
7.5.6 配合TC 完成网络限速 335
7.6 关于云计算 337
第8章 分布式文件系统 339
8.1 NFS 339
8.1.1 原理 340
8.1.2 服务器端配置和优缺点 341
8.1.3 客户端参数优化 343
8.1.4 丢包与网络参数优化 346
8.2 简单易用的FUSE 协议 348
8.3 MogileFS 351
8.3.1 GFS 介绍 351
8.3.2 MogileFS 介绍 353
8.3.3 MogileFS 内部原理 356
8.3.4 安装和配置 359
8.3.5 客户端配置和使用 363
第9章 数据库 368
9.1 MySQL 必知必会 368
9.1.1 常见SQL 369
9.1.2 导入导出 370
9.1.3 简单配置调优 371
9.2 慢查询分析工具mysqlsla 372
9.2.1 使用 372
9.2.2 结果分析 373
9.3 Percona 工具集 374
9.3.1 备份恢复工具XtraBackup 374
9.3.2 在线运维工具箱Toolkit 376
9.3.3 监控插件集 379
9.4 监控工具 380
9.4.1 mytop 和innotop 380
9.4.2 orzdba 381
9.5 MySQL 集群 384
9.5.1 MySQL 复制原理 384
9.5.2 MHA 原理 386
9.5.3 MHA 安装使用 388
第10章 备份与同步技术 390
10.1 rsync 390
10.1.1 原理 391
10.1.2 常见运用 393
10.2 inotify 和sersync 工具 396
10.2.1 inotify 概述和示例 396
10.2.2 sersync 介绍 397
10.2.3 sersync 配置用例 398
10.3 Netcat 400
10.3.1 文件传输 400
10.3.2 端口扫描 401
10.3.3 远程控制 401
10.4 P2P 传输网络 402
10.4.1 P2P 协议概述 403
10.4.2 BitTorrent 概述 405
10.4.3 murder 部署和运用 406
第11章 运维制度化与自管理 408
11.1 运维制度化 408
11.1.1 运维为什么要制度化 408
11.1.2 运维如何制度化 409
11.1.3 SLA(Service Level Agreement)协议 409
11.1.4 故障处理的五问法 410
11.1.5 知识库 413
11.1.6 流程跟踪的Tracker系统 425
11.2 自管理 431
11.2.1 时间管理 431
11.2.2 思维导图 433
11.2.3 Git 管理和应用 434
11.2.4 交流与活动 445
LATEX 入门 本书特色 LATEX肇始于20世纪80年代初,也是LeslieLamport博士为了编写他自己的一部书籍而设计的。LATEX实际上就是用TEX...
三级PC技术教程(全国计算机等级考试教材系列) 内容简介 本书是根据教育部考试中心*新制定的《全国计算机等级考试大纲 (2004年版)》对三级PC技术的考试范围...
《中论讲记》内容简介:《中论》,又称《中观论》或《正观论》,与《百论》《十二门论》合称三论宗据以立宗的“三论”,撰成时间约
在不同文化中,地球内部都是地下世界、死之国度及地狱的象征。黑暗的地球内部会令人心生恐惧,并且很容易联想到死亡。尽管如此,
《我们的朋友胡适之》内容简介:“我的朋友胡适之”,曾经是民国时许多人的口头禅。他的名望之高、人缘之好、影响之大可见一斑。这
《说笑:有效有范儿的表达技巧》内容简介:本书是《吐槽大会》卡司、“脱口秀女王”思文的幽默沟通之道。与人沟通并不容易,我们往
“这本深思熟虑的论文集(《安全之美》)帮助读者摆脱安全领域闪烁着欺骗光芒的心理恐惧,转而欣赏安全的微妙美感。本书描述了安
精通数据科学:从线性回归到深度学习 本书特色 本书全面讲解了数据科学的相关知识,从统计分析学到机器学习、深度学习中用到的算法及模型,借鉴经济学视角给出模型的相关...
Windows 7使用详解 本书特色 《Windows 7 使用详解》由众多Windows技术专家倾力推荐。Windows 7使用详解 内容简介 本书由微软*有...
《渲染王3ds Max/VRay建筑表现全模型渲染技术精粹》内容简介:这是一本全面讲解建筑表现项目案例的技术书籍,以“全模型制作”为技
本书用Python语言来讲解算法的分析和设计。本书主要关注经典的算法,但同时会为读者理解基本算法问题和解决问题打下很好的基础。
《近代宫廷戏曲档案文献研究》内容简介:京剧是中国传统文化之一,流播全国,影响甚广,有“国剧”之称,是中华民族传统文化的重要
《Flutter 开发之旅从南到北》内容简介:本书主要讲述Flutter框架的核心技术。本书共12章,首先介绍了Flutter技术的基础知识、Dart
《管理故事与哲理》内容简介:这是一本用故事+剖析的形式来传授管理哲学的大众经管图书。将管理的原理、策略、方法、技巧融入短小精
《Origin8.0实用教程:科技作图与数据分析》主要按Origin基础、数据管理、科技作图、数据分析和自动化编程为系统框架,以模块功能
《风之又三郎》内容简介:一个大风天,学校里来了一个奇怪的转校生。班上的孩子们怀疑他是风神的孩子,对他百般试探捉弄,最终那孩
《互联网+模型构建》内容简介:“互联网+”构建了一个庞大的跨界体系,在这个框架下,大数据、云计算、移动互联、物联网、虚拟现实
ThisinstructorsmanualandreadersguideaccompaniesthesecondeditionofStructureandInt...
再生利用|藝術修復|自然材料|生態住家中古公寓、透天、獨棟、古厝、三合院的綠色變身改造!採光、通風、有機的家--綠色版〔
《交互界面设计》是一本关于交互设计的入门读物。交互设计分为三个大的领域,分别是基于屏幕的界面设计、交互产品设计以及服务设