古詩詞大全網 - 成語用法 - 如何用python做壹個設備運維軟件

如何用python做壹個設備運維軟件

Python開發的jumpserver跳板機

jumpserver跳板機是壹款由Python編寫開源的跳板機(堡壘機)系統,實現了跳板機應有的功能。基於ssh協議來管理,客戶端無需安裝agent。

企業主要用於解決:可視化安全管理

特點:完全開源,GPL授權

Python編寫,Django開發框架,容易再次開發

實現了跳板機基本功能:認證、授權、審計。集成了Ansible、批量命令等。功能強大。

通俗點就是起到監控誰在服務器上做了什麽操作等。錄像回放、命令搜索、實時監控、批量上傳下載等。

第三:Python開發的Magedu分布式監控系統

以自動化運維視角為出發點,自動化功能、監控告警、性能調優,結合saltstack實現自動化配置管理等內容進行了全方位的深入剖析。

企業主要用於解決:自動化監控常用系統服務、應用、網絡設備等。分布式可監控更多服務器,分區域監控再匯總。Zabbix監控結合Python自定義監控腳本。

監控系統需求討論:

監控常用系統服務、應用、網絡設備等?壹臺主機上可監控多個不同服務、不同服務的監控間隔可不同?同壹個服務在不同主機上的監控間隔、報警閾值可不同?告警級別?數據可視化,如何做出簡潔美觀的用戶界面?如何實現單機支持5000+機器監控需求?采取何種通信方式?主動、被動?

第四:Python開發的Magedu的CMDB

cmdb的開發需要包含三部分功能:采集硬件數據、API、頁面管理。

企業主要用於解決:項目功能,采集硬件數據、Api、頁面管理。統計資產,例如服務器存放位置,服務器上的賬號等等。

執行服務的過程如下:服務器的客戶端采集硬件數據,然後將硬件信息發送到API,API負責將獲取到的數據保存到數據庫中,後臺管理程序負責對服務器信息的配置和展示。

第五:Python開發的任務調度系統

Python任務調度系統的multiprocessing模塊不但支持多進程,其中managers子模塊還支持把多進程分布到多臺機器上。

企業主要用於解決:通俗的理解,批量管理crontab定時任務。原理用戶通過web頁面設置任務,傳輸到任務調度系統服務器上的客戶端,客戶端收集數據反饋給服務器端,服務器端根據任務具體內容調度後端的集群服務器做定時任務。

壹個服務進程可以作為調度者,將任務分布到其他多個機器的多個進程中,依靠網絡通信。想到這,就在想是不是可以使用此模塊來實現壹個簡單的作業調度系統。

第六:Python運維流程系統

使用python語言編寫的調度和監控工作流的平臺內部用來創建、監控和調整數據管道。任何工作流都可以在這個使用Python來編寫的平臺上運行。

企業主要用於解決:通俗點說就是規範運維的操作,加入審批,壹步壹步操作的概念。

是壹種允許工作流開發人員輕松創建、維護和周期性地調度運行工作流(即有向無環圖或成為DAGs)的工具。這些工作流包括了如數據存儲、增長分析、Email發送、A/B測試等等這些跨越多部門的用例。

這個平臺擁有和 Hive、Presto、MySQL、HDFS、Postgres和S3交互的能力,並且提供了鉤子使得系統擁有很好地擴展性。除了壹個命令行界面,該工具還提供了壹個基於Web的用戶界面讓您可以可視化管道的依賴關系、監控進度、觸發任務等。

來個小總結