【实例简介】Python自动化运维 技术与最佳实践 [刘天斯著][机械工业出版社][2014.12][291页].pdf

【实例截图】

【核心代码】

目 录

本书赞誉

前  言

第一部分 基础篇

第1章 系统基础信息模块详解2

1.1 系统性能信息模块psutil2

1.1.1 获取系统性能信息3

1.1.2 系统进程管理方法6

1.2 实用的IP地址处理模块IPy7

1.2.1 IP地址、网段的基本处理8

1.2.2 多网络计算方法详解9

1.3 DNS处理模块dnspython11

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 发送电子邮件模块smtplib27

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 常用API94

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章 从“零”开发一个轻量级WebServer104

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 安装EPEL122

9.2.3 安装Ansible122

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常用模块及API127

9.6 playbook介绍132

9.6.1 定义主机与用户132

9.6.2 任务列表133

9.6.3 执行playbook134

9.7 playbook角色与包含声明135

9.7.1 包含文件,鼓励复用135

9.7.2 角色136

9.8 获取远程主机系统信息:Facts141

9.9 变量142

9.9.1 Jinja2过滤器143

9.9.2 本地Facts143

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 安装EPEL156

10.1.3 安装Saltstack156

10.1.4 Saltstack防火墙配置157

10.1.5 更新Saltstack配置及安装校验157

10.2 利用Saltstack远程执行命令158

10.3 Saltstack常用模块及API161

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 配置pillar179

10.7.4 配置state180

10.7.5 校验结果183

第11章 统一网络控制器Func详解185

11.1 Func的安装186

11.1.1 业务环境说明186

11.1.2 安装Func186

11.2 Func常用模块及API189

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编写MapReduce207

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技术的自动化运维是干嘛的_《Python自动化运维 技术与最佳实践》.pdf...相关推荐

  1. 基于python技术的自动化运维是干嘛的_如何理解Python与自动化运维的关系。?

    一个是目的,一个是工具的关系 为了达到某个目的(比如这里的运维自动化),我们可以用不同的手段或者工具(比如这里的python) 如果你特别擅长Java.PHP,也可以用Java\PHP来开发相关运维自 ...

  2. python自动化书籍pdf_Python自动化运维技术与最佳实践PDF可复制版电子书免费下载...

    市面上介绍互动的.面向对象的Python编程语言的书有很多,其强大而又灵活的特性,使其成为很多企图通过工具来实现工作(半)自动化的运营同学的首选.更难得的是,本书作者以其在腾讯游戏运营的工作经验,辅以 ...

  3. 运维祈求不宕机_一份运维监控的终极秘籍!监控不到位,宕机两行泪

    基础监控 包括 CPU.内存.磁盘.端口和进程等机器.网络的操作系统级别的信息.通常情况下,成熟的监控系统(例如开源的 Prometheus.Zabbix 等)均会提供基础监控项的采集能力,这里不做过 ...

  4. 奥维地图怎么标注文字_如何在奥维地图上准确地告诉别人“我在哪?”

    原标题:如何在奥维地图上准确地告诉别人"我在哪?" 我们经常会把自己的经纬度告诉别人,就认为别人知道我在哪了,真的是这样吗? 为什么收到别人的经纬度,实际发现和实际位置偏差几百米, ...

  5. python输出给定字符串中字母a出现的次数_[Python] 输出a字符串出现频率最高的字母,用到了list中的排序和Iambda...

    看到老王Python上的一篇有关Iambda的文章http://www.cnpythoner.com/post/140.html,其中提到一题目 - 输出a字符串出现频率最高的字母: 代码如下 1 a ...

  6. arcgis中如何导出奥维可识别的图_如何在奥维中加载ArcGIS发布的地图服务

    在工作中,您可能有大量的航拍图需要在奥维中加载显示,但直接导入航拍图的数据处理量较大.对电脑硬件的要求较高.因此,您可以通过ArcGIS将航拍图发布成地图服务,在奥维中以在线自定义地图的形式加载. 1 ...

  7. python中的集合set类型是可变的吗_[Python] Python数据类型(三)集合类型之set集合和frozenset集合...

    1.集合基本概念 集合是0-n个对象引用的无序组合,集合中存储的元素不可重复,因此这些对象引用的引用的对象必须是可哈希运算的 .  1.python中提供了两种内置的集合类型:可变的set类型和固定的 ...

  8. 【华为云技术分享】云图说 | ContainerOps推出灰度发布模式,助力企业落地容器DevOps最佳实践

    容器交付流水线(ContainerOps)是华为云容器镜像服务(SWR)推出的面向从源代码到生产上线全流程服务,提供镜像仓库.镜像构建.版本管理.交付流水线等一系列服务,助力企业落地容器DevOps最 ...

  9. python用户输入一个字符串、将下标为偶数_[Python]实验问题,python

    实验一: 1. 键盘输入三个整数,输出最大数的平方. a=eval(input("请输入三个整数:")) print(max(a)**2) 2. 键盘输入一个含有10个整数的列表, ...

最新文章

  1. 【Python line_profiler memory_profiler】分析每一行代码的耗时及内存占用情况
  2. c++中extern,static,const关键字的作用
  3. python自动化测试常见面试题二_思考|自动化测试面试题第二波
  4. 精选| 2020年8月R新包推荐(第45期)
  5. 全选 单选和反选的实现
  6. 摄像头大数据分析跟踪均值漂移算法-spark和python
  7. Oracle零碎要点---多表联合查询,收集数据库基本资料
  8. hashMap 和linkedHashMap
  9. 单刹车信号不合理故障_航班盘旋数十圈返航 天津航空:刹车温度传感器等故障...
  10. oracle-Ora-01779-内联视图更新法
  11. PHP 数组常用操作函数随记
  12. 平面三角形外心坐标推导
  13. 网页完整的长截图怎么截?3步搞定!
  14. 如何写出高分IB TOK Essay?
  15. 不同手指戴戒指时的清热解毒的清是什么意思?_百度知道
  16. 关于纳什均衡与博弈论
  17. android+4.4+打印功能,安卓android4.4新增打印支付功能
  18. 宏碁暗影骑士AN515-55/57/58原厂预装系统oem镜像
  19. oracle+not+logged+on,sqlplus ORA-01012: not logged on
  20. 在Mac下如何创建文件

热门文章

  1. Burnside引理和Polya定理学习笔记
  2. 【玩转cocos2d-x之七】场景类CCScene和布景类CCLayer
  3. 原创 | 科普一个 Star 数为 28.5k 的云原生网关
  4. 为什么AI感知与人类感知很难直接比较?
  5. LiveVideoStackCon深圳 - VR/AR基础技术更成熟
  6. 音频开发中常见的四个错误
  7. 做音视频开发,你读对书了吗?(内有福利)
  8. 2019社交与企业多媒体技术和工具应用趋势
  9. LiveVideoStackCon讲师热身分享 ( 十四 ) —— HEVC标准在客户端上的快速实现方法的研究...
  10. C++之类型萃取技巧