Python自动化运维快速入门(第2版)

Python自动化运维快速入门(第2版)

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

本书带你掌握Python自动化运维的热门技术与主流开源工具。

内容简介

本书从零开始讲解Python自动化运维工具和及其使用,通过上百个实际运维场景案例,帮助读者理解并掌握自动化运维技术。

本书分为16章,内容包括Python自动化运维概述、Python基础运维技能、实战多进程、实战多线程、实战协程、自动化运维工具(Ansible)、定时任务模块(APScheduler)、执行远程命令的工具(Paramiko)、任务调度神器(Airflow)、分布式任务队列(Celery)、Docker容器技术、主流的自动化配置工具、开源配置管理平台搭建、统一监控平台Zabbix、运维开发技术、DevOps方法论等。

本书内容详尽、示例丰富,适合广大从事Python运维开发的初学者学习和参考,同时也可作为高等院校和培训机构计算机及其相关专业的教材使用。

作者简介

作者郑征,计算机专业毕业,硕士,师从李云飞教授,曾发表论文两篇,获两项实用新型专利。

工作多年来一直致力于运维开发及数据分析,从事银行数据库、操作系统、大型软件系统相关的运维及开发工作,擅长Python、Shell、SQL。

对自动化运维、监控、调度工具、数据库技术有过细致的研究,是Python语言的狂热爱好者。长期专注于Python运维程序开发,致力于解决运维工作过程中的实际问题,提高运维工作的效率,减轻运维工作的负担。

章节目录

版权信息

内容简介

前言

第1章 自动化运维与Python

1.1 自动化运维概述

1.1.1 自动化运维势在必行

1.1.2 什么是成熟的自动化运维平台

1.1.3 为什么选择Python进行运维

1.2 初识Python

1.3 Python环境搭建

1.3.1 Windows系统下的Python安装

1.3.2 Linux系统下的Python安装

1.4 开发工具介绍

1.4.1 PyCharm

1.4.2 vim

1.5 Python基础语法

1.5.1 数字运算

1.5.2 字符串

1.5.3 列表与元组

1.5.4 字典

1.5.5 集合

1.5.6 函数

1.5.7 条件控制与循环语句

1.5.8 可迭代对象、迭代器和生成器

1.5.9 对象赋值、浅复制、深复制

1.6 多个例子实战Python编程

1.6.1 实战1:九九乘法表

1.6.2 实战2:发放奖金的梯度

1.6.3 实战3:递归获取目录下文件的修改时间

1.6.4 实战4:两行代码查找替换3或5的倍数

1.6.5 实战5:一行代码的实现

1.7 pip工具的使用

第2章 基础运维技能

2.1 文本处理

2.1.1 Python编码解码

2.1.2 文件操作

2.1.3 读写配置文件

2.1.4 解析XML文件

2.2 系统信息监控

2.3 文件系统监控

2.4 执行外部命令subprocess

2.4.1 subprocess.run()方法

2.4.2 Popen类

2.4.3 其他方法

2.5 日志记录

2.5.1 日志模块简介

2.5.2 logging模块的配置与使用

2.6 搭建FTP服务器与客户端

2.6.1 搭建FTP服务器

2.6.2 编写FTP客户端程序

2.7 邮件提醒

2.7.1 发送邮件

2.7.2 接收邮件

2.7.3 将报警信息实时发送至邮箱

2.8 微信提醒

2.8.1 处理微信消息

2.8.2 将警告信息发送至微信

第3章 实战多进程

3.1 创建进程的类Process

3.2 进程并发控制之Semaphore

3.3 进程同步之Lock

3.4 进程同步之Event

3.5 进程优先级队列Queue

3.6 多进程之进程池Pool

3.7 多进程之数据交换Pipe

第4章 实战多线程

4.1 Python多线程简介

4.2 多线程编程之threading模块

4.3 多线程同步之Lock(互斥锁)

4.4 多线程同步之Semaphore(信号量)

4.5 多线程同步之Condition

4.6 多线程同步之Event

4.7 线程优先级队列(queue)

4.8 多线程之线程池pool

第5章 实战协程

5.1 定义协程

5.2 并发

5.3 异步请求

第6章 自动化运维工具Ansible

6.1 Ansible的安装

6.2 Ansible配置

6.3 inventory文件

6.4 Ansible ad-hoc模式

6.5 Ansible playbooks模式

第7章 定时任务模块APScheduler

7.1 安装及基本概念

7.1.1 APScheduler的安装

7.1.2 APScheduler涉及的几个概念

7.1.3 APScheduler的工作流程

7.2 配置调度器

7.3 启动调度器

7.4 调度器事件监听

第8章 执行远程命令的工具Paramiko

8.1 介绍几个重要的类

8.1.1 通道类

8.1.2 传输类

8.1.3 SSHClient类

8.2 Paramiko的使用

8.2.1 安装Paramiko

8.2.2 基于用户名和密码的SSHClient方式登录

8.2.3 基于用户名和密码的Transport方式登录并实现上传与下载

8.2.4 基于公钥密钥的SSHClient方式登录

8.2.5 基于公钥密钥的Transport方式登录

第9章 分布式任务队列Celery

9.1 Celery简介

9.2 安装Celery

9.3 安装RabbitMQ或Redis

9.3.1 安装RabbitMQ

9.3.2 安装Redis

9.4 第一个Celey程序

9.5 第一个工程项目

9.6 Celery架构

9.7 Celery队列

9.8 Celery Beat任务调度

9.9 Celery远程调用

9.10 监控与管理

9.10.1 Celery命令行实用工具

9.10.2 Web实时监控工具Flower

9.10.3 Flower的使用方法

第10章 任务调度神器Airflow

10.1 Airflow简介

10.1.1 DAG

10.1.2 操作符——Operators

10.1.3 时区——timezone

10.1.4 Web服务器——webschmerver

10.1.5 调度器——schduler

10.1.6 工作节点——worker

10.1.7 执行器——Executor

10.2 Airflow安装与部署

10.2.1 在线安装

10.2.2 离线安装

10.2.3 部署与配置(以SQLite为知识库)

10.2.4 指定依赖关系

10.2.5 启动scheduler

10.3 Airflow配置MySQL知识库和LocalExecutor

10.4 Airflow配置Redis和CeleryExecutor

10.5 Airflow任务开发Operators

10.5.1 Operators简介

10.5.2 BaseOperator简介

10.5.3 BashOperator的使用

10.5.4 PythonOperator的使用

10.5.5 SSHOperator的使用

10.5.6 HiveOperator的使用

10.5.7 如何自定义Operator

10.6 Airflow集群、高可用部署

10.6.1 Airflow的四大守护进程

10.6.2 Airflow的守护进程是如何一起工作的

10.6.3 Airflow单节点部署

10.6.4 Airflow多节点(集群)部署

10.6.5 扩展worker节点

10.6.6 扩展Master节点

10.6.7 Airflow集群部署的具体步骤

第11章 Docker容器技术介绍

11.1 Docker概述

11.2 Docker解决什么问题

11.3 Docker的安装部署与使用

11.3.1 安装Docker引擎

11.3.2 使用Docker

11.3.3 Docker命令的使用方法

11.4 卷的概念

11.5 数据卷共享

11.6 自制镜像并发布

11.7 Docker网络

11.7.1 Docker的网络模式

11.7.2 Docker网络端口映射

11.8 Docker小结

第12章 主流自动化配置工具

12.1 配置引擎CFEngine

12.1.1 使用CFEngine的四个理由

12.1.2 CFEngine的安装

12.1.3 CFEngine的配置

12.1.4 CFEngine政策示例

12.2 自动化运维工具Chef

12.2.1 Chef简介

12.2.2 Chef的安装

12.2.3 Chef的使用

12.3 Puppet

12.3.1 Puppet简介

12.3.2 Puppet安装和配置

12.3.3 Puppet配置语言

12.3.4 编写第一个配置文件

12.4 SaltStack

12.4.1 SaltStack的简介

12.4.2 SaltStack的安装与配置

12.4.3 SaltStack的使用

第13章 开源配置管理平台搭建

13.1 open-cmdb

13.1.1 open-cmdb功能介绍

13.1.2 open-cmdb开发环境部署

13.1.3 open-cmdb生产环境部署

13.2 蓝鲸配置平台

13.2.1 蓝鲸配置平台系统架构

13.2.2 蓝鲸配置平台环境快速部署

第14章 统一监控平台Zabbix

14.1 Zabbix主要功能

14.2 Zabbix平台的技术术语

14.3 Zabbix的主要模块

14.4 Zabbix的安装要求

14.5 Zabbix的安装:从安装包进行安装

14.6 Zabbix的安装:从容器进行安装

第15章 运维开发相关技术

15.1 前端开发之Vue.js

15.1.1 新手学习Vue.js的先后顺序

15.1.2 使用Vue.js实现一个demo

15.1.3 使用vue-cli创建工程并部署

15.1.4 流行的Vue.js UI库

15.1.5 几个开源的Vue.js管理项目

15.2 后端接口开发之FastAPI

15.2.1 FastAPI的安装

15.2.2 编写一个demo

15.2.3 安全与中间件

15.2.4 SQL与数据库

15.2.5 测试与调试

15.3 WebSocket开发

15.3.1 WebSocket client的实现

15.3.2 WebSocket Server的实现

15.3.3 实现一个安全的WebSocket

15.3.4 基于WebSocket实现一个webshell

15.3.5 与主流框架集成的WebSocket

第16章 DevOps方法论

16.1 什么是DevOps

16.2 DevOps成功的关键

16.3 DevOps最常用的10个工具

16.4 DevOps能为企业带来哪些收益

Python自动化运维快速入门(第2版)是2021年由清华大学出版社出版,作者郑征。

得书感谢您对《Python自动化运维快速入门(第2版)》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
从零开始:Python快速入门教程 电子书
本书以零基础讲解为宗旨,用实例引导读者学习,深入浅出地介绍Python的相关知识和实战技能。
Linux系统运维指南:从入门到企业实战 电子书
《Linux系统运维指南:从入门到企业实战》用简洁的语言阐述了企业系统运维的核心知识; 《Linux系统运维指南:从入门到企业实战》囊括学习Linux操作系统必备的理论; 《Linux系统运维指南:从入门到企业实战》LAMP/LNMP架构的部署、配置与优化的应用详解; 《Linux系统运维指南:从入门到企业实战》展示企业运维环境下的各开源软件服务及配置过程; 《Linux系统运维指南:从入门到企业实战》结合实际场景对数据库、服务器等架构进行演练。
Kubernetes快速入门(第2版) 电子书
Kubernetes快速学习指南,详细讲解Kubernetes的全部知识。
大数据定义智能运维 电子书
运维数据治理开山之作,企业基础平台数据资源建设必备图书。
开源安全运维平台OSSIM疑难解析:入门篇 电子书
OSSIM运维工程师故障速查手册,OSSIM实践指南。