自動化運維與Python的關係

2021-10-08 12:39:23 字數 1308 閱讀 9316

一.什麼是自動化運維?

運維早期: 伺服器體量小, 部署步驟少、操作簡單、對運維人員要求較低(掌握基本的linux命令即可)。運維人員都是通過手工執行命令管理硬體、軟體資源。運維人員需要執行大量的重複性命令來完成日常的運維工作網際網路行業飛速發展: 伺服器體量大、部署步驟多、操作繁瑣、對運維人員要求提高(至少掌握一門程式語言)。

二.為什麼要自動化運維?

自動化運維勢在必行,原因有以下幾點:

(1)手工運維缺點多。手工操作易發生操作風險且效率低,運維人力成本變高,體量大(1000+)的伺服器難以人工管理。

(2)業務需求的頻繁變更。業務需要快速響應市場的需求,需求變更頻率也越來越快,只有devops持續交付實踐,才能滿足頻繁變更的業務需求。

(3)自動化運維的技術已經成熟。雲計算、大資料等需求刺激著自動化運維的需求,產生大量優秀的自動化運維開源工具(eg:ansible、docker等), 也助力著自動化運維的發展。

三.成熟的自動化運維體系

● 支援混合雲的配置管理資料庫(cmdb)。cmdb儲存與管理企業it架構中裝置的各種配置資訊,它與所有服務支援和服務交付流程都緊密相連,支援這些流程的運轉、發揮配置資訊的價值,同時依賴於相關流程保證資料的準確性。

● 完備的監控和應用效能分析系統。資源監控(如伺服器、磁碟、網路)和效能監控(如中介軟體、資料庫)都是較為基礎的監控,開源工具有zabbix、nagios、openfalcon(國產)。

● 批量運維工具。開源的批量運維工具有ansible、saltstack、puppet、chef,其中ansible和saltstack純由python編寫,**質量和社群活躍程度都很高,推薦使用。

● 日誌分析工具。如何快速地從成百上千臺服務中採集日誌並分析出問題所在呢?日誌採集方面工具有sentry +日誌分析有elk,兩者都是開源的。

● 持續整合和版本控制工具。持續整合是一種軟體實踐,團隊成員經常整合他們的工作,每次整合都通過自動化的構建來驗證,從而盡早發現整合錯誤。持續整合的工具jenkins+版本控制是軟體git。

● 漏洞掃瞄工具。借助商業的漏洞掃瞄工具掃瞄漏洞,保護伺服器資源不受外界的攻擊。

四.為什麼選擇python來做自動化運維?

● 大部分的開源運維工具都是由純python編寫的,如celery、ansible、paramiko、airflow等,學

習python後可以更加順暢地使用這些開源工具提供的api,可以閱讀這些開源工具的源**,甚至可以修改源**以滿足個性化的運維需求;

● python與其他語言相比,更加優雅、明確和簡單。

運維自動化

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...

Python 自動化運維 pycurl

web服務質量 1.服務可用性 2.服務響應速度 2.例項 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 ...