书籍 Python自动化运维实战的封面

Python自动化运维实战PDF电子书下载

(美)巴塞姆·阿利(Bassem Aly)著

购买点数

20

出版社

出版时间

2020

ISBN

标注页数

0 页

PDF页数

329 页

标签

实战 自动化

图书目录

第1章 搭建Python环境 1

1.1 Python简介 2

1.1.1 Python版本 3

1.1.2安装Python 4

1.2安装PyCharm IDE 6

1.3 PyCharm的高级功能 12

1.3.1调试代码 13

1.3.2重构代码 14

1.3.3从GUI安装包 16

1.4小结 17

第2章 常用的自动化库 18

2.1 Python包 19

2.2常用Python库 20

2.2.1与网络相关的Python库 21

2.2.2与系统和云相关的Python库 22

2.3查看模块源代码 23

2.4小结 28

第3章 搭建网络实验室环境 29

3.1技术要求 30

3.2需要自动化网络的时间和原因 30

3.3自动化的两种方式——屏幕抓取与API 31

3.4使用Python进行网络自动化的原因 31

3.5网络自动化的未来 33

3.6搭建网络实验室 34

3.7准备工作——安装EVE-NG 34

3.7.1在VMware Workstation上安装 35

3.7.2通过VMware ESXi安装 36

3.7.3通过Red Hat KVM安装 38

3.7.4访问EVE-NG 39

3.7.5安装EVE-NG客户端工具包 42

3.7.6在EVE-NG中加载网络镜像 43

3.8创建企业网络拓扑 43

3.8.1添加新节点 44

3.8.2连接节点 45

3.9小结 47

第4章 使用Python管理网络设备 48

4.1技术要求 49

4.1.1 Python和SSH 49

4.1.2 Paramiko模块 50

4.1.3 netmiko模块 52

4.2在Python中使用Telnet协议 59

4.3使用netaddr处理IP地址和网络 64

4.3.1安装netaddr 65

4.3.2使用netaddr的方法 65

4.4简单的用例 67

4.4.1备份设备配置 68

4.4.2创建访问终端 70

4.4.3从Excel工作表中读取数据 72

4.4.4其他用例 75

4.5小结 75

第5章 从网络设备中提取数据 76

5.1技术要求 77

5.2解释器 77

5.3正则表达式 78

5.4使用CiscoConfParse库校验配置 86

5.4.1 CiscoConfParse库 86

5.4.2支持的供应商 87

5.4.3安装CiscoConfParse库 88

5.4.4使用CiscoConfParse库 88

5.5使用Matplotlib库可视化返回的数据 91

5.5.1安装Matplotlib库 91

5.5.2使用Matplotlib库 92

5.5.3使用Matplotlib库可视化SNMP 94

5.6小结 96

第6章 使用Python和Jinja2配置生成器 97

6.1 YAML简介 98

6.2使用Jinja2建立配置模板 102

6.2.1从文件系统中读取模板 109

6.2.2在Jinja2中使用循环和条件 111

6.3小结 119

第7章 并行执行Python脚本 120

7.1 Python脚本在计算机中运行的方式 121

7.2 multiprocessing库 123

7.2.1开始使用multiprocessing库 123

7.2.2进程间的相互通信 126

7.3小结 127

第8章 准备实验室环境 128

8.1获取Linux操作系统 129

8.1.1下载CentOS 129

8.1.2下载Ubuntu 130

8.2在虚拟机管理程序上创建自动化虚拟机 131

8.2.1在VMware ESXi上创建Linux虚拟机 131

8.2.2使用KVM创建Linux虚拟机 135

8.3开始使用Cobbler 139

8.3.1 Cobbler的工作原理 139

8.3.2在自动化服务器上安装Cobbler 141

8.3.3通过Cobbler检查服务器硬件 144

8.4小结 149

第9章 使用subprocess库 150

9.1 subprocess库中的Popen() 151

9.2 stdin、 stdout和stderr 154

9.3 subprocess库中的call()函数 156

9.4小结 157

第10章 使用Fabric运行系统管理任务 158

10.1技术要求 159

10.2 Fabric库 159

10.2.1安装Fabric库 160

10.2.2 Fabric库中的操作 161

10.3运行第一个Fabric文件 164

10.3.1有关fab工具的更多信息 167

10.3.2使用Fabric检查系统健康状态 168

10.4其他有用的Fabric特性 173

10.4.1 Fabric角色 173

10.4.2 Fabric上下文管理器 175

10.5小结 176

第11章 生成系统报告和监控系统 177

11.1从Linux系统中收集数据 178

11.1.1通过邮件发送收集的数据 183

11.1.2使用time和date模块 186

11.1.3定期运行脚本 187

11.2在Ansible中管理用户 188

11.2.1在Linux系统中通过Ansible管理用户 188

11.2.2在Windows系统中通过Ansible管理用户 190

11.3小结 190

第12章 与数据库交互 191

12.1在自动化服务器上安装MySQL 192

12.1.1安装后的安全问题 193

12.1.2验证数据库的安装 194

12.2从Python中访问MySQL数据库 195

12.2.1查询数据库 197

12.2.2向数据库中插入数据 198

12.3小结 201

第13章 使用Ansible管理系统 202

13.1 Ansible术语 203

13.2在Linux系统上安装Ansible 205

13.2.1在RHEL系统和CentOS上安装Ansible 205

13.2.2在Ubuntu系统上安装Ansible 205

13.3在即席模式下使用Ansible 206

13.4创建第一个playbook 210

13.5 Ansible的条件、处理程序和循环 212

13.5.1设计条件 213

13.5.2在Ansible中创建循环 215

13.5.3使用处理程序触发任务 216

13.6使用事实数据 218

13.7使用Ansible模板 219

13.8小结 221

第14章 创建和管理VMware虚拟机 222

14.1设置环境 223

14.2使用Jinja2生成VMX文件 225

14.2.1创建VMX模板 226

14.2.2处理Excel工作表中的数据 229

14.2.3生成VMX文件 231

14.3 VMware Python客户端 238

14.3.1安装PyVmomi库 239

14.3.2使用PyVmomi库的第一步 240

14.3.3更改虚拟机的状态 244

14.3.4更多内容 246

14.4使用playbook管理实例 246

14.5小结 249

第15章和OpenStack API交互 250

15.1 RESTful Web服务 251

15.2设置环境 253

15.2.1安装rdo-OpenStack包 253

15.2.2生成answer文件 254

15.2.3编辑answer文件 254

15.2.4运行packstack 255

15.2.5访问OpenStack GUI 255

15.3向OpenStack keystone发送请求 256

15.4用Python创建实例 259

15.4.1创建镜像 259

15.4.2分配类型模板 261

15.4.3创建网络和子网 262

15.4.4启动实例 265

15.5使用Ansible管理OpenStack实例 266

15.5.1 Shade和Ansible的安装 266

15.5.2创建Ansible playbook 267

15.6小结 270

第16章 使用Python和Boto3自动化AWS 271

16.1 AWS Python模块 272

16.2管理AWS实例 274

16.3自动化AWS S3服务 277

16.3.1创建存储桶 277

16.3.2上传文件到存储桶 278

16.3.3删除存储桶 278

16.4小结 279

第17章 使用Scapy框架 280

17.1 Scapy 281

17.2安装Scapy 282

17.2.1在基于UNIX的系统上安装Scapy 282

17.2.2 Windows系统和macOS对Scapy的支持情况 283

17.3使用Scapy生成报文和网络流 283

17.4抓取和重播报文 288

17.4.1向报文注入数据 290

17.4.2报文嗅探 292

17.4.3将报文写入pcap文件 294

17.5小结 294

第18章 使用Python编写网络扫描程序 295

18.1网络扫描程序 296

18.2使用Python编写网络扫描程序 296

18.2.1增加功能 297

18.2.2扫描服务 300

18.3在GitHub上共享代码 303

18.3.1创建GitHub账户 304

18.3.2创建和推送代码 304

18.4小结 310

查看更多关于的内容

出版社其它书籍
本类热门
在线购买PDF电子书
下载此书RAR压缩包