Python自动化运维:技术与最佳实践

Python自动化运维:技术与最佳实践
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
2014-11
版次: 1
ISBN: 9787111483069
定价: 69.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 312页
正文语种: 简体中文
369人买过
  •   本书在中国运维领域将有“划时代”的重要意义:一方面,这是国内一本从纵、深和实践角度探讨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 系统平台搭建
    ……
  • 内容简介:
      本书在中国运维领域将有“划时代”的重要意义:一方面,这是国内一本从纵、深和实践角度探讨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 系统平台搭建
    ……
查看详情
12
系列丛书 / 更多
Python自动化运维:技术与最佳实践
深入理解Nginx(第2版):模块开发与架构解析
陶辉 著
Python自动化运维:技术与最佳实践
Python Linux系统管理与自动化运维
赖明星 著
Python自动化运维:技术与最佳实践
Linux系统命令及Shell脚本实践指南
王军 著
Python自动化运维:技术与最佳实践
高性能Linux服务器构建实战:系统安全、故障排查、自动化运维与集群架构
高俊峰 著
Python自动化运维:技术与最佳实践
Linux运维最佳实践
胥峰、杨俊俊 著
Python自动化运维:技术与最佳实践
跟老男孩学Linux运维:Web集群实战
老男孩 著
Python自动化运维:技术与最佳实践
深度实践KVM:核心技术、管理运维、性能优化与项目实施
肖力、汪爱伟、杨俊俊、赵德禄 著
Python自动化运维:技术与最佳实践
构建高可用Linux服务器(第3版)
余洪春 著
Python自动化运维:技术与最佳实践
Puppet权威指南
王冬生 著
Python自动化运维:技术与最佳实践
Linux系统安全
[印]达金德尔·卡尔西 著;刘海燕 译
Python自动化运维:技术与最佳实践
大规模Linux集群架构最佳实践:如何管理上千台服务器
魔软运维社 著
Python自动化运维:技术与最佳实践
Linux/Unix技术丛书:Linux性能优化
贺莲、龚奕利 译
相关图书 / 更多
Python自动化运维:技术与最佳实践
Python和PySpark数据分析
(加)乔纳森·里乌
Python自动化运维:技术与最佳实践
Python机器学习入门与实践 从深度学习到生成对抗网络GAN 深入浅出GAN生成对抗网络 实战gan TensorFlow与Keras 人工智能技术书籍
(日)大关真之
Python自动化运维:技术与最佳实践
Python语言程序设计
王刚
Python自动化运维:技术与最佳实践
Python代码编程 学科项目式编程(六年级)
冯建刚
Python自动化运维:技术与最佳实践
Python机器学习 : 核心技术与开发实战 周志华西瓜书机器学习实战伴侣书
[美]普拉提克·乔希 著;李现伟 译者;颉腾文化 出品;阿尔伯托·阿尔塔桑切斯(美);曾小健
Python自动化运维:技术与最佳实践
Python语言程序设计(微课版)
宁爱军 何志永
Python自动化运维:技术与最佳实践
Python数据分析从入门到精通(第2版)
明日科技
Python自动化运维:技术与最佳实践
Python数据分析与挖掘
齐福利
Python自动化运维:技术与最佳实践
Python基础与应用(互联网+教育新形态一体化系列教材)
李喆时、谢家立、赵丽 编
Python自动化运维:技术与最佳实践
Python数据分析与可视化项目实战
王振丽
Python自动化运维:技术与最佳实践
Python爬虫从菜鸟到高手
李宁
Python自动化运维:技术与最佳实践
Python程序设计基础教程
\"孙海龙 王济军\