python自動化運維開發實戰課程方案
課程簡介:
隨著資訊時代的持續發展,it運維已經成為it服務內涵中重要的組成部分。面對越來越複雜的業務以及日趨多樣化的使用者需求,不斷擴充套件的it應用需要合理的it運維保障it服務靈活便捷、安全穩定。從初 期個位數伺服器發展到龐大的資料中心,僅依靠人工已經無法滿足在技術、業務、管理等方面的要求,標準化、自動化、架構優化、過程優化等降低it服務成本的因素被人們愈加重視。今天,運維自動化 作為it運維重要屬性之一已經不僅僅只是代替人工操作,更重要的是深層探知和全域性分析,關注的是在當前條件下如何實現效能與服務最優化,同時保障投資收益最大化。
自動化對it運維的影響,已經不僅僅是人與裝置之間的關係,已經發展到了面向客戶服務驅動it運維決策的層面。因此,it運維自動化是一組將靜態的裝置結構轉化為根據it服務需求動態彈性響應的策略,目的就是提公升it運維的質量, 降低成本。可以說自動化一定是it運維最高層面的重要屬性之一。
縱觀傳統運維存在的問題:(1)運維人員被動、效率低; (2)缺乏一套高效的it運維機制;(3)缺乏高效的it運維技術工具。 it運維自動化是it技術發展的必然結果。it系統的複雜性已經客觀上要求it運維必須能夠實現數位化、自動化維護。所謂it運維管理的自動化是指通過將日常it運維中大量的重複性工作(小到簡單的日常檢查、配置變更和軟體安裝,大到整個變更流程的組織排程)由過去的手工執行轉為自動化操作,從而減少乃至消除運維中的延遲,實現「零 延時」的it運維。
簡單的說,it運維自動化是指基於流程化的框架,將事件與it流程相關聯,一旦被監控系統發生效能超標或宕機,會觸發相關事件以及事先定義好的流程,可自動啟動故障響應和恢復機制。自動化工作平台還可幫助it運維人員完成日常的重複性工作(如備份、防毒等),提高it 運維效率。同時,it運維的自動化還要求能夠**故障、在故障發生前能夠報警,讓it運維人員把故障消除在發生前,將所產生損失減到最低。!
課程目標:課程主要著眼於在日常的運維工作中應用python來解決實際問題;
課程以實際的案例出發,編寫python實用工具並在解決問題的同時說明系統運維在處理問題時的解決思路;
掌握運維體系中配置管理、系統監控、自動化部署等系統之間的關係及實現方法;
培訓物件:
本套課程的受眾主要是it運維相關技術愛好者、
相關工作人員(開發人員、基礎運維人員、系統管理員、it運維架構師…)
預備知識
熟悉linux系統與shell指令碼
課程安排:
時間安排
課程內容
第一天
一、 運維工作
目標:通過案例熟悉並掌握python語言的環境及特性以及在系統環境下的應用。
案例:文字控制台下的python系統工具箱 。
1、自動化運維介紹、誰應該掌握自動化運維技術;
2、python語言概述、python在自動化運維領域的應用;
3、python應用開發環境搭建;
4、互動式shell以及指令碼編輯;
5、hi, python. 編寫第乙個python程式;
6、python語法初探(pep8、語法規則等);
7、python在文字控制台下的人機互動;
8、文字控制台人機互動介面實現小技巧;
9、python實現流程控制
第二天
二、python強大的資料處理能力
目標:日常工作涉及到的最多的就是來自裝置、系統、網路、應用等產生的各種資料,
資料的處理能力是必備的,通過案例掌握python中的資料及資料的處理方式和技巧。
案例:主機管理,具備動態增刪改查功能,可結合excel**使用; apache日誌解析。
1、python的數值型別;
2、字串概念、語法及應用;
3、列表、元組概念、語法及應用;列表推導的使用;
4、字典、集合概念、語法及應用;
5、正規表示式;
6、檔案i/o與異常處理;
7、資料持久儲存;
8、excel資料處理;
9、cpickle實現物件序列化;
第三天
三、python函式-分治策略的實現
1、函式式程式設計概念;
2、python函式及自定義函式;
3、豐富的引數模式;
4、return and yield;
5、匿名函式;
6、生成器妙用;
7、模組化程式設計;
8、發布模組
python物件導向程式設計
1、物件導向程式設計;
2、定義python類;(類屬性; 類方法;)
3、類的例項化;
4、類屬性、方法及物件屬性、方法的呼叫;
5、類的繼承、多型;
程序、執行緒與併發
1、子程序;
2、子程序的返回碼;
3、使用supervisor管理程序;
4、python中的執行緒;
5、程序與程序排程;
第四天
四、python處理系統檔案
案例:豐富你的工具箱,管理系統上的使用者與主機;
輔助案例:多種方式資料壓縮與打包歸檔,增量備份與差異備份等;md5校驗等。
1、os模組常用方法;
2、sys模組常用方法;
3、關於路徑、目錄和檔案;
4、遞迴實現目錄樹;
5、多種資料歸檔方法;
第五天
五、python網路應用開發
目標:網際網路時代大批量伺服器的運維當然離不開網路,掌握python中常用的網路模組
及實際運用技巧,實現當下最火的一些運維工具(比如nagios,cacti)提供的功能。
輔助案例:程式設計實現自動化監控軟體(具備程序監控,自動報警,傳送email等功能);
實現自定製守護程序;
小爬蟲,埠檢測工具,ftp伺服器端及客戶端。
1、urllib模組用法;
2、paramiko模組用法;
3、snmp模組獲取裝置資訊;
4、socket介紹;
5、socket套接字用法;
6、socketserver應用開發;
gui圖形化程式設計-工具視覺化
目標:有的時候可能你需要乙個更人性化的、更美觀的、看起來更高階大氣上檔次操作介面。
案例:圖形化記事本、圖形化遠端埠掃瞄工具。
輔助案例:圖形化你的系統工具箱。
1、gui應用設計;
2、gui框架-tkinter;
3、gui框架-wxpython;
4、gui輔助設計工具;
5、基於nagios的監控外掛程式開發,比如監控cpu、記憶體、磁碟、程序、及基於snmp網路裝置監控的開發;
6、基於zabbix介面sender開發工具
7、基於ansible的運維自動化工具擴充套件開發
(一)自動化運維架構實戰
一 前言 現在中小型企業運維有一下特點 1.開發人員兼職完成,監控不及時 2.各式各樣的指令碼,重複性高 3.人工參與度高,瑣碎易犯錯 現在網上有很多自動化運維的經驗,有講概念的,有講架構圖的,有講方向的,由此看來,自動化運維是乙個必然的趨勢,那麼怎麼做呢,寫乙個指令碼?安裝乙個軟體?配置一堆東西?...
運維自動化
1,cobbler安裝環境準備 安裝epel epel release 6 8.noarch.rpm x86 64 epel release 6 8.noarch.rpm x86 安裝系列依賴環境 要是區域網用,建議關閉iptables 或是放行25151 80 69埠 和關閉selinux 檢視狀...
自動化運維
考慮的因素 源 打包為映象 發布到映象庫 利用k8s發布到物理機器執行,以服務的形式對外提供服務 目前的做法 0 建立乙個執行遠端命令的框架 1 每個應用建立乙個部署檔案指令碼 a 指定元 位址 c 同步源 到目標主機 d 接受指令碼引數 vername 2 版本號,映象tag fromport 3...