本書在中國運維領域將有"劃時代"的重要意義:一方面,這是國內及時本從縱、深和實踐角度探討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年運維實踐的經驗和智慧結晶不僅詳盡介紹了服務監控、數據報表、系統安全等基礎模塊,而且深入講解了自動化操作、系統管理、配置管理、集群管理及大數據應用等高級功能,包含4個完整的綜合案例
劉天斯
中國運維領域的偶像級人物,從事系統運維工作近10年。現就職于騰訊,擔任高級系統工程師,負責騰訊CDN的運維工作;曾就職于天涯社區,擔任架構師兼高級系統工程師。熱衷開源技術的研究,包括系統架構、運維開發、負載均衡、緩存技術、數據庫、分布式存儲及云計算等領域,擅長大規模集群的運維工作。崇尚"技術讓工作變得更簡單"的理念,開發并維護著"天涯LVS管理系統"、"天涯服務器管理系統"、"在線圖片處理平臺"、"Varnish緩存推送平臺"等7個開源項目。對Python如何在運維中發揮作用進行了深入研究,而且在騰訊內部開展了大量實踐,基于Python開發了集群自動化操作工具yorauto,在騰訊各大事業群廣泛使用,同時入選公司精品推薦組件。
曾多次榮獲新浪技術、51CTO和ITPUB等社區評選的"博客專家"稱號。個人運維著博客"運維進行時,從2007年至今,筆耕不綴,堅持分享自己在運維領域的經驗和智慧。擁有發明專利4項。
本書贊譽 前言 及時部分 基礎篇 第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 平臺程序
及時部分
基礎篇
■第1章系統基礎信息模塊詳解
■第2章業務服務監控詳解
■第3章定制業務質量報表詳解
■第4章Python與系統安全
第1章
系統基礎信息模塊詳解
系統基礎信息采集模塊作為監控模塊的重要組成部分,能夠幫助運維人員了解當前系統的健康程度,同時也是衡量業務的服務質量的依據,比如系統資源吃緊,會直接影響業務的服務質量及用戶體驗,另外獲取設備的流量信息,也可以讓運維人員更好地評估帶寬、設備資源是否應該擴容。本章通過運用Python第三方系統基礎模塊,可以輕松獲取服務關鍵運營指標數據,包括Linux基本性能、塊設備、網卡接口、系統信息、網絡地址庫等信息。在采集到這些數據后,我們就可以多方位了解系統服務的狀態,再結合告警機制,可以在及時時間響應,將異常出現在苗頭時就得以處理。
本章通過具體的示例來幫助讀者學習、理解并掌握。在本章接下來的內容當中,我們的示例將在一個連續的Python交互環境中進行。
進入Python終端,執行python命令進入交互式的Python環境,像這樣:
# python
Python 2.6.6 (r266:84292, Nov 22 2013, 12:16:22)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2
Type ""help"", ""copyright"", ""credits"" or ""license"" for more information.
>>>
1.1系統性能信息模塊psutil
psutil是一個跨平臺庫(code.google.com/p/psutil/),能夠輕松實現獲取系統運行的進程和系統利用率(包括CPU、內存、磁盤、網絡等)信息。它主要應用于系統監控,分析和限制系統資源及進程的管理。它實現了同等命令行工具提供的功能,如ps、top、lsof、netstat、ifconfig、who、df、kill、free、nice、ionice、iostat、iotop、uptime、pidof、tty、taskset、pmap等。目前支持32位和64位的Linux、Windows、OS X、FreeBSD和Sun Solaris等操作系統,支持從2.4到3.4的Python版本,目前近期版本為2.0.0。通常我們獲取操作系統信息往往采用編寫shell來實現,如獲取當前物理內存總大小及已使用大小,shell命令如下:
物理內存total值: free -m | grepMem | awk '{print $2}'
物理內存used值: free -m | grepMem | awk '{print $3}'
相比較而言,使用psutil庫實現則更加簡單明了。psutil大小單位一般都采用字節,如下:
>>> import psutil
>>>mem = psutil.virtual_memory()
>>>mem.total,mem.used
(506277888L, 500367360L)
psutil的源碼安裝步驟如下:
#wget https://pypi.python.org/packages/source/p/psutil/psutil-2.0.0.tar.gz --no-check-certificate
# tar -xzvf psutil-2.0.0.tar.gz
# cd psutil-2.0.0
# python setup.py install
非常好的書,做活動時買的,很實用!
書買了,還沒時間看,暫時不評論
為公司同事采購的,包裝很好,快
包裝完好,物流很快!
不錯不錯不錯不錯不錯不錯不錯不錯不錯不錯
總的來,拿到手上,有點失望的感覺!沒亮點,內容不深不淺,可能也跟自身知識面或深度有關。但,作為一名讀者,我期待第二版,第三版可以做得更好些。
感覺前幾章一般,中間部分基本上官方都有介紹。期待有更好的作品...
我覺得還是比較簡單 感覺國人寫的書還是沒有老外寫的好,我覺得這本書內容比較少,但是一點都不便宜。
很不錯,很多有與書配套的項目代碼,還沒仔細看
這本書是最外層的,包裹有一個角破損了,導致這本書的一個角皺褶了,我表示不爽
很好的一本工具書,蠻好的。但需要一定的基礎看,不然作用不大,真的。蠻好
凌晨下的單,現在就拿到了,一個字“真快”,書摸著很有感覺,聞著還不錯。。。
很喜歡,快遞現在改成順豐,送貨速度也很快,非常滿意!!!
此為專業書籍,對于我們初學者還是很有幫助的
書還不錯,可以學到很多知識,就是有些錯誤,希望能盡快改正
第一次系當當購物,書包裝很好,物流比預計提前了一天到,愉快的一次購物
這本書寫的不錯,是一位從事運維工作多年的員工寫的,值得一看哦~
包裝袋已磨破多個角邊,書本也遭殃,幾乎淪落成破書,要是遇上下雨天,這書肯定泡湯。新書變成這樣實在惋惜,第一次給網購物品評0分。希望能改善。書本內容還沒看,評分無效。
這是一本挺不錯的書,需要有一定的python的基礎和運維基礎。
外包裝粗糙,一個輕塑料袋都破了,書變形了有折痕,我就懷疑了,當當窮的不會改善一下包裝嗎,快遞都亂扔亂放,能不壞嗎
這本書其實更多的是貼近生產環境,走進自動化,對于Python,ansible,saltstack,pexpect、paramiko、Fabric進行了分析及應用場景介紹,最后使用實例來進行闡述并帶你實現自動化運維,思路很明確。總體來說這本書還是有可欣賞的價值(并非購書價格),但是若想深入研究這些自動化工具這本書不太適合,請轉向官方文檔。
python很重要的一個使用方面,值得運維工程師好好研讀
不錯,很好的一本入門python的自動化運維書籍
python自動化運維,個人覺得不僅僅是運維人員應該看,開發人員,尤其是linux開發人員更應該學習學習,能極大的提高工作效率
python 自動化運維這本書一直是想買的書,雙十一震的很合算,需要的可以考慮,性價比真不錯啊。紙質也不錯。送來的時候包裝嚴實,值得信任。
關于python自動化運維就只有這本書,可以買來看看
以前就了解過天斯,他的書果然不一般,剛才翻看了一遍,很多實戰的應用,前面是介紹各個工具、各種類與函數的使用,后面以一個web控制端整合到前面所講的知識,讓我們去了解與實踐自動化運維提供了很有用的幫助,值得一看。