Python自動化運維:技術與最佳實踐 Python自动化运维:技术与最佳实践 (Linux/Unix技术丛书)

劉天斯 著

  • 出版商: 機械工業出版社
  • 出版日期: 2014-11-01
  • 定價: CNY $69.00
  • 售價: $414
  • 貴賓價: 9.5$393
  • 語言: 簡體中文
  • 頁數: 291
  • 裝訂: Kindle電子書
  • ISBN: 7111483065
  • ISBN-13: 9787111483069

立即出貨

買這商品的人也買了...

產品描述

 

<內容簡介>

隨著移動因特網的普及,擁有超大用戶規模的應用和服務越來越多,服務器運維所面臨的挑戰也隨之越來越大。當規模增長到一定程度時,手動管理的方式自然無法應對,於是自動化運維成為解決問題的銀彈。在自動化運維方面,已經有大量優秀的開源工具和最佳實踐,Python憑借其靈活性,在自動化運維方面具有先天優勢,已經被廣泛使用,而且基於Python編寫了很多自動化的運維工具,這些工具能大大提高運維的效率,服務器集群的規模越大,優勢越明顯。即便不使用工具,很多運維工作也能通過幾行簡單的Python語句來實現自動化操作,簡單、方便。
由劉天斯著的《Python自動化運維(技術與最佳實踐)》作者先後在國內著名的天涯社區和騰訊從事運維工作近10年,不僅是公司內部的技術核心人物之一,而且在中國整個運維技術圈子內都有很高的知名度,被視為偶像級運維專家。他對Python在運維領域的應用有非常深入的研究,而且在騰訊的生產環境中得到了應用和實踐,無論是知識還是經驗,都非常寶貴。

 

<章節目錄>

本書讚譽
前言
第一部分  基礎篇
第1章  系統基礎信息模塊詳解
  1.1  系統性能信息模塊
    1.1.1  獲取系統性能信息
    1.1.2  系統進程管理方法
  1.2  實用的IP地址處理模塊
    1.2.1  IP地址、網段的基本處理
    1.2.2  多網絡計算方法詳解
  1.3  DNS處理模塊dns
    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  發送電子郵件模塊sm
    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  常用
    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章  從「零」開發一個輕量級WebSe
  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  安裝
    9.2.3  安裝Ans
    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常用模塊及
  9.6  playbook介紹
    9.6.1  定義主機與用戶
    9.6.2  任務列表
    9.6.3  執行play
  9.7  playbook角色與包含聲明
    9.7.1  包含文件,鼓勵復用
    9.7.2  角色
  9.8  獲取遠程主機系統信息:F
  9.9  變量
    9.9.1  Jinja2過濾器
    9.9.2  本地F
    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常用模塊及
  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  配置p
    10.7.4  配置
    10.7.5  校驗結果
第11章  統一網絡控制器Func詳解
  11.1  Func的安裝
    11.1.1  業務環境說明
    11.1.2  安裝Func
  11.2  Func常用模塊及
    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  系統平臺搭建
    13.4.3  開發環境優化
  13.5  系統功能模塊設計
    13.5.1  前端數據加載模塊
    13.5.2  數據傳輸模塊設計
    13.5.3  平臺功能模塊擴展
第14章  打造Linux系統安全審計功能
  14.1  平臺功能介紹
  14.2  系統構架設計
  14.3  數據庫結構設計
    14.3.1  數據庫分析
    14.3.2  數據字典
  14.4  系統環境部署
    14.4.1  系統環境說明
    14.4.2  上報主機配置
  14.5  服務器端功能設計
    14.5.1  Django配置
    14.5.2  功能實現方法
第15章  構建分佈式質量監控平臺
  15.1  平臺功能介紹
  15.2  系統構架設計
  15.3  數據庫結構設計
    15.3.1  數據庫分析

    15.3.2  數據字典
    15.3.3  數據庫模型
  15.4  系統環境部署
    15.4.1  系統環境說明
    15.4.2  數據採集角色
    15.4.3  rrdtool作業
  15.5  服務器端功能設計
    15.5.1  Django配置
    15.5.2  業務增加功能
    15.5.3  業務報表功能
第16章  構建桌面版C/S自動化運維平臺
  16.1  平臺功能介紹
  16.2  系統構架設計
  16.3  數據庫結構設計
    16.3.1  數據庫分析
    16.3.2  數據字典
    16.3.3  數據庫模型
  16.4  系統環境部署
    16.4.1  系統環境說明
    16.4.2  系統環境搭建
  16.5  系統功能模塊設計
    16.5.1  用戶登錄模塊
    16.5.2  系統配置功能
    16.5.3  服務器分類模塊
    16.5.4  系統升級功能
    16.5.5  客戶端模塊編寫
    16.5.6  執行功能模塊
    16.5.7  平臺程序發布

<作者介紹>

劉天斯  中國運維領域的偶像級人物,從事系統運維工作近10年。現就職於騰訊,擔任高級系統工程師,負責騰訊CDN的運維工作:曾就職於天涯社區,擔任架構師蒹高級系統工程師。熱衷開源技術的研究,包括系統架構、運維開發、負載均衡、緩存技術、數據庫、分佈式存儲及雲計算等領域,擅長大規模集群的運維工作。崇尚「技術讓工作變得更簡單」的理念,開發並維護著「天涯LVS管理系統」、「天涯服務器管理系統」、「在線圖片處理平臺」、「Varnish緩存推送平臺」等7個開源項目。對Python如何在運維中發揮作用進行了深入研究,而且在騰訊內部開展了大量實踐,基於Python開發了集群自動化操作工具yorauto,在騰訊各大事業群廣泛使用,同時入選公司精品推薦組件。     曾多次榮獲新浪技術、51CTO和ITPUB等社區評選的「博客專家」稱號。個人運維著博客」運維進行時」(http://blog.1iuts.corn/index.php),從2007年至今,筆耕不輟,堅持分享自己在運維領域的經驗和智慧。擁有發明專利4項。