此部分為隱藏內(nèi)容,請輸入驗證碼后查看
掃描右側(cè)圖片或微信搜索 “ Java技術(shù)分享屋
” ,回復(fù) “ 驗證碼
” ,獲取驗證密碼。
本資料僅供讀者預(yù)覽及學(xué)習(xí)交流使用,不能用于商業(yè)用途,請在下載后24小時內(nèi)刪除。如果喜歡,請購買正版!
一.資料圖片
二.資料簡介
本書在中國運維領(lǐng)域?qū)⒂小皠潟r代”的重要意義:一方面,這是國內(nèi)第一本從縱、深和實踐角度探討Python在運維領(lǐng)域應(yīng)用的著作;一方面本書的作者是中國運維領(lǐng)域的“偶像級”人物,本書是他在天涯社區(qū)和騰訊近10年工作經(jīng)驗的結(jié)晶。因為作者實戰(zhàn)經(jīng)驗豐富,所以能高屋建瓴、直指痛處,圍繞Python自動化運維這個主題,不僅詳細介紹了系統(tǒng)基礎(chǔ)信息、服務(wù)監(jiān)控、數(shù)據(jù)報表、系統(tǒng)安全等基礎(chǔ)模塊,而且深入講解了自動化操作、系統(tǒng)管理、配置管理、集群管理及大數(shù)據(jù)應(yīng)用等高級功能。最重要的是,完整重現(xiàn)了4個來自實際生產(chǎn)環(huán)境的不同功能運維平臺的綜合案例,展示了完整的平臺架構(gòu)及開發(fā)流程。
全書一共16章:基礎(chǔ)篇(1-4章)詳細介紹了系統(tǒng)基礎(chǔ)信息、業(yè)務(wù)服務(wù)監(jiān)控、定制業(yè)務(wù)質(zhì)量報表、系統(tǒng)安全等基礎(chǔ)和常用模塊;高級篇(5-12章)深入講解了批量運維管理器pexpect、paramiko、Fabric,集中化管理平臺Ansible、Saltstack,統(tǒng)一網(wǎng)絡(luò)控制器Func等高級功能,涵蓋自動化操作、系統(tǒng)管理、配置管理、集群管理及大數(shù)據(jù)應(yīng)用等主題;案例篇(13-16章)詳細介紹了4個來自不同平臺的運維案例,如何從零開始打造一個B/S自動化運維平臺、如何打造Linux系統(tǒng)安全審計功能、如何構(gòu)建分布式質(zhì)量監(jiān)控平臺、如何構(gòu)建桌面版C/S自動化運維平臺,這4個案例均來自實際生產(chǎn)環(huán)境。
三.作者簡介
劉天斯
中國運維領(lǐng)域的偶像級人物,從事系統(tǒng)運維工作近10年?,F(xiàn)就職于騰訊,擔(dān)任高級系統(tǒng)工程師,負責(zé)騰訊CDN的運維工作;曾就職于天涯社區(qū),擔(dān)任架構(gòu)師兼高級系統(tǒng)工程師。熱衷開源技術(shù)的研究,包括系統(tǒng)架構(gòu)、運維開發(fā)、負載均衡、緩存技術(shù)、數(shù)據(jù)庫、分布式存儲及云計算等領(lǐng)域,擅長大規(guī)模集群的運維工作。崇尚“技術(shù)讓工作變得更簡單”的理念,開發(fā)并維護著“天涯LVS管理系統(tǒng)”、“天涯服務(wù)器管理系統(tǒng)”、“在線圖片處理平臺”、“Varnish緩存推送平臺”等7個開源項目。對Python如何在運維中發(fā)揮作用進行了深入研究,而且在騰訊內(nèi)部開展了大量實踐,基于Python開發(fā)了集群自動化操作工具yorauto,在騰訊各大事業(yè)群廣泛使用,同時入選公司精品推薦組件。
曾多次榮獲新浪技術(shù)、51CTO和ITPUB等社區(qū)評選的“博客專家”稱號。個人運維著博客“運維進行時”(http://blog.liuts.com/index.php),從2007年至今,筆耕不綴,堅持分享自己在運維領(lǐng)域的經(jīng)驗和智慧。擁有發(fā)明專利4項。
四.資料目錄
目 錄
本書贊譽
前 言
第一部分 基礎(chǔ)篇
第1章 系統(tǒng)基礎(chǔ)信息模塊詳解 2
1.1 系統(tǒng)性能信息模塊psutil 2
1.1.1 獲取系統(tǒng)性能信息 3
1.1.2 系統(tǒng)進程管理方法 6
1.2 實用的IP地址處理模塊IPy 7
1.2.1 IP地址、網(wǎng)段的基本處理 8
1.2.2 多網(wǎng)絡(luò)計算方法詳解 9
1.3 DNS處理模塊dnspython 11
1.3.1 模塊域名解析方法詳解 11
1.3.2 常見解析類型示例說明 12
1.3.3 實踐:DNS域名輪循業(yè)務(wù)監(jiān)控 14
第2章 業(yè)務(wù)服務(wù)監(jiān)控詳解 17
2.1 文件內(nèi)容差異對比方法 17
2.1.1 示例1:兩個字符串的差異對比 17
2.1.2 生成美觀的對比HTML格式文檔 19
2.1.3 示例2:對比Nginx配置文件差異 19
2.2 文件與目錄差異對比方法 21
2.2.1 模塊常用方法說明 21
2.2.2 實踐:校驗源與備份目錄差異 25
2.3 發(fā)送電子郵件模塊smtplib 27
2.3.1 smtplib模塊的常用類與方法 27
2.3.2 定制個性化的郵件格式方法 28
2.3.3 定制常用郵件格式示例詳解 29
2.4 探測Web服務(wù)質(zhì)量方法 34
2.4.1 模塊常用方法說明 35
2.4.2 實踐:實現(xiàn)探測Web服務(wù)質(zhì)量 36
第3章 定制業(yè)務(wù)質(zhì)量報表詳解 39
3.1 數(shù)據(jù)報表之Excel操作模塊 39
3.1.1 模塊常用方法說明 41
3.1.2 實踐:定制自動化業(yè)務(wù)流量報表周報 48
3.2 Python與rrdtool的結(jié)合模塊 50
3.2.1 rrdtool模塊常用方法說明 51
3.2.2 實踐:實現(xiàn)網(wǎng)卡流量圖表繪制 53
3.3 生成動態(tài)路由軌跡圖 56
3.3.1 模塊常用方法說明 56
3.3.2 實踐:實現(xiàn)TCP探測目標(biāo)服務(wù)路由軌跡 57
第4章 Python與系統(tǒng)安全 60
4.1 構(gòu)建集中式的病毒掃描機制 60
4.1.1 模塊常用方法說明 61
4.1.2 實踐:實現(xiàn)集中式的病毒掃描 61
4.2 實現(xiàn)高效的端口掃描器 64
4.2.1 模塊常用方法說明 64
4.2.2 實踐:實現(xiàn)高效的端口掃描 66
第二部分 高級篇
第5章 系統(tǒng)批量運維管理器pexpect詳解 70
5.1 pexpect的安裝 70
5.2 pexpect的核心組件 71
5.2.1 spawn類 71
5.2.2 run函數(shù) 74
5.2.3 pxssh類 75
5.3 pexpect應(yīng)用示例 76
5.3.1 實現(xiàn)一個自動化FTP操作 76
5.3.2 遠程文件自動打包并下載 77
第6章 系統(tǒng)批量運維管理器paramiko詳解 79
6.1 paramiko的安裝 79
6.2 paramiko的核心組件 81
6.2.1 SSHClient類 81
6.2.2 SFTPClient類 82
6.3 paramiko應(yīng)用示例 85
6.3.1 實現(xiàn)密鑰方式登錄遠程主機 85
6.3.2 實現(xiàn)堡壘機模式下的遠程命令執(zhí)行 85
6.3.3 實現(xiàn)堡壘機模式下的遠程文件上傳 88
第7章 系統(tǒng)批量運維管理器Fabric詳解 91
7.1 Fabric的安裝 91
7.2 fab的常用參數(shù) 92
7.3 fabfile的編寫 93
7.3.1 全局屬性設(shè)定 93
7.3.2 常用API 94
7.3.3 示例1:查看本地與遠程主機信息 95
7.3.4 示例2:動態(tài)獲取遠程目錄列表 96
7.3.5 示例3:網(wǎng)關(guān)模式文件上傳與執(zhí)行 97
7.4 Fabric應(yīng)用示例 98
7.4.1 示例1:文件打包、上傳與校驗 98
7.4.2 示例2:部署LNMP業(yè)務(wù)服務(wù)環(huán)境 99
7.4.3 示例3:生產(chǎn)環(huán)境代碼包發(fā)布管理 101
第8章 從“零”開發(fā)一個輕量級WebServer 104
8.1 Yorserver介紹 104
8.1.1 功能特點 104
8.1.2 配置文件 105
8.2 功能實現(xiàn)方法 106
8.2.1 HTTP緩存功能 107
8.2.2 HTTP壓縮功能 111
8.2.3 HTTP SSL功能 111
8.2.4 目錄列表功能 114
8.2.5 動態(tài)CGI功能 114
第9章 集中化管理平臺Ansible詳解 118
9.1 YAML語言 119
9.1.1 塊序列描述 120
9.1.2 塊映射描述 120
9.2 Ansible的安裝 121
9.2.1 業(yè)務(wù)環(huán)境說明 121
9.2.2 安裝EPEL 122
9.2.3 安裝Ansible 122
9.2.4 Ansible配置及測試 122
9.2.5 配置Linux主機SSH無密碼訪問 123
9.3 定義主機與組規(guī)則 124
9.3.1 定義主機與組 124
9.3.2 定義主機變量 125
9.3.3 定義組變量 125
9.3.4 分離主機與組特定數(shù)據(jù) 126
9.4 匹配目標(biāo) 127
9.5 Ansible常用模塊及API 127
9.6 playbook介紹 132
9.6.1 定義主機與用戶 132
9.6.2 任務(wù)列表 133
9.6.3 執(zhí)行playbook 134
9.7 playbook角色與包含聲明 135
9.7.1 包含文件,鼓勵復(fù)用 135
9.7.2 角色 136
9.8 獲取遠程主機系統(tǒng)信息:Facts 141
9.9 變量 142
9.9.1 Jinja2過濾器 143
9.9.2 本地Facts 143
9.9.3 注冊變量 144
9.10 條件語句 145
9.11 循環(huán) 146
9.12 示例講解 147
第10章 集中化管理平臺Saltstack詳解 155
10.1 Saltstack的安裝 156
10.1.1 業(yè)務(wù)環(huán)境說明 156
10.1.2 安裝EPEL 156
10.1.3 安裝Saltstack 156
10.1.4 Saltstack防火墻配置 157
10.1.5 更新Saltstack配置及安裝校驗 157
10.2 利用Saltstack遠程執(zhí)行命令 158
10.3 Saltstack常用模塊及API 161
10.4 grains組件 166
10.4.1 grains常用操作命令 167
10.4.2 定義grains數(shù)據(jù) 167
10.5 pillar組件 170
10.5.1 pillar的定義 171
10.5.2 pillar的使用 173
10.6 state介紹 174
10.6.1 state的定義 174
10.6.2 state的使用 175
10.7 示例:基于Saltstack實現(xiàn)的配置集中化管理 177
10.7.1 環(huán)境說明 177
10.7.2 主控端配置說明 177
10.7.3 配置pillar 179
10.7.4 配置state 180
10.7.5 校驗結(jié)果 183
第11章 統(tǒng)一網(wǎng)絡(luò)控制器Func詳解 185
11.1 Func的安裝 186
11.1.1 業(yè)務(wù)環(huán)境說明 186
11.1.2 安裝Func 186
11.2 Func常用模塊及API 189
11.2.1 選擇目標(biāo)主機 190
11.2.2 常用模塊詳解 190
11.3 自定義Func模塊 194
11.4 非Python API接口支持 198
11.5 Func的Facts支持 199
第12章 Python大數(shù)據(jù)應(yīng)用詳解 202
12.1 環(huán)境說明 202
12.2 Hadoop部署 203
12.3 使用Python編寫MapReduce 207
12.3.1 用原生Python編寫MapReduce詳解 208
12.3.2 用Mrjob框架編寫MapReduce詳解 212
12.4 實戰(zhàn)分析 216
12.4.1 示例場景 216
12.4.2 網(wǎng)站訪問流量統(tǒng)計 217
12.4.3 網(wǎng)站HTTP狀態(tài)碼統(tǒng)計 219
12.4.4 網(wǎng)站分鐘級請求數(shù)統(tǒng)計 220
12.4.5 網(wǎng)站訪問來源IP統(tǒng)計 221
12.4.6 網(wǎng)站文件訪問統(tǒng)計 222
第三部分 案例篇
第13章 從零開始打造B/S自動化運維平臺 226
13.1 平臺功能介紹 226
13.2 系統(tǒng)構(gòu)架設(shè)計 227
13.3 數(shù)據(jù)庫結(jié)構(gòu)設(shè)計 228
13.3.1 數(shù)據(jù)庫分析 228
13.3.2 數(shù)據(jù)字典 228
13.3.3 數(shù)據(jù)庫模型 229
13.4 系統(tǒng)環(huán)境部署 230
13.4.1 系統(tǒng)環(huán)境說明 230
13.4.2 系統(tǒng)平臺搭建 230
13.4.3 開發(fā)環(huán)境優(yōu)化 233
13.5 系統(tǒng)功能模塊設(shè)計 235
13.5.1 前端數(shù)據(jù)加載模塊 235
13.5.2 數(shù)據(jù)傳輸模塊設(shè)計 237
13.5.3 平臺功能模塊擴展 240
第14章 打造Linux系統(tǒng)安全審計功能 245
14.1 平臺功能介紹 245
14.2 系統(tǒng)構(gòu)架設(shè)計 246
14.3 數(shù)據(jù)庫結(jié)構(gòu)設(shè)計 247
14.3.1 數(shù)據(jù)庫分析 247
14.3.2 數(shù)據(jù)字典 247
14.4 系統(tǒng)環(huán)境部署 248
14.4.1 系統(tǒng)環(huán)境說明 248
14.4.2 上報主機配置 248
14.5 服務(wù)器端功能設(shè)計 252
14.5.1 Django配置 252
14.5.2 功能實現(xiàn)方法 253
第15章 構(gòu)建分布式質(zhì)量監(jiān)控平臺 256
15.1 平臺功能介紹 256
15.2 系統(tǒng)構(gòu)架設(shè)計 257
15.3 數(shù)據(jù)庫結(jié)構(gòu)設(shè)計 258
15.3.1 數(shù)據(jù)庫分析 258
15.3.2 數(shù)據(jù)字典 258
15.3.3 數(shù)據(jù)庫模型 259
15.4 系統(tǒng)環(huán)境部署 260
15.4.1 系統(tǒng)環(huán)境說明 260
15.4.2 數(shù)據(jù)采集角色 260
15.4.3 rrdtool作業(yè) 261
15.5 服務(wù)器端功能設(shè)計 263
15.5.1 Django配置 263
15.5.2 業(yè)務(wù)增加功能 264
15.5.3 業(yè)務(wù)報表功能 266
第16章 構(gòu)建桌面版C/S自動化運維平臺 269
16.1 平臺功能介紹 269
16.2 系統(tǒng)構(gòu)架設(shè)計 270
16.3 數(shù)據(jù)庫結(jié)構(gòu)設(shè)計 271
16.3.1 數(shù)據(jù)庫分析 271
16.3.2 數(shù)據(jù)字典 272
16.3.3 數(shù)據(jù)庫模型 272
16.4 系統(tǒng)環(huán)境部署 273
16.4.1 系統(tǒng)環(huán)境說明 273
16.4.2 系統(tǒng)環(huán)境搭建 273
16.5 系統(tǒng)功能模塊設(shè)計 274
16.5.1 用戶登錄模塊 274
16.5.2 系統(tǒng)配置功能 275
16.5.3 服務(wù)器分類模塊 277
16.5.4 系統(tǒng)升級功能 280
16.5.5 客戶端模塊編寫 284
16.5.6 執(zhí)行功能模塊 287
16.5.7 平臺程序發(fā)布 289