作者: [美] 巴塞姆· 阿利(Bassem Aly)
出版社: 人民邮电出版社
出版年: 2020-04
ISBN: 9787115530189
~~滚到底部有网盘下载链接~~
内容简介
《Python自动化运维实战》介绍了如何通过Python来自动完成服务器的配置与管理,自动完成系统的管理任务(如用户管理、数据库管理和进程管理),以及完成这些工作所需的模块、库和工具。此外,本书还讲述了如何使用Python脚本自动执行测试,如何通过Python在云基础设施和虚拟机上自动执行任务,如何使用基于Python的安全工具自动完成与安全相关的任务。
本书适合运维人员和开发人员阅读,也可作为相关专业人士的参考书。
巴塞姆·阿利(Bassem Aly)是Juniper Networks公司经验丰富的SDN/NFV解决方案顾问,过去9年来一直在电信行业工作。他擅长使用不同的自动化工具以及DevOps框架设计和实现下一代自动化解决方案。此外,他在使用OpenStack构建和部署电信应用程序方面拥有丰富的经验,同时他还负责网络自动化和网络编程方面的企业培训。
本书适合运维人员和开发人员阅读,也可作为相关专业人士的参考书。
巴塞姆·阿利(Bassem Aly)是Juniper Networks公司经验丰富的SDN/NFV解决方案顾问,过去9年来一直在电信行业工作。他擅长使用不同的自动化工具以及DevOps框架设计和实现下一代自动化解决方案。此外,他在使用OpenStack构建和部署电信应用程序方面拥有丰富的经验,同时他还负责网络自动化和网络编程方面的企业培训。
目录
版权声明
内容提要
作者简介
技术审稿人简介
前言
资源与支持
第1章 搭建Python环境
1.1 Python简介
1.2 安装PyCharm IDE
1.3 PyCharm的高级功能
1.4 小结
第2章 常用的自动化库
2.1 Python包
2.2 常用Python库
2.3 查看模块源代码
2.4 小结
第3章 搭建网络实验室环境
3.1 技术要求
3.2 需要自动化网络的时间和原因
3.3 自动化的两种方式——屏幕抓取与API
3.4 使用Python进行网络自动化的原因
3.5 网络自动化的未来
3.6 搭建网络实验室
3.7 准备工作——安装EVE-NG
3.8 创建企业网络拓扑
3.9 小结
第4章 使用Python管理网络设备
4.1 技术要求
4.2 在Python中使用Telnet协议
4.3 使用netaddr处理IP地址和网络
4.4 简单的用例
4.5 小结
第5章 从网络设备中提取数据
5.1 技术要求
5.2 解释器
5.3 正则表达式
5.4 使用CiscoConfParse库校验配置
5.5 使用Matplotlib库可视化返回的数据
5.6 小结
第6章 使用Python和Jinja2配置生成器
6.1 YAML简介
6.2 使用Jinja2建立配置模板
6.3 小结
第7章 并行执行Python脚本
7.1 Python脚本在计算机中运行的方式
7.2 multiprocessing库
7.3 小结
第8章 准备实验室环境
8.1 获取Linux操作系统
8.2 在虚拟机管理程序上创建自动化虚拟机
8.3 开始使用Cobbler
8.4 小结
第9章 使用subprocess库
9.1 subprocess库中的Popen()
9.2 stdin、stdout和stderr
9.3 subprocess库中的 call() 函数
9.4 小结
第10章 使用Fabric运行系统管理任务
10.1 技术要求
10.2 Fabric库
10.3 运行第一个Fabric文件
10.4 其他有用的Fabric特性
10.5 小结
第11章 生成系统报告和监控系统
11.1 从Linux系统中收集数据
11.2 在Ansible中管理用户
11.3 小结
第12章 与数据库交互
12.1 在自动化服务器上安装MySQL
12.2 从Python中访问MySQL数据库
12.3 小结
第13章 使用Ansible管理系统
13.1 Ansible术语
13.2 在Linux系统上安装Ansible
13.3 在即席模式下使用Ansible
13.4 创建第一个playbook
13.5 Ansible的条件、处理程序和循环
13.6 使用事实数据
13.7 使用Ansible模板
13.8 小结
第14章 创建和管理VMware虚拟机
14.1 设置环境
14.2 使用Jinja2生成VMX文件
14.3 VMware Python客户端
14.4 使用playbook管理实例
14.5 小结
第15章 和OpenStack API交互
15.1 RESTful Web服务
15.2 设置环境
15.3 向OpenStack keystone发送请求
15.4 用Python创建实例
15.5 使用Ansible管理OpenStack实例
15.6 小结
第16章 使用Python和Boto3自动化AWS
16.1 AWS Python模块
16.2 管理AWS实例
16.3 自动化AWS S3服务
16.4 小结
第17章 使用Scapy框架
17.1 Scapy
17.2 安装Scapy
17.3 使用Scapy生成报文和网络流
17.4 抓取和重播报文
17.5 小结
第18章 使用Python编写网络扫描程序
18.1 网络扫描程序
18.2 使用Python编写网络扫描程序
18.3 在GitHub上共享代码
18.4 小结
内容提要
作者简介
技术审稿人简介
前言
资源与支持
第1章 搭建Python环境
1.1 Python简介
1.2 安装PyCharm IDE
1.3 PyCharm的高级功能
1.4 小结
第2章 常用的自动化库
2.1 Python包
2.2 常用Python库
2.3 查看模块源代码
2.4 小结
第3章 搭建网络实验室环境
3.1 技术要求
3.2 需要自动化网络的时间和原因
3.3 自动化的两种方式——屏幕抓取与API
3.4 使用Python进行网络自动化的原因
3.5 网络自动化的未来
3.6 搭建网络实验室
3.7 准备工作——安装EVE-NG
3.8 创建企业网络拓扑
3.9 小结
第4章 使用Python管理网络设备
4.1 技术要求
4.2 在Python中使用Telnet协议
4.3 使用netaddr处理IP地址和网络
4.4 简单的用例
4.5 小结
第5章 从网络设备中提取数据
5.1 技术要求
5.2 解释器
5.3 正则表达式
5.4 使用CiscoConfParse库校验配置
5.5 使用Matplotlib库可视化返回的数据
5.6 小结
第6章 使用Python和Jinja2配置生成器
6.1 YAML简介
6.2 使用Jinja2建立配置模板
6.3 小结
第7章 并行执行Python脚本
7.1 Python脚本在计算机中运行的方式
7.2 multiprocessing库
7.3 小结
第8章 准备实验室环境
8.1 获取Linux操作系统
8.2 在虚拟机管理程序上创建自动化虚拟机
8.3 开始使用Cobbler
8.4 小结
第9章 使用subprocess库
9.1 subprocess库中的Popen()
9.2 stdin、stdout和stderr
9.3 subprocess库中的 call() 函数
9.4 小结
第10章 使用Fabric运行系统管理任务
10.1 技术要求
10.2 Fabric库
10.3 运行第一个Fabric文件
10.4 其他有用的Fabric特性
10.5 小结
第11章 生成系统报告和监控系统
11.1 从Linux系统中收集数据
11.2 在Ansible中管理用户
11.3 小结
第12章 与数据库交互
12.1 在自动化服务器上安装MySQL
12.2 从Python中访问MySQL数据库
12.3 小结
第13章 使用Ansible管理系统
13.1 Ansible术语
13.2 在Linux系统上安装Ansible
13.3 在即席模式下使用Ansible
13.4 创建第一个playbook
13.5 Ansible的条件、处理程序和循环
13.6 使用事实数据
13.7 使用Ansible模板
13.8 小结
第14章 创建和管理VMware虚拟机
14.1 设置环境
14.2 使用Jinja2生成VMX文件
14.3 VMware Python客户端
14.4 使用playbook管理实例
14.5 小结
第15章 和OpenStack API交互
15.1 RESTful Web服务
15.2 设置环境
15.3 向OpenStack keystone发送请求
15.4 用Python创建实例
15.5 使用Ansible管理OpenStack实例
15.6 小结
第16章 使用Python和Boto3自动化AWS
16.1 AWS Python模块
16.2 管理AWS实例
16.3 自动化AWS S3服务
16.4 小结
第17章 使用Scapy框架
17.1 Scapy
17.2 安装Scapy
17.3 使用Scapy生成报文和网络流
17.4 抓取和重播报文
17.5 小结
第18章 使用Python编写网络扫描程序
18.1 网络扫描程序
18.2 使用Python编写网络扫描程序
18.3 在GitHub上共享代码
18.4 小结