书籍详情
Python自动化运维:技术与最佳实践
作者:刘天斯 著
出版社:机械工业出版社
出版时间:2014-11-01
ISBN:9787111483069
定价:¥69.00
购买这本书可以去
内容简介
《Python自动化运维:技术与最佳实践》在中国运维领域将有“划时代”的重要意义:一方面,这是国内第一本从纵、深和实践角度探讨Python在运维领域应用的著作;一方面本书的作者是中国运维领域的“偶像级”人物,本书是他在天涯社区和腾讯近10年工作经验的结晶。因为作者实战经验丰富,所以能高屋建瓴、直指痛处,围绕Python自动化运维这个主题,不仅详细介绍了系统基础信息、服务监控、数据报表、系统安全等基础模块,而且深入讲解了自动化操作、系统管理、配置管理、集群管理及大数据应用等高级功能。最重要的是,完整重现了4个来自实际生产环境的不同功能运维平台的综合案例,展示了完整的平台架构及开发流程。全书一共16章:基础篇(1-4章)详细介绍了系统基础信息、业务服务监控、定制业务质量报表、系统安全等基础和常用模块;高级篇(5-12章)深入讲解了批量运维管理器pexpect、paramiko、Fabric,集中化管理平台Ansible、Saltstack,统一网络控制器Func等高级功能,涵盖自动化操作、系统管理、配置管理、集群管理及大数据应用等主题;案例篇(13-16章)详细介绍了4个来自不同平台的运维案例,如何从零开始打造一个B/S自动化运维平台、如何打造Linux系统安全审计功能、如何构建分布式质量监控平台、如何构建桌面版C/S自动化运维平台,这4个案例均来自实际生产环境。
作者简介
刘天斯,中国运维领域的偶像级人物,从事系统运维工作近10年。现就职于腾讯,担任高级系统工程师,负责腾讯CDN的运维工作;曾就职于天涯社区,担任架构师兼高级系统工程师。热衷开源技术的研究,包括系统架构、运维开发、负载均衡、缓存技术、数据库、分布式存储及云计算等领域,擅长大规模集群的运维工作。崇尚“技术让工作变得更简单”的理念,开发并维护着“天涯LVS管理系统”、“天涯服务器管理系统”、“在线图片处理平台”、“Varnish缓存推送平台”等7个开源项目。对Python如何在运维中发挥作用进行了深入研究,而且在腾讯内部开展了大量实践,基于Python开发了集群自动化操作工具yorauto,在腾讯各大事业群广泛使用,同时入选公司精品推荐组件。曾多次荣获新浪技术、51CTO和ITPUB等社区评选的“博客专家”称号。个人运维着博客“运维进行时”,从2007年至今,笔耕不缀,坚持分享自己在运维领域的经验和智慧。拥有发明专利4项。
目录
本书赞誉
前言
第一部分 基础篇
第1章 系统基础信息模块详解
1.1 系统性能信息模块psutil
1.1.1 获取系统性能信息
1.1.2 系统进程管理方法
1.2 实用的IP地址处理模块IPy
1.2.1 IP地址、网段的基本处理
1.2.2 多网络计算方法详解
1.3 DNS处理模块dnspython
1.3.1 模块域名解析方法详解
1.3.2 常见解析类型示例说明
1.3.3 实践:DNS域名轮循业务监控
第2章 业务服务监控详解
2.1 文件内容差异对比方法
2.1.1 示例1:两个字符串的差异对比
2.1.2 生成美观的对比HTML格式文档
2.1.3 示例2:对比Nginx配置文件差异
2.2 文件与目录差异对比方法
2.2.1 模块常用方法说明
2.2.2 实践:校验源与备份目录差异
2.3 发送电子邮件模块smtplib
2.3.1 smtplib模块的常用类与方法
2.3.2 定制个性化的邮件格式方法
2.3.3 定制常用邮件格式示例详解
2.4 探测Web服务质量方法
2.4.1 模块常用方法说明
2.4.2 实践:实现探测Web服务质量
第3章 定制业务质量报表详解
3.1 数据报表之Excel操作模块
3.1.1 模块常用方法说明
3.1.2 实践:定制自动化业务流量报表周报
3.2 Python与rrdtool的结合模块
3.2.1 rrdtool模块常用方法说明
3.2.2 实践:实现网卡流量图表绘制
3.3 生成动态路由轨迹图
3.3.1 模块常用方法说明
3.3.2 实践:实现TCP探测目标服务路由轨迹
第4章 Python与系统安全
4.1 构建集中式的病毒扫描机制
4.1.1 模块常用方法说明
4.1.2 实践:实现集中式的病毒扫描
4.2 实现高效的端口扫描器
4.2.1 模块常用方法说明
4.2.2 实践:实现高效的端口扫描
第二部分 高级篇
第5章 系统批量运维管理器pexpect详解
5.1 pexpect的安装
5.2 pexpect的核心组件
5.2.1 spawn类
5.2.2 run函数
5.2.3 pxssh类
5.3 pexpect应用示例
5.3.1 实现一个自动化FTP操作
5.3.2 远程文件自动打包并下载
第6章 系统批量运维管理器paramiko详解
6.1 paramiko的安装
6.2 paramiko的核心组件
6.2.1 SSHClient类
6.2.2 SFTPClient类
6.3 paramiko应用示例
6.3.1 实现密钥方式登录远程主机
6.3.2 实现堡垒机模式下的远程命令执行
6.3.3 实现堡垒机模式下的远程文件上传
第7章 系统批量运维管理器Fabric详解
7.1 Fabric的安装
7.2 fab的常用参数
7.3 fabfile的编写
7.3.1 全局属性设定
7.3.2 常用API
7.3.3 示例1:查看本地与远程主机信息
7.3.4 示例2:动态获取远程目录列表
7.3.5 示例3:网关模式文件上传与执行
7.4 Fabric应用示例
7.4.1 示例1:文件打包、上传与校验
7.4.2 示例2:部署LNMP业务服务环境
7.4.3 示例3:生产环境代码包发布管理
第8章 从"零"开发一个轻量级WebServer
8.1 Yorserver介绍
8.1.1 功能特点
8.1.2 配置文件
8.2 功能实现方法
8.2.1 HTTP缓存功能
8.2.2 HTTP压缩功能
8.2.3 HTTP SSL功能
8.2.4 目录列表功能
8.2.5 动态CGI功能
第9章 集中化管理平台Ansible详解
9.1 YAML语言
9.1.1 块序列描述
9.1.2 块映射描述
9.2 Ansible的安装
9.2.1 业务环境说明
9.2.2 安装EPEL
9.2.3 安装Ansible
9.2.4 Ansible配置及测试
9.2.5 配置Linux主机SSH无密码访问
9.3 定义主机与组规则
9.3.1 定义主机与组
9.3.2 定义主机变量
9.3.3 定义组变量
9.3.4 分离主机与组特定数据
9.4 匹配目标
9.5 Ansible常用模块及API
9.6 playbook介绍
9.6.1 定义主机与用户
9.6.2 任务列表
9.6.3 执行playbook
9.7 playbook角色与包含声明
9.7.1 包含文件,鼓励复用
9.7.2 角色
9.8 获取远程主机系统信息:Facts
9.9 变量
9.9.1 Jinja2过滤器
9.9.2 本地Facts
9.9.3 注册变量
9.10 条件语句
9.11 循环
9.12 示例讲解
第10章 集中化管理平台Saltstack详解
10.1 Saltstack的安装
10.1.1 业务环境说明
10.1.2 安装EPEL
10.1.3 安装Saltstack
10.1.4 Saltstack防火墙配置
10.1.5 更新Saltstack配置及安装校验
10.2 利用Saltstack远程执行命令
10.3 Saltstack常用模块及API
10.4 grains组件
10.4.1 grains常用操作命令
10.4.2 定义grains数据
10.5 pillar组件
10.5.1 pillar的定义
10.5.2 pillar的使用
10.6 state介绍
10.6.1 state的定义
10.6.2 state的使用
10.7 示例:基于Saltstack实现的配置集中化管理
10.7.1 环境说明
10.7.2 主控端配置说明
10.7.3 配置pillar
10.7.4 配置state
10.7.5 校验结果
第11章 统一网络控制器Func详解
11.1 Func的安装
11.1.1 业务环境说明
11.1.2 安装Func
11.2 Func常用模块及API
11.2.1 选择目标主机
11.2.2 常用模块详解
11.3 自定义Func模块
11.4 非Python API接口支持
11.5 Func的Facts支持
第12章 Python大数据应用详解
12.1 环境说明
12.2 Hadoop部署
12.3 使用Python编写MapReduce
12.3.1 用原生Python编写MapReduce详解
12.3.2 用Mrjob框架编写MapReduce详解
12.4 实战分析
12.4.1 示例场景
12.4.2 网站访问流量统计
12.4.3 网站HTTP状态码统计
12.4.4 网站分钟级请求数统计
12.4.5 网站访问来源IP统计
12.4.6 网站文件访问统计
第三部分 案例篇
第13章 从零开始打造B/S自动化运维平台
13.1 平台功能介绍
13.2 系统构架设计
13.3 数据库结构设计
13.3.1 数据库分析
13.3.2 数据字典
13.3.3 数据库模型
13.4 系统环境部署
13.4.1 系统环境说明
13.4.2 系统平台搭建
……
前言
第一部分 基础篇
第1章 系统基础信息模块详解
1.1 系统性能信息模块psutil
1.1.1 获取系统性能信息
1.1.2 系统进程管理方法
1.2 实用的IP地址处理模块IPy
1.2.1 IP地址、网段的基本处理
1.2.2 多网络计算方法详解
1.3 DNS处理模块dnspython
1.3.1 模块域名解析方法详解
1.3.2 常见解析类型示例说明
1.3.3 实践:DNS域名轮循业务监控
第2章 业务服务监控详解
2.1 文件内容差异对比方法
2.1.1 示例1:两个字符串的差异对比
2.1.2 生成美观的对比HTML格式文档
2.1.3 示例2:对比Nginx配置文件差异
2.2 文件与目录差异对比方法
2.2.1 模块常用方法说明
2.2.2 实践:校验源与备份目录差异
2.3 发送电子邮件模块smtplib
2.3.1 smtplib模块的常用类与方法
2.3.2 定制个性化的邮件格式方法
2.3.3 定制常用邮件格式示例详解
2.4 探测Web服务质量方法
2.4.1 模块常用方法说明
2.4.2 实践:实现探测Web服务质量
第3章 定制业务质量报表详解
3.1 数据报表之Excel操作模块
3.1.1 模块常用方法说明
3.1.2 实践:定制自动化业务流量报表周报
3.2 Python与rrdtool的结合模块
3.2.1 rrdtool模块常用方法说明
3.2.2 实践:实现网卡流量图表绘制
3.3 生成动态路由轨迹图
3.3.1 模块常用方法说明
3.3.2 实践:实现TCP探测目标服务路由轨迹
第4章 Python与系统安全
4.1 构建集中式的病毒扫描机制
4.1.1 模块常用方法说明
4.1.2 实践:实现集中式的病毒扫描
4.2 实现高效的端口扫描器
4.2.1 模块常用方法说明
4.2.2 实践:实现高效的端口扫描
第二部分 高级篇
第5章 系统批量运维管理器pexpect详解
5.1 pexpect的安装
5.2 pexpect的核心组件
5.2.1 spawn类
5.2.2 run函数
5.2.3 pxssh类
5.3 pexpect应用示例
5.3.1 实现一个自动化FTP操作
5.3.2 远程文件自动打包并下载
第6章 系统批量运维管理器paramiko详解
6.1 paramiko的安装
6.2 paramiko的核心组件
6.2.1 SSHClient类
6.2.2 SFTPClient类
6.3 paramiko应用示例
6.3.1 实现密钥方式登录远程主机
6.3.2 实现堡垒机模式下的远程命令执行
6.3.3 实现堡垒机模式下的远程文件上传
第7章 系统批量运维管理器Fabric详解
7.1 Fabric的安装
7.2 fab的常用参数
7.3 fabfile的编写
7.3.1 全局属性设定
7.3.2 常用API
7.3.3 示例1:查看本地与远程主机信息
7.3.4 示例2:动态获取远程目录列表
7.3.5 示例3:网关模式文件上传与执行
7.4 Fabric应用示例
7.4.1 示例1:文件打包、上传与校验
7.4.2 示例2:部署LNMP业务服务环境
7.4.3 示例3:生产环境代码包发布管理
第8章 从"零"开发一个轻量级WebServer
8.1 Yorserver介绍
8.1.1 功能特点
8.1.2 配置文件
8.2 功能实现方法
8.2.1 HTTP缓存功能
8.2.2 HTTP压缩功能
8.2.3 HTTP SSL功能
8.2.4 目录列表功能
8.2.5 动态CGI功能
第9章 集中化管理平台Ansible详解
9.1 YAML语言
9.1.1 块序列描述
9.1.2 块映射描述
9.2 Ansible的安装
9.2.1 业务环境说明
9.2.2 安装EPEL
9.2.3 安装Ansible
9.2.4 Ansible配置及测试
9.2.5 配置Linux主机SSH无密码访问
9.3 定义主机与组规则
9.3.1 定义主机与组
9.3.2 定义主机变量
9.3.3 定义组变量
9.3.4 分离主机与组特定数据
9.4 匹配目标
9.5 Ansible常用模块及API
9.6 playbook介绍
9.6.1 定义主机与用户
9.6.2 任务列表
9.6.3 执行playbook
9.7 playbook角色与包含声明
9.7.1 包含文件,鼓励复用
9.7.2 角色
9.8 获取远程主机系统信息:Facts
9.9 变量
9.9.1 Jinja2过滤器
9.9.2 本地Facts
9.9.3 注册变量
9.10 条件语句
9.11 循环
9.12 示例讲解
第10章 集中化管理平台Saltstack详解
10.1 Saltstack的安装
10.1.1 业务环境说明
10.1.2 安装EPEL
10.1.3 安装Saltstack
10.1.4 Saltstack防火墙配置
10.1.5 更新Saltstack配置及安装校验
10.2 利用Saltstack远程执行命令
10.3 Saltstack常用模块及API
10.4 grains组件
10.4.1 grains常用操作命令
10.4.2 定义grains数据
10.5 pillar组件
10.5.1 pillar的定义
10.5.2 pillar的使用
10.6 state介绍
10.6.1 state的定义
10.6.2 state的使用
10.7 示例:基于Saltstack实现的配置集中化管理
10.7.1 环境说明
10.7.2 主控端配置说明
10.7.3 配置pillar
10.7.4 配置state
10.7.5 校验结果
第11章 统一网络控制器Func详解
11.1 Func的安装
11.1.1 业务环境说明
11.1.2 安装Func
11.2 Func常用模块及API
11.2.1 选择目标主机
11.2.2 常用模块详解
11.3 自定义Func模块
11.4 非Python API接口支持
11.5 Func的Facts支持
第12章 Python大数据应用详解
12.1 环境说明
12.2 Hadoop部署
12.3 使用Python编写MapReduce
12.3.1 用原生Python编写MapReduce详解
12.3.2 用Mrjob框架编写MapReduce详解
12.4 实战分析
12.4.1 示例场景
12.4.2 网站访问流量统计
12.4.3 网站HTTP状态码统计
12.4.4 网站分钟级请求数统计
12.4.5 网站访问来源IP统计
12.4.6 网站文件访问统计
第三部分 案例篇
第13章 从零开始打造B/S自动化运维平台
13.1 平台功能介绍
13.2 系统构架设计
13.3 数据库结构设计
13.3.1 数据库分析
13.3.2 数据字典
13.3.3 数据库模型
13.4 系统环境部署
13.4.1 系统环境说明
13.4.2 系统平台搭建
……
猜您喜欢