Python自動化運維 技術與最佳實踐pdf

永利注册送34元
永利注册送34元
永利注册送34元
11087
文章
1704
評論
2020年10月12日21:21:54 評論 59

Python自動化運維 技術與最佳實踐 作者:劉天斯

Python自動化運維 技術與最佳實踐 出版社:機械工業出版社

Python自動化運維 技術與最佳實踐 內容簡介

本書在中國運維領域將有“劃時代”的重要意義:一方麵,這是國內一本從縱、深和實踐角度探討Python在運維領域應用的著作;一方麵本書的作者是中國運維領域的“偶像級”人物,本書是他在天涯社區和騰訊近10年工作經驗的結晶。因為作者實戰經驗豐富,所以能高屋建瓴、直指痛處,圍繞Python自動化運維這個主題,不僅詳細介紹了係統基礎信息、服務監控、數據報表、係統安全等基礎模塊,而且深入講解了自動化操作、係統管理、配置管理、集群管理及大數據應用等高級功能。重要的是,完整重現了4個來自實際生產環境的不同功能運維平台的綜合案例,展示了完整的平台架構及開發流程。

全書一共16章:基礎篇(1-4章)詳細介紹了係統基礎信息、業務服務監控、定製業務質量報表、係統安全等基礎和常用模塊;高級篇(5-12章)深入講解了批量運維管理器pexpect、paramiko、Fabric,集中化管理平台Ansible、Saltstack,統一網絡控製器Func等高級功能,涵蓋自動化操作、係統管理、配置管理、集群管理及大數據應用等主題;案例篇(13-16章)詳細介紹了4個來自不同平台的運維案例,如何從零開始打造一個B/S自動化運維平台、如何打造Linux係統安全審計功能、如何構建分布式質量監控平台、如何構建桌麵版C/S自動化運維平台,這4個案例均來自實際生產環境。

Python自動化運維 技術與最佳實踐 目錄

前言

第一部分 基礎篇

第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 係統平台搭建

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 平台程序發布

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是一個跨平台庫,能夠輕鬆實現獲取係統運行的進程和係統利用率(包括CPU、內存、磁盤、網絡等)信息。它主要應用於係統監控,分析和限製係統資源及進程的管理。它實現了同等命令行工具提供的功能,如ps、top、lsof、netstat、ifconfig、who、df、kill、free、nice、ionice、iosestat、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 --no-check-certificate

# tar -xzvf psutil-2.0.0.tar.gz

# cd psutil-2.0.0

# python setup.py install

永利注册送34元:Python自動化運維 技術與最佳實踐pdf

繼續閱讀
資源地址:用心發表評論,回複即可查看(字數限製至少10字以上)。
  • 我的微信
  • 掃一掃加好友
  • weinxin
  • 微信公眾號
  • 掃一掃關注
  • weinxin
現代API 通往架構師之門epub 程序設計

現代API 通往架構師之門epub

現代API 通往架構師之門 作者:李泉 現代API 通往架構師之門 出版社:清華大學出版社 現代API 通往架構師之門 內容簡介 本書首先回顧係統集成及服務的曆史,對其核心概念和核心思想進行重新闡述;...
Docker基礎與實戰pdf 程序設計

Docker基礎與實戰pdf

快速掌握Docker容器,打造麵向開發者與運營者的部署係統,輕鬆應對技術衝擊。 應用部署係統,實現“一次構建,處處運行”。 構建無虛擬機負荷的輕量級虛擬環境,不受約束實現快速處理。
程序員之禪pdf 程序設計

程序員之禪pdf

程序員之禪 作者: Christian Grobmeier 程序員之禪 出版社:人民郵電出版社 程序員之禪 內容簡介 禪是一種生活態度和生活方式。程序員是一份特別辛苦的職業,也是一個承受各種壓力的群體...
匿名

發表評論

匿名網友 填寫信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: