天天看點

一個顔值低但脾氣超好的自動化運維實戰入門教程

注:本教程由廖高祥釋出于實驗樓,版權歸原作者所有。

什麼是自動化運維?

自動化運維是指将IT運維中日常的、大量的重複性工作自動化,把過去的手工執行轉為自動化操作。自動化運維不單純是一個維護過程,更是一個管理的提升過程,是IT運維的最高層次,也是未來的發展趨勢。

自動化運維常用開源工具

Jekins 。一個具有許多插件的自動化伺服器。用于建構,測試和自動化部署應用程式。通常Jenkins用作軟體開發的CI/CD工具。Jenkins 的作業(建構)可以由各種觸發器啟動。例如送出代碼到版本控制系統,按計劃事件,通過通路特定URL建構或者在完成其它建構之後進行觸發。

Ansible。集合了衆多運維工具(puppet、chef、func、fabric)的優點,實作了批量系統配置、批量程式部署、批量運作指令等功能。

SaltStack 。基于Python開發的一套C/S架構配置管理工具,簡單易部署,同時支援伺服器/用戶端 和無代理模式。在後一種情況下,Salt 使用SSH連接配接到受管理的節點/虛拟機。Salt 使用以Python編寫的執行子產品,其中包含函數以定義配置任務。

Nagios 。網絡監控工具,能有效監控Windows、Linux和Unix的主機狀态,交換機、路由器等網絡裝置,并發送告警資訊。

Zabbix。 是一個為應用服務,網絡服務和硬體監控提供的解決方案。Zabbix 将收集的資料存儲在關系資料庫中,如MySQL,PostgreSQL等。Zabbix 允許你監控簡單的服務,如HTTP服務。Zabbix agent端可以安裝在Windows和 類Unix伺服器上,用來檢視系統參數,如CPU負載、記憶體和磁盤使用率等。另外,agent可用于監視标準服務和自定義應用程式。Zabbix也支援通過SNMP、SSH等方式,無需在要監視的伺服器上安裝代理。

Kubernets。 簡稱k8s,是來自 Google 雲平台的開源容器叢集管理系統,功能包括自動化容器的部署,排程和節點叢集間擴充,支援Docker和Rocket。

OpenShift 。由RedHat推出的一款面向開源開發人員開放的平台即服務(PaaS)。 OpenShift通過為開發人員提供在語言、架構和雲上的更多的選擇,使開發人員可以建構、測試、運作和管理他們的應用。

ELK。 Elasticsearch,Logstash,Kibana軟體的組合,它是用于記錄,日志分析,日志搜尋和可視化的完整工具。Elasticsearch是基于Apache Lucene的搜尋工具。Logstash是用于收集,解析和存儲日志的工具,可以通過Elasticsearch對其進行索引。

自動化運維系統的功能

具體應包括哪些功能沒有統一的标準,視每個公司業務和開發需求而定。大體上,一個成熟的自動化運維系統功能應包含如下五大功能子產品:

  1. (CMDB)配置管理 。 伺服器、網絡裝置、應用管理、業務屬性、監控屬性、架構拓撲、環境管理、營運狀态
  2. 集中監控報警 。網絡監控、主機監控、HTTP探測監控、日志監控、中間件監控
  3. (ITSM)流程管理。 變更管理、需求管理、事件管理、工單系統、服務請求、問題管理
  4. 日志分析與處理 。日志的備份、審計、分析,報表展示
  5. 持續內建與釋出 。自動化運維、Docker管理、流程編排、輕量ITSM、一緻性管理

推薦幾個Github上不錯的自動化運維平台:

  1. OpsManage 。代碼及應用部署CI/CD、資産管理CMDB、計劃任務管理平台、SQL稽核|復原、任務排程、站内WIKI。
  2. adminset 。CMDB、CD、DevOps、資産管理、任務編排、持續傳遞、系統監控、運維管理、配置管理。
  3. jumpserver。 全球首款完全開源的堡壘機,是符合 4A 的專業運維審計系統,官網位址。

今天推薦的這個教程是一個完整的自動化運維實戰教程,包含自動化運維的概念和基礎知識,常用開源軟體的使用場景,一個自動化運維系統需要具備哪些功能;通過Pexpect庫實作自動監控伺服器的負載、磁盤、記憶體、CPU、網絡接口(流量)、端口等。

通過完整的教程,你将學到以下知識點:

  1. Python自動化運維的概念和知識體系
  2. 如何開發一個成熟的自動化運維管理系統
  3. 使用nmap建構高效的端口掃描器
  4. 使用ClamAV搭建集中式病毒掃描器,實作自動化管理
  5. 使用Django+Echarts+openpyxl開發自動化報表系統
  6. 通過paramiko上傳/下載下傳,fabirc+git代碼釋出,熟悉自動化實踐中的批量主機管理方案
  7. Ansible自動化運維,從安裝介紹,到架構原理,到實戰演練
  8. Saltstack自動化運維入門到精通

實驗環境

  • Python 3.6
  • Xfce終端
  • Pexpect子產品

想了解自動化運維或具有Python基礎的使用者都可以去學習一下;如果你想使用Python開發自動化運維系統,卻不知道應該從何入手,這個教程就是專門為你寫的啦。

完整的教程可以:點我學習,在環境中動手實操學習。

今日推薦