-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

Python自動化運維快速入門(第2版)

( 簡體 字)
作者:鄭征類別:1. -> 程式設計 -> Python
譯者:
出版社:清華大學出版社Python自動化運維快速入門(第2版) 3dWoo書號: 54428
詢問書籍請說出此書號!

缺書
NT售價: 445

出版日:6/1/2021
頁數:305
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787302578628
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

隨著IT技術的進步及業務需求的快速增長,服務器也由幾十臺上升到成百上千臺,IT運維自動化是一個必然的趨勢。Python是當今最流行的編程語言之一,由于Python語言本身的優勢,因此在編寫自動化程序時簡單、高效,實用效果立竿見影。目前開源軟件社區優秀的自動化運維軟件,如Ansible、Airflow、Celery、Paramiko等框架都使用Python語言開發,甚至一些大型商用的自動化部署系統都有Python的應用。因此,學好Python,不僅可以自己編寫自動化運維程序,而且可以對開源的自動化運維工具進行二次開發,這樣才能在就業嚴峻的市場環境中具備較強的職場競爭力。
目前市場上介紹Python自動化運維的圖書并不多,真正從實際應用出發,通過各種典型應用場景和項目案例來指導讀者提高運維開發水平的圖書就更少。本書以實戰為主旨,通過Python運維開發中常見的典型應用(近百個場景),讓讀者全面、深入、透徹地學習Python在自動化運維領域的各種熱門技術及主流開源工具的使用,提高實際開發水平和項目實戰能力。
本書特色
1. 從基礎講起,適合零基礎學習Python運維的讀者
為了便于讀者理解本書內容,全書從基礎知識開始講解,并結合實際應用,激發讀者學習興趣,提高學習效率。
2. 涵蓋自動化運維的主流開源工具
本書涵蓋Ansible、APScheduler、Paramiko、Celery、Airflow、Docker等主流運維工具的架構、原理及詳細使用方法。
3. 項目案例典型,實戰性強,有較高的應用價值
本書每一篇都提供大量的實戰案例,這些案例來源于作者開發的實際項目,具有很高的應用價值和參考性,而且分別使用不同的框架組合實現。這些案例經稍加修改,便可用于實際項目開發中。
本書內容
第1章 自動化運維與Python
本章介紹自動化運維的背景知識、相關的開源工具以及如何構造成熟的自動化運維體系。
第2章 基礎運維技能
本章介紹如何使用Python處理文件、監控系統信息、監控文件系統、調用外部命令、日志記錄、搭建FTP服務器、發送郵件報警等實用基礎運維技術。
第3~5章 實戰多進程、實戰多線程、實戰協程
第3~5章對多進程和多線程中的創建方法、鎖、信號量、事件、隊列、進程池、線程池、協程的定義和使用、適用場景等進行詳細介紹,并配有示例用于練習和實際使用。
第7~10章 開源工具的使用方法
第7~10章主要介紹開源工具的使用方法,包括自動化運維工具(Ansible)、定時任務模塊(APScheduler)、執行遠程命令的工具(Paramiko)、分布式任務隊列(Celery)及任務調度神器(Airflow)。
第11章 Docker容器技術
本章介紹高級運維工具Docker,包括Docker的框架、原理、所能解決的問題、安裝部署、使用方法等,同時也對Docker中的卷、卷的共享、如何自制鏡像、Docker網絡配置等做詳細介紹。
第12章 主流自動化配置工具
本章介紹主流的自動化配置工具,包括配置引擎CFEngine、自動化運維工具Chef、配置管理工具Puppet、基礎設施管理工具SaltStack,分別介紹它們的功能特點、安裝過程及簡要的使用方法。
第13章 開源配置管理平臺搭建
本章主要介紹開源的配置管理平臺的系統功能、技術實現、開發環境及生產環境的安裝部署過程。開源的配置管理平臺一個是open-cmdb,一個是bk-cmdb,安裝部署主流的開源項目,可以學習優秀開源軟件的系統設計,同時也可以節省企業的成本。
第14章 統一監控平臺Zabbix
本章主要介紹統一監控平臺Zabbix的系統功能及生產環境的安裝部署過程。在企業網絡環境中部署Zabbix,可以保證服務器系統的安全運營,并提供靈活的通知機制以便讓系統管理員快速定位和解決系統存在的各種問題。
第15章 運維開發相關技術
本章介紹前端開發框架Vue.js、后端接口開發框架FastAPI及WebSocket開發,包括一些優秀的開源項目,掌握這些技術,可以自行開發復雜的管理平臺,成為一名合格的運維開發人員。
第16章 DevOps方法論
本章探討DevOps方法論,介紹什么是DevOps,DevOps實施成功的關鍵因素,DevOps常用的工具,DevOps能為企業帶來哪些收益等。
升級版說明
從第1版編寫至今,一些工具的版本已經更新,Python穩定版本也由3.6更新至3.8;第1版內容上缺少主流自動化配置工具以及配置管理平臺的介紹,也缺少運維開發技術的介紹,據此作者對第1版進行修訂。本版基于Python 3.8.5重新梳理安裝過程和部分源碼,增加主流自動化配置工具及管理平臺、運維開發相關技術以及DevOps方法論,不足之處還請讀者批評指正。
示例代碼下載與技術支持
本書示例代碼,請用微信掃描右側二維碼下載(可按頁面提示,把下載鏈接轉到自己的郵箱中下載)。如果有疑問題,請聯系booksaga@163.com,郵件主題為“Python自動化運維快速入門(第2版)”。
本書讀者
? 需要做運維自動化開發的技術人員
? 從零開始學Python的運維人員
? 運維工程師、運維經理和網絡管理員
? DevOps實施人員
本書作者
鄭征,計算機專業畢業,碩士,師從李云飛教授,曾發表論文兩篇,獲兩項實用新型專利。工作多年來一直致力于運維開發及數據分析,從事銀行數據庫、操作系統、大型軟件系統相關的運維及開發工作,擅長Python、Shell、SQL。對自動化運維、監控、調度工具、數據庫技術有過細致的研究,是Python語言的狂熱愛好者。長期專注于Python運維程序開發,致力于解決運維工作過程中的實際問題,提高運維工作的效率,減輕運維工作的負擔。

著 者
2021年1月
內容簡介:

本書從零開始講解Python自動化運維工具和及其使用,通過上百個實際運維場景案例,幫助讀者理解并掌握自動化運維技術。
本書分為16章,內容包括Python自動化運維概述、Python基礎運維技能、實戰多進程、實戰多線程、實戰協程、自動化運維工具(Ansible)、定時任務模塊(APScheduler)、執行遠程命令的工具(Paramiko)、任務調度神器(Airflow)、分布式任務隊列(Celery)、Docker容器技術、主流的自動化配置工具、開源配置管理平臺搭建、統一監控平臺Zabbix、運維開發技術、DevOps方法論等。
本書內容詳盡、示例豐富,適合廣大從事Python運維開發的初學者學習和參考,同時也可作為高等院校和培訓機構計算機及其相關專業的教材使用。
目錄:

第1章自動化運維與Python 1
1.1自動化運維概述 1
1.1.1自動化運維勢在必行 1
1.1.2什么是成熟的自動化運維平臺 2
1.1.3為什么選擇Python進行運維 2
1.2初識Python 6
1.3Python環境搭建 6
1.3.1Windows系統下的Python安裝 6
1.3.2Linux系統下的Python安裝 9
1.4開發工具介紹 13
1.4.1PyCharm 13
1.4.2vim 17
1.5Python基礎語法 20
1.5.1數字運算 20
1.5.2字符串 22
1.5.3列表與元組 27
1.5.4字典 29
1.5.5集合 31
1.5.6函數 33
1.5.7條件控制與循環語句 34
1.5.8可迭代對象、迭代器和生成器 38
1.5.9對象賦值、淺復制、深復制 42
1.6多個例子實戰Python編程 46
1.6.1實戰1:九九乘法表 46
1.6.2實戰2:發放獎金的梯度 47
1.6.3實戰3:遞歸獲取目錄下文件的修改時間 48
1.6.4實戰4:兩行代碼查找替換3或5的倍數 49
1.6.5實戰5:一行代碼的實現 50
1.7pip工具的使用 50
第2章基礎運維技能 53
2.1文本處理 53
2.1.1Python編碼解碼 53
2.1.2文件操作 57
2.1.3讀寫配置文件 64
2.1.4解析XML文件 66
2.2系統信息監控 73
2.3文件系統監控 78
2.4執行外部命令subprocess 80
2.4.1subprocess.run()方法 80
2.4.2Popen類 82
2.4.3其他方法 83
2.5日志記錄 83
2.5.1日志模塊簡介 84
2.5.2logging模塊的配置與使用 85
2.6搭建FTP服務器與客戶端 91
2.6.1搭建FTP服務器 91
2.6.2編寫FTP客戶端程序 95
2.7郵件提醒 96
2.7.1發送郵件 96
2.7.2接收郵件 101
2.7.3將報警信息實時發送至郵箱 103
2.8微信提醒 108
2.8.1處理微信消息 108
2.8.2將警告信息發送至微信 112
第3章實戰多進程 115
3.1創建進程的類Process 115
3.2進程并發控制之Semaphore 119
3.3進程同步之Lock 120
3.4進程同步之Event 122
3.5進程優先級隊列Queue 124
3.6多進程之進程池Pool 125
3.7多進程之數據交換Pipe 126
第4章實戰多線程 129
4.1Python多線程簡介 129
4.2多線程編程之threading模塊 133
4.3多線程同步之Lock(互斥鎖) 136
4.4多線程同步之Semaphore(信號量) 138
4.5多線程同步之Condition 139
4.6多線程同步之Event 140
4.7線程優先級隊列(queue) 142
4.8多線程之線程池pool 143
第5章實戰協程 145
5.1定義協程 145
5.2并發 147
5.3異步請求 148
第6章自動化運維工具Ansible 153
6.1Ansible的安裝 153
6.2Ansible配置 154
6.3inventory文件 155
6.4Ansiblead-hoc模式 157
6.5Ansibleplaybooks模式 165
第7章定時任務模塊APScheduler 169
7.1安裝及基本概念 169
7.1.1APScheduler的安裝 169
7.1.2APScheduler涉及的幾個概念 169
7.1.3APScheduler的工作流程 170
7.2配置調度器 172
7.3啟動調度器 175
7.4調度器事件監聽 179
第8章執行遠程命令的工具Paramiko 182
8.1介紹幾個重要的類 182
8.1.1通道類 182
8.1.2傳輸類 183
8.1.3SSHClient類 184
8.2Paramiko的使用 185
8.2.1安裝Paramiko 185
8.2.2基于用戶名和密碼的SSHClient方式登錄 185
8.2.3基于用戶名和密碼的Transport方式登錄并實現上傳與下載 186
8.2.4基于公鑰密鑰的SSHClient方式登錄 187
8.2.5基于公鑰密鑰的Transport方式登錄 188
第9章分布式任務隊列Celery 189
9.1Celery簡介 189
9.2安裝Celery 191
9.3安裝RabbitMQ或Redis 192
9.3.1安裝RabbitMQ 192
9.3.2安裝Redis 193
9.4第一個Celey程序 194
9.5第一個工程項目 197
9.6Celery架構 201
9.7Celery隊列 202
9.8CeleryBeat任務調度 205
9.9Celery遠程調用 206
9.10監控與管理 209
9.10.1Celery命令行實用工具 209
9.10.2Web實時監控工具Flower 212
9.10.3Flower的使用方法 213
第10章任務調度神器Airflow 217
10.1Airflow簡介 217
10.1.1DAG 218
10.1.2操作符——Operators 218
10.1.3時區——timezone 219
10.1.4Web服務器——webserver 219
10.1.5調度器——schduler 220
10.1.6工作節點——worker 220
10.1.7執行器——Executor 220
10.2Airflow安裝與部署 220
10.2.1在線安裝 221
10.2.2離線安裝 223
10.2.3部署與配置(以SQLite為知識庫) 223
10.2.4指定依賴關系 228
10.2.5啟動scheduler 228
10.3Airflow配置MySQL知識庫和LocalExecutor 229
10.4Airflow配置Redis和CeleryExecutor 236
10.5Airflow任務開發Operators 238
10.5.1Operators簡介 239
10.5.2BaseOperator簡介 239
10.5.3BashOperator的使用 240
10.5.4PythonOperator的使用 241
10.5.5SSHOperator的使用 242
10.5.6HiveOperator的使用 243
10.5.7如何自定義Operator 244
10.6Airflow集群、高可用部署 244
10.6.1Airflow的四大守護進程 245
10.6.2Airflow的守護進程是如何一起工作的 245
10.6.3Airflow單節點部署 246
10.6.4Airflow多節點(集群)部署 246
10.6.5擴展worker節點 247
10.6.6擴展Master節點 247
10.6.7Airflow集群部署的具體步驟 249
第11章Docker容器技術介紹 251
11.1Docker概述 251
11.2Docker解決什么問題 252
11.3Docker的安裝部署與使用 253
11.3.1安裝Docker引擎 253
11.3.2使用Docker 254
11.3.3Docker命令的使用方法 255
11.4卷的概念 258
11.5數據卷共享 259
11.6自制鏡像并發布 260
11.7Docker網絡 260
11.7.1Docker的網絡模式 261
11.7.2Docker網絡端口映射 262
11.8Docker小結 262
第12章主流自動化配置工具 263
12.1配置引擎CFEngine 263
12.1.1使用CFEngine的四個理由 263
12.1.2CFEngine的安裝 265
12.1.3CFEngine的配置 268
12.1.4CFEngine政策示例 272
12.2自動化運維工具Chef 275
12.2.1Chef簡介 275
12.2.2Chef的安裝 275
12.2.3Chef的使用 279
12.3Puppet 280
12.3.1Puppet簡介 280
12.3.2Puppet安裝和配置 281
12.3.3Puppet配置語言 282
12.3.4編寫第一個配置文件 284
12.4SaltStack 286
12.4.1SaltStack的簡介 286
12.4.2SaltStack的安裝與配置 287
12.4.3SaltStack的使用 293
第13章開源配置管理平臺搭建 299
13.1open-cmdb 299
13.1.1open-cmdb功能介紹 300
13.1.2open-cmdb開發環境部署 301
13.1.3open-cmdb生產環境部署 305
13.2藍鯨配置平臺 313
13.2.1藍鯨配置平臺系統架構 313
13.2.2藍鯨配置平臺環境快速部署 314
第14章統一監控平臺Zabbix 319
14.1Zabbix主要功能 319
14.2Zabbix平臺的技術術語 320
14.3Zabbix的主要模塊 321
14.4Zabbix的安裝要求 322
14.5Zabbix的安裝:從安裝包進行安裝 322
14.6Zabbix的安裝:從容器進行安裝 325
第15章運維開發相關技術 328
15.1前端開發之Vue.js 328
15.1.1新手學習Vue.js的先后順序 328
15.1.2使用Vue.js實現一個demo 329
15.1.3使用vue-cli創建工程并部署 336
15.1.4流行的Vue.jsUI庫 342
15.1.5幾個開源的Vue.js管理項目 342
15.2后端接口開發之FastAPI 343
15.2.1FastAPI的安裝 343
15.2.2編寫一個demo 344
15.2.3安全與中間件 345
15.2.4SQL與數據庫 348
15.2.5測試與調試 353
15.3WebSocket開發 358
15.3.1WebSocketclient的實現 358
15.3.2WebSocketServer的實現 359
15.3.3實現一個安全的WebSocket 360
15.3.4基于WebSocket實現一個webshell 361
15.3.5與主流框架集成的WebSocket 364
第16章DevOps方法論 365
16.1什么是DevOps 365
16.2DevOps成功的關鍵 366
16.3DevOps最常用的10個工具 367
16.4DevOps能為企業帶來哪些收益 368
序: