互联网
类型
可以朗读
语音朗读
347千字
字数
2021-06-01
发行日期
展开全部
主编推荐语
本书带你掌握Python自动化运维的热门技术与主流开源工具。
内容简介
本书从零开始讲解Python自动化运维工具和及其使用,通过上百个实际运维场景案例,帮助读者理解并掌握自动化运维技术。
本书分为16章,内容包括Python自动化运维概述、Python基础运维技能、实战多进程、实战多线程、实战协程、自动化运维工具(Ansible)、定时任务模块(APScheduler)、执行远程命令的工具(Paramiko)、任务调度神器(Airflow)、分布式任务队列(Celery)、Docker容器技术、主流的自动化配置工具、开源配置管理平台搭建、统一监控平台Zabbix、运维开发技术、DevOps方法论等。
本书内容详尽、示例丰富,适合广大从事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能为企业带来哪些收益
展开全部
出版方
清华大学出版社
清华大学出版社成立于1980年6月,是由教育部主管、清华大学主办的综合出版单位。植根于“清华”这座久负盛名的高等学府,秉承清华人“自强不息,厚德载物”的人文精神,清华大学出版社在短短二十多年的时间里,迅速成长起来。清华大学出版社始终坚持弘扬科技文化产业、服务科教兴国战略的出版方向,把出版高等学校教学用书和科技图书作为主要任务,并为促进学术交流、繁荣出版事业设立了多项出版基金,逐渐形成了以出版高水平的教材和学术专著为主的鲜明特色,在教育出版领域树立了强势品牌。