Python自动化运维

出版日期:2014-11-1
ISBN:9787111483065
作者:刘天斯
页数:312页

内容概要

刘天斯
中国运维领域的偶像级人物,从事系统运维工作近10年。现就职于腾讯,担任高级系统工程师,负责腾讯CDN的运维工作;曾就职于天涯社区,担任架构师兼高级系统工程师。热衷开源技术的研究,包括系统架构、运维开发、负载均衡、缓存技术、数据库、分布式存储及云计算等领域,擅长大规模集群的运维工作。崇尚“技术让工作变得更简单”的理念,开发并维护着“天涯LVS管理系统”、“天涯服务器管理系统”、“在线图片处理平台”、“Varnish缓存推送平台”等7个开源项目。对Python如何在运维中发挥作用进行了深入研究,而且在腾讯内部开展了大量实践,基于Python开发了集群自动化操作工具yorauto,在腾讯各大事业群广泛使用,同时入选公司精品推荐组件。
曾多次荣获新浪技术、51CTO和ITPUB等社区评选的“博客专家”称号。个人运维着博客“运维进行时”(http://blog.liuts.com/index.php),从2007年至今,笔耕不缀,坚持分享自己在运维领域的经验和智慧。拥有发明专利4项。

书籍目录

目 录
本书赞誉
前  言
第一部分 基础篇
第1章 系统基础信息模块详解
2
1.1 系统性能信息模块psutil
2
1.1.1 获取系统性能信息
3
1.1.2 系统进程管理方法
6
1.2 实用的IP地址处理模块IPy
7
1.2.1 IP地址、网段的基本处理
8
1.2.2 多网络计算方法详解
9
1.3 DNS处理模块dnspython
11
1.3.1 模块域名解析方法详解
11
1.3.2 常见解析类型示例说明
12
1.3.3 实践:DNS域名轮循业务监控
14
第2章 业务服务监控详解
17
2.1 文件内容差异对比方法
17
2.1.1 示例1:两个字符串的差异对比
17
2.1.2 生成美观的对比HTML格式文档
19
2.1.3 示例2:对比Nginx配置文件差异
19
2.2 文件与目录差异对比方法
21
2.2.1 模块常用方法说明
21
2.2.2 实践:校验源与备份目录差异
25
2.3 发送电子邮件模块smtplib
27
2.3.1 smtplib模块的常用类与方法
27
2.3.2 定制个性化的邮件格式方法
28
2.3.3 定制常用邮件格式示例详解
29
2.4 探测Web服务质量方法
34
2.4.1 模块常用方法说明
35
2.4.2 实践:实现探测Web服务质量
36
第3章 定制业务质量报表详解
39
3.1 数据报表之Excel操作模块
39
3.1.1 模块常用方法说明
41
3.1.2 实践:定制自动化业务流量报表周报
48
3.2 Python与rrdtool的结合模块
50
3.2.1 rrdtool模块常用方法说明
51
3.2.2 实践:实现网卡流量图表绘制
53
3.3 生成动态路由轨迹图
56
3.3.1 模块常用方法说明
56
3.3.2 实践:实现TCP探测目标服务路由轨迹
57
第4章 Python与系统安全
60
4.1 构建集中式的病毒扫描机制
60
4.1.1 模块常用方法说明
61
4.1.2 实践:实现集中式的病毒扫描
61
4.2 实现高效的端口扫描器
64
4.2.1 模块常用方法说明
64
4.2.2 实践:实现高效的端口扫描
66
第二部分 高级篇
第5章 系统批量运维管理器pexpect详解
70
5.1 pexpect的安装
70
5.2 pexpect的核心组件
71
5.2.1 spawn类
71
5.2.2 run函数
74
5.2.3 pxssh类
75
5.3 pexpect应用示例
76
5.3.1 实现一个自动化FTP操作
76
5.3.2 远程文件自动打包并下载
77
第6章 系统批量运维管理器paramiko详解
79
6.1 paramiko的安装
79
6.2 paramiko的核心组件
81
6.2.1 SSHClient类
81
6.2.2 SFTPClient类
82
6.3 paramiko应用示例
85
6.3.1 实现密钥方式登录远程主机
85
6.3.2 实现堡垒机模式下的远程命令执行
85
6.3.3 实现堡垒机模式下的远程文件上传
88
第7章 系统批量运维管理器Fabric详解
91
7.1 Fabric的安装
91
7.2 fab的常用参数
92
7.3 fabfile的编写
93
7.3.1 全局属性设定
93
7.3.2 常用API
94
7.3.3 示例1:查看本地与远程主机信息
95
7.3.4 示例2:动态获取远程目录列表
96
7.3.5 示例3:网关模式文件上传与执行
97
7.4 Fabric应用示例
98
7.4.1 示例1:文件打包、上传与校验
98
7.4.2 示例2:部署LNMP业务服务环境
99
7.4.3 示例3:生产环境代码包发布管理
101
第8章 从“零”开发一个轻量级WebServer
104
8.1 Yorserver介绍
104
8.1.1 功能特点
104
8.1.2 配置文件
105
8.2 功能实现方法
106
8.2.1 HTTP缓存功能
107
8.2.2 HTTP压缩功能
111
8.2.3 HTTP SSL功能
111
8.2.4 目录列表功能
114
8.2.5 动态CGI功能
114
第9章 集中化管理平台Ansible详解
118
9.1 YAML语言
119
9.1.1 块序列描述
120
9.1.2 块映射描述
120
9.2 Ansible的安装
121
9.2.1 业务环境说明
121
9.2.2 安装EPEL
122
9.2.3 安装Ansible
122
9.2.4 Ansible配置及测试
122
9.2.5 配置Linux主机SSH无密码访问
123
9.3 定义主机与组规则
124
9.3.1 定义主机与组
124
9.3.2 定义主机变量
125
9.3.3 定义组变量
125
9.3.4 分离主机与组特定数据
126
9.4 匹配目标
127
9.5 Ansible常用模块及API
127
9.6 playbook介绍
132
9.6.1 定义主机与用户
132
9.6.2 任务列表
133
9.6.3 执行playbook
134
9.7 playbook角色与包含声明
135
9.7.1 包含文件,鼓励复用
135
9.7.2 角色
136
9.8 获取远程主机系统信息:Facts
141
9.9 变量
142
9.9.1 Jinja2过滤器
143
9.9.2 本地Facts
143
9.9.3 注册变量
144
9.10 条件语句
145
9.11 循环
146
9.12 示例讲解
147
第10章 集中化管理平台Saltstack详解
155
10.1 Saltstack的安装
156
10.1.1 业务环境说明
156
10.1.2 安装EPEL
156
10.1.3 安装Saltstack
156
10.1.4 Saltstack防火墙配置
157
10.1.5 更新Saltstack配置及安装校验
157
10.2 利用Saltstack远程执行命令
158
10.3 Saltstack常用模块及API
161
10.4 grains组件
166
10.4.1 grains常用操作命令
167
10.4.2 定义grains数据
167
10.5 pillar组件
170
10.5.1 pillar的定义
171
10.5.2 pillar的使用
173
10.6 state介绍
174
10.6.1 state的定义
174
10.6.2 state的使用
175
10.7 示例:基于Saltstack实现的配置集中化管理
177
10.7.1 环境说明
177
10.7.2 主控端配置说明
177
10.7.3 配置pillar
179
10.7.4 配置state
180
10.7.5 校验结果
183
第11章 统一网络控制器Func详解
185
11.1 Func的安装
186
11.1.1 业务环境说明
186
11.1.2 安装Func
186
11.2 Func常用模块及API
189
11.2.1 选择目标主机
190
11.2.2 常用模块详解
190
11.3 自定义Func模块
194
11.4 非Python API接口支持
198
11.5 Func的Facts支持
199
第12章 Python大数据应用详解
202
12.1 环境说明
202
12.2 Hadoop部署
203
12.3 使用Python编写MapReduce
207
12.3.1 用原生Python编写MapReduce详解
208
12.3.2 用Mrjob框架编写MapReduce详解
212
12.4 实战分析
216
12.4.1 示例场景
216
12.4.2 网站访问流量统计
217
12.4.3 网站HTTP状态码统计
219
12.4.4 网站分钟级请求数统计
220
12.4.5 网站访问来源IP统计
221
12.4.6 网站文件访问统计
222
第三部分 案例篇
第13章 从零开始打造B/S自动化运维平台
226
13.1 平台功能介绍
226
13.2 系统构架设计
227
13.3 数据库结构设计
228
13.3.1 数据库分析
228
13.3.2 数据字典
228
13.3.3 数据库模型
229
13.4 系统环境部署
230
13.4.1 系统环境说明
230
13.4.2 系统平台搭建
230
13.4.3 开发环境优化
233
13.5 系统功能模块设计
235
13.5.1 前端数据加载模块
235
13.5.2 数据传输模块设计
237
13.5.3 平台功能模块扩展
240
第14章 打造Linux系统安全审计功能
245
14.1 平台功能介绍
245
14.2 系统构架设计
246
14.3 数据库结构设计
247
14.3.1 数据库分析
247
14.3.2 数据字典
247
14.4 系统环境部署
248
14.4.1 系统环境说明
248
14.4.2 上报主机配置
248
14.5 服务器端功能设计
252
14.5.1 Django配置
252
14.5.2 功能实现方法
253
第15章 构建分布式质量监控平台
256
15.1 平台功能介绍
256
15.2 系统构架设计
257
15.3 数据库结构设计
258
15.3.1 数据库分析
258
15.3.2 数据字典
258
15.3.3 数据库模型
259
15.4 系统环境部署
260
15.4.1 系统环境说明
260
15.4.2 数据采集角色
260
15.4.3 rrdtool作业
261
15.5 服务器端功能设计
263
15.5.1 Django配置
263
15.5.2 业务增加功能
264
15.5.3 业务报表功能
266
第16章 构建桌面版C/S自动化运维平台
269
16.1 平台功能介绍
269
16.2 系统构架设计
270
16.3 数据库结构设计
271
16.3.1 数据库分析
271
16.3.2 数据字典
272
16.3.3 数据库模型
272
16.4 系统环境部署
273
16.4.1 系统环境说明
273
16.4.2 系统环境搭建
273
16.5 系统功能模块设计
274
16.5.1 用户登录模块
274
16.5.2 系统配置功能
275
16.5.3 服务器分类模块
277
16.5.4 系统升级功能
280
16.5.5 客户端模块编写
284
16.5.6 执行功能模块
287
16.5.7 平台程序发布
289

作者简介

本书在中国运维领域将有“划时代”的重要意义:一方面,这是国内第一本从纵、深和实践角度探讨Python在运维领域应用的著作;一方面本书的作者是中国运维领域的“偶像级”人物,本书是他在天涯社区和腾讯近10年工作经验的结晶。因为作者实战经验丰富,所以能高屋建瓴、直指痛处,围绕Python自动化运维这个主题,不仅详细介绍了系统基础信息、服务监控、数据报表、系统安全等基础模块,而且深入讲解了自动化操作、系统管理、配置管理、集群管理及大数据应用等高级功能。最重要的是,完整重现了4个来自实际生产环境的不同功能运维平台的综合案例,展示了完整的平台架构及开发流程。
全书一共16章:基础篇(1-4章)详细介绍了系统基础信息、业务服务监控、定制业务质量报表、系统安全等基础和常用模块;高级篇(5-12章)深入讲解了批量运维管理器pexpect、paramiko、Fabric,集中化管理平台Ansible、Saltstack,统一网络控制器Func等高级功能,涵盖自动化操作、系统管理、配置管理、集群管理及大数据应用等主题;案例篇(13-16章)详细介绍了4个来自不同平台的运维案例,如何从零开始打造一个B/S自动化运维平台、如何打造Linux系统安全审计功能、如何构建分布式质量监控平台、如何构建桌面版C/S自动化运维平台,这4个案例均来自实际生产环境。


 Python自动化运维下载 更多精彩书评



发布书评

 
 


精彩书评 (总计4条)

  •     当时读这本书是因为要使用paramiko。有些用法不太会用,结果发现书中有例子。就拿来完整的看了一遍。怎么说呢。本书把运维中常用的模块介绍了一遍。并附之以实例来进行解释说明。一遍读下来收获还可以,但总觉得太过浅显,没有什么深入的东西。想要深入了解各个模块的使用,到头来还得去研读模块文档。这时候本书的那些讲解就有些鸡肋了。但是我觉得本书最大的优势就是,可能这本书是市面上为数不多讲解Python运维方面的书籍。目前看到的也就有两本,一本是《Python UNIX 和Linux 系统管理指南》,还有就是本书了。对于这个领域,本书算是填补了一些空白吧。
  •     目前在读该书,每个章节的案例都非常贴近实际应用,Fabric实现的代码发布代码已经在我们公司线上跑了,挺好用的。案例平台的环境也在搭建中,感觉好强大的,希望作者在第二版中添加爬虫的章节。支持国人原创作品!
  •     无非就是一些文档翻译 目录最实用 一个帖子就够了。。。。。。。。。。。。。。。。。。。。。。。。。。。

精彩短评 (总计24条)

  •     博文集合,感觉像是github上打了几个star
  •     本书基本毫无用处,看此书不如在Google搜索Python+运维库然后自行掌握来的快。不夸张的说这本书四个小时就能看完。信息量太少。
  •     这本书并没有看出来作者有10年运维经验
  •     还行吧,后面的案例部分离我的期待还有点距离
  •     唯一有价值的是目录, 按着目录去官网看文档, 网上搜相关内容就行了....一堆开源工具/库, 附带简单用法就是一本书了? 钱真好赚, 5星好像太多了
  •     根据一门编程语言来介绍一种技术的书籍必然会有大量的网上能轻易搜索到的知识,比如本书前面的那些packages的介绍,但是从后面的实例可以看出作者的经验的丰富,如果跟着书来做,一定会有很大提高的
  •     书籍在线问答:http://qa.liuts.com (有问必答) 书籍源码:https://github.com/yorkoliu/pyauto 另想大家看到什么样的内容,可以给我建议,将会在第二版中引入。
  •     很多觉得可以做的事情,里面都做了。对运维、自动化感兴趣的可以看过去
  •     虽然都是讲解的基本使用和大略框架,但是对于运维来说实用性很强,是成为DevOps的一本入门书籍。
  •     其它的不说了,但本书再次证明国内运维写的Python代码都非常的烂,一股谭浩强味……
  •     一般 看不懂
  •     最后那个示例管理系统太鸡肋
  •     凑合看看的一本书吧。前边扒拉扒拉的介绍了一堆各种库和示例,后边有几个作者的例子。 但其实期待可以读到的,比这本书要多。
  •     请问哪里可以退款?
  •     无非就是堆文档,这年头怎么是个人都要出书啊
  •     确实是python学习之后使用的工具书,实践书,没啥废话,就讲如何使用python
  •     对我帮助不大
  •     后面几个工具没细看 要用到时再来翻翻吧...
  •     不值得去购买,书本的内容,大部分网络上都有。
  •     扯几个常见python库的安装配置用法,简介几个常见配置管理工具的基础用法,最后的几个案例讲的十分粗浅。这就是作者的10年运维经验?何处“高屋建瓴、直指痛处”了?
  •     自动化操控的对象:。主机、任务, 将特定主机分配指定任务,一起执行, 优化了重复工作。另外任务和主机得定义如果因工具而描述简洁并且可复用, 就形成规范化、流程化。 清晰、规范则可形成下一轮的复用抽象,是良性循环。
  •     对python的库和工具都介绍了一遍,而已。
  •     前面几章 一些第三方模块还是比较实用的
  •     食之无味
 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024