本文目錄一覽:
- 1、如何用python做一個設備運維軟體
- 2、如何使用python寫華三設備的自動化巡檢腳本
- 3、那個網管平台可以支持自定義巡檢?
- 4、2019-06-14 Python Paramiko模塊 在Huawei OLT巡檢實例
- 5、python常用到哪些庫?
- 6、設備巡檢的設備巡檢工作流程
如何用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的用戶界面讓您可以可視化管道的依賴關係、監控進度、觸發任務等。
來個小總結
如何使用python寫華三設備的自動化巡檢腳本
python在多個領域都有很多應用,常用的文件處理,系統管理等,網站構建有強大的django框架,生
那個網管平台可以支持自定義巡檢?
SugarNMS智和網管平台就支持自定義巡檢策略,對設備的運行情況進行統計和報表生成,並可自定義預設時間向指定郵箱發送巡檢結果報表,實現對網路設備的定期檢查。
2019-06-14 Python Paramiko模塊 在Huawei OLT巡檢實例
要對一批華為OLT(MA5800X7)進行巡檢,其中有一項是檢查lacp的配置。因為設備比較多,準備寫一個python腳本來做。思路如下:
首先看下在OLT上要檢查什麼,用什麼命令。
如果LACP正確配置的話,0/9/0-3 都會加入到0/8/0這個master port,就是說,配置里需要有」 link-aggregation add-member 0/8/0 0/9 0,1,2,3「 這一條。那麼任務就可以簡單描述為:
1、登錄OLT
2、enable (dis cur | xx 需要許可權)
3、執行命令:”display current-configuration | include link-aggregation”
4、獲取輸出,查找 ” link-aggregation add-member 0/8/0 0/9 0,1,2,3″ 關鍵字元串
5、列印查找結果,或者輸出到文檔
6、循環,繼續下一台OLT
用Python實現的話,主要用到Paramiko模塊,以及一些循環,正則表達式和標準輸入輸出。
下面的腳本是連接OLT,執行多條命令的範例:
python常用到哪些庫?
Python作為一個設計優秀的程序語言,現在已廣泛應用於各種領域,依靠其強大的第三方類庫,Python在各個領域都能發揮巨大的作用。
下面我們就來看一下python中常用到的庫:
數值計算庫:
1. NumPy
支持多維數組與矩陣運算,也針對數組運算提供大量的數學函數庫。通常與SciPy和Matplotlib一起使用,支持比Python更多種類的數值類型,其中定義的最重要的對象是稱為ndarray的n維數組類型,用於描述相同類型的元素集合,可以使用基於0的索引訪問集合中元素。
2. SciPy
在NumPy庫的基礎上增加了眾多的數學、科學及工程計算中常用的庫函數,如線性代數、常微分方程數值求解、信號處理、圖像處理、稀疏矩陣等,可進行插值處理、信號濾波,以及使用C語言加速計算。
3. Pandas
基於NumPy的一種工具,為解決數據分析任務而生。納入大量庫和一些標準的數據模型,提供高效地操作大型數據集所需的工具及大量的能快速便捷處理數據的函數和方法,為時間序列分析提供很好的支持,提供多種數據結構,如Series、Time-Series、DataFrame和Panel。
數據可視化庫:
4. Matplotlib
第一個Python可視化庫,有許多別的程序庫都是建立在其基礎上或者直接調用該庫,可以很方便地得到數據的大致信息,功能非常強大,但也非常複雜。
5. Seaborn
利用了Matplotlib,用簡潔的代碼來製作好看的圖表。與Matplotlib最大的區別為默認繪圖風格和色彩搭配都具有現代美感。
6. ggplot
基於R的一個作圖庫ggplot2,同時利用了源於《圖像語法》(The Grammar of Graphics)中的概念,允許疊加不同的圖層來完成一幅圖,並不適用於製作非常個性化的圖像,為操作的簡潔度而犧牲了圖像的複雜度。
7. Bokeh
跟ggplot一樣,Bokeh也基於《圖形語法》的概念。與ggplot不同之處為它完全基於Python而不是從R處引用。長處在於能用於製作可交互、可直接用於網路的圖表。圖表可以輸出為JSON對象、HTML文檔或者可交互的網路應用。
8. Plotly
可以通過Python notebook使用,與Bokeh一樣致力於交互圖表的製作,但提供在別的庫中幾乎沒有的幾種圖表類型,如等值線圖、樹形圖和三維圖表。
9. pygal
與Bokeh和Plotly一樣,提供可直接嵌入網路瀏覽器的可交互圖像。與其他兩者的主要區別在於可將圖表輸出為SVG格式,所有的圖表都被封裝成方法,且默認的風格也很漂亮,用幾行代碼就可以很容易地製作出漂亮的圖表。
10. geoplotlib
用於製作地圖和地理相關數據的工具箱。可用來製作多種地圖,比如等值區域圖、熱度圖、點密度圖。必須安裝Pyglet(一個面向對象編程介面)方可使用。
11. missingno
用圖像的方式快速評估數據缺失的情況,可根據數據的完整度對數據進行排序或過濾,或者根據熱度圖或樹狀圖對數據進行修正。
web開發庫:
12. Django
一個高級的Python Web框架,支持快速開發,提供從模板引擎到ORM所需的一切東西,使用該庫構建App時,必須遵循Django的方式。
13. Socket
一個套接字通訊底層庫,用於在伺服器和客戶端間建立TCP或UDP連接,通過連接發送請求與響應。
14. Flask
一個基於Werkzeug、Jinja 2的Python輕量級框架(microframework),默認配備Jinja模板引擎,也包含其他模板引擎或ORM供選擇,適合用來編寫API服務(RESTful rervices)。
15. Twisted
一個使用Python實現的基於事件驅動的網路引擎框架,建立在deferred object之上,一個通過非同步架構實現的高性能的引擎,不適用於編寫常規的Web Apps,更適用於底層網路。
資料庫管理:
16. MySQL-python
又稱MySQLdb,是Python連接MySQL最流行的一個驅動,很多框架也基於此庫進行開發。只支持Python 2.x,且安裝時有許多前置條件。由於該庫基於C語言開發,在Windows平台上的安裝非常不友好,經常出現失敗的情況,現在基本不推薦使用,取代品為衍生版本。
17. mysqlclient
完全兼容MySQLdb,同時支持Python 3.x,是Django ORM的依賴工具,可使用原生SQL來操作資料庫,安裝方式與MySQLdb一致。
18. PyMySQL
純Python實現的驅動,速度比MySQLdb慢,最大的特點為安裝方式簡潔,同時也兼容MySQL-python。
19. SQLAlchemy
一種既支持原生SQL,又支持ORM的工具。ORM是Python對象與資料庫關係表的一種映射關係,可有效提高寫代碼的速度,同時兼容多種資料庫系統,如SQLite、MySQL、PostgreSQL,代價為性能上的一些損失。
自動化運維:
20. jumpsever跳板機
一種由Python編寫的開源跳板機(堡壘機)系統,實現了跳板機的基本功能,包含認證、授權和審計,集成了Ansible、批量命令等。
支持WebTerminal Bootstrap編寫,界面美觀,自動收集硬體信息,支持錄像回放、命令搜索、實時監控、批量上傳下載等功能,基於SSH協議進行管理,客戶端無須安裝agent。主要用於解決可視化安全管理,因完全開源,容易再次開發。
21. Magedu分散式監控系統
一種用Python開發的自動化監控系統,可監控常用系統服務、應用、網路設備,可在一台主機上監控多個不同服務,不同服務的監控間隔可以不同,同一個服務在不同主機上的監控間隔、報警閾值可以不同,並提供數據可視化界面。
22. Magedu的CMDB
一種用Python開發的硬體管理系統,包含採集硬體數據、API、頁面管理3部分功能,主要用於自動化管理筆記本、路由器等常見設備的日常使用。由伺服器的客戶端採集硬體數據,將硬體信息發送至API,API負責將獲取的數據保存至資料庫中,後台管理程序負責對伺服器信息進行配置和展示。
23. 任務調度系統
一種由Python開發的任務調度系統,主要用於自動化地將一個服務進程分布到其他多個機器的多個進程中,一個服務進程可作為調度者依靠網路通信完成這一工作。
24. Python運維流程系統
一種使用Python語言編寫的調度和監控工作流的平台,內部用於創建、監控和調整數據管道。允許工作流開發人員輕鬆創建、維護和周期性地調度運行工作流,包括了如數據存儲、增長分析、Email發送、A/B測試等諸多跨多部門的用例。
GUI編程:
25. Tkinter
一個Python的標準GUI庫,可以快速地創建GUI應用程序,可以在大多數的UNIX平台下使用,同樣可以應用在Windows和Macintosh系統中,Tkinter 8.0的後續版本可以實現本地窗口風格,並良好地運行在絕大多數平台中。
26. wxPython
一款開源軟體跨平台GUI庫wxWidgets的Python封裝和Python模塊,是Python語言的一套優秀的GUI圖形庫,允許程序員很方便地創建完整的、功能健全的GUI用戶界面。
27. PyQt
一個創建GUI應用程序的工具庫,是Python編程語言和Qt的成功融合,可以運行在所有主要操作系統上,包括UNIX、Windows和Mac。PyQt採用雙許可證,開發人員可以選擇GPL和商業許可,從PyQt的版本4開始,GPL許可證可用於所有支持的平台。
28. PySide
一個跨平台的應用程式框架Qt的Python綁定版本,提供與PyQt類似的功能,並相容API,但與PyQt不同處為其使用LGPL授權。
更多Python知識請關注Python自學網。
設備巡檢的設備巡檢工作流程
1.用戶在管理端軟體制定設備巡檢計劃,包括定義相應的檢測區域,檢查點,檢測項目等內容;2.巡檢前,巡檢人員先從管理端下載相應的巡檢任務(巡檢內容)至巡檢儀終端;3.下載巡檢任務後, 操作人員就可直接手持巡檢儀根據巡檢路線進行檢測;4.檢查完畢後,操作人員將檢查結果通過網路上傳到系統資料庫中;5.檢查結果上傳至資料庫中後,系統可直接生成設備巡檢分析報表,方便管理人員作統計分析;
一、為什麼石油石化企業需要設備巡檢系統
石油石化工廠的危險性:石油石化是高溫高壓、易燃易爆有毒的危險行業,生產工藝複雜,裝置大型化,微小的事故可能會造成重大影響,而且一旦發生事故就容易造成群死群傷的惡性事故,如重慶12·23特大井噴,造成243人死亡,2142中毒住院治療,65000名當地居民被緊急疏散,各種經濟損失達6432萬元的重大事故。所以對石油石化行業對安全管理要求極為嚴格。
傳統的巡檢方法不能高效、嚴格的管理巡檢人員:如今石油石化系統安全巡檢工作主要是通過安檢員的定期巡查和上級督查部門的不定期抽查兩種方式:在巡查地點或設備處放置一可撥動式錶盤,安檢員每到一個地方後,撥動錶盤時鐘指向巡查時間;還有的是通過投紙條,安檢員把寫有巡檢時間的紙條放入紙箱內,以此來記錄巡查情況。上級部門再對安檢員的巡查情況進行抽查。由此可以看出,這種考核方式是很不科學的,即難核實時間,又很容易讓某些安檢員放鬆警覺,很可能因為一個小的操作失誤就有可能導致災難性的後果。思想工作的宣傳固然重要,但應該加強科學化的安全巡檢管理方法才是避免事故發生的有效途徑。
工廠設備每天需要點檢參數、檢查零件是否完好:巡檢人員以往是用紙制的記錄本對設備的參數進行選擇,這樣很難掌控巡檢人員的巡檢時間、巡檢數據的真實性。
二、石油石化企業應該選擇什麼樣的設備
有防爆資格證:石油石化企業的工廠環境對電子產品要求比較嚴格,正常來說工廠工人是連手機都不允許帶入工廠內部的,以免由於高溫高壓、易燃易爆設備帶來不必要的事故。
少介面的巡檢設備:工廠內部粉塵比較多,一般帶的USB口通訊的設備比較容易損壞,所以應該選擇通訊座傳輸數據或紅外傳輸數據的設備。
選擇適合自己的設備:如若需要記錄點檢工廠設備的參數、運行狀態、到達各個設備的時間、日期、名稱,則需選用中文V8數據採集器。數據採集器多種多樣,一般都是帶顯示的,由於工廠環境有的高溫高壓,所以需要選擇OLED顯示屏的設備,而不是普通液晶,帶OLED顯示屏工作溫度在 -40℃ ~ +80℃,抗震能力高於液晶顯示屏,而且在陽光下仍然顯示清晰。
三、石油石化設備巡檢管理系統簡介
巡檢系統就是以點檢為核心的設備維修管理體制,是實現設備可靠性、維護性、經濟性,並使上述三方面達到最佳化管理的機制,是按照預先制定的技術標準,定人、定點、定期、定方法、定標準地對設備進行檢查的一種管理方法。
唯實保安巡檢管理系統包括:巡檢點、V8數據採集器、紅外通訊座、遠程通訊座(可選)、管理軟體(網路版、互聯巡檢版)等主要部分。
四、工作過程:以下為兩種巡檢系統的工作流程
網路版軟體V9.0:工廠內部設立一台伺服器(windows2003系統、SQL Server2005數據
庫),將V9.0軟體安裝在這台伺服器上,只要有廣域網或區域網的地方就可以查詢或上傳巡檢數據,可以實現上級管理下
級的部門管理,給各部門負責人分配許可權,使得各盡其責。適合全國連鎖或大型工廠企業使用。V9.0系統拓撲圖及工作流程如右側:
1. 安裝及配置伺服器:安裝SQLServer2005資料庫、配置IIS。
2. 設置軟體:設置巡檢點、巡檢設備、巡檢設備要點檢的項目、巡檢人員、巡檢計劃等。我們以某鋼鐵集團為例,設置萘打包輸送泵、轉鼓結晶機、配電櫃三個設備的項目: 設備名稱 點檢項目 點檢周期及分工 設備狀態 點檢方法 萘打包輸送泵A 出口壓力
地腳/接地
震動
聲響
聯軸器
油位
溫度
密封
盤車
運行狀態 1次/2小時 運行/停止 目視、手感、聽聲、儀器、其他 轉鼓結晶機D 振動
聲響
地腳/接地
油位
聯軸器
密封
溫度
電流
盤車
運行狀況
固萘生產量 生產部 1次/2小時
維修部 1次/周 運行/停止 目視、手感、聽聲、儀器、DSC 201配電櫃1# 電流
電壓
功率因數 維修部 1次/周 運行/停止 目視、手感、聽聲、儀器、DSC 3. 下載檔案:將設置好的巡檢點、巡檢設備、巡檢設備要點檢的項目、巡檢人員、巡檢計劃形成檔案下載到V8數據採集器中。
4. 安裝巡檢點:將巡檢點安裝到需要點檢的設備附近。
5. 巡檢:巡檢人員在巡查開始時首先選擇V8數據採集器中巡檢人員姓名,即先確定巡檢人員身份,然後開始一條線路的設備點檢,讀取巡檢點後V8數據採集器屏幕顯示該地點的巡檢項目內容,巡檢人員按提示輸入該地點的現場狀況信息,所有項目輸入完畢後採集器保存記錄,巡檢記錄內容由設備名稱、讀卡時間、卡號及巡檢項目等組成。巡檢過程中可本機查詢全部被檢設備、任務列表、已巡檢項目記錄、下一個巡檢地點。
6. 上傳巡檢數據:上傳數據有兩種途徑,一是在車間或者辦公室準備一台或多台電腦,這台電腦需要和伺服器連網(互聯網、區域網均可),將巡檢數據通過近程紅外通訊座上傳到此台電腦上,然後通過網路上傳到伺服器上。二是在車間或者辦公室準備一台或多台遠程通訊座以網線或電話線兩種連接伺服器,將巡檢數據通過遠程通訊座紅外模式上傳,然後通過網路上傳到伺服器上,這樣即使工廠內部沒有電腦也可以上傳數據,不必擔心由於電腦中病毒而無法上傳數據的煩惱。
7. 查看巡檢數據:只要和伺服器在同一個網路內(互聯網、區域網)的電腦都能查看數據
互聯巡檢版軟體:唯實設立一台公共伺服器,用戶無需提供操作系統、資料庫、計算機管理
員等,唯實工程師負責設置及維護用戶信息,用戶只需買回產品即可使用,無需設置軟體、接受培訓;而且只要有網路的地方即可上傳、查看巡檢數據;具有網路版V9.0的多級管理,許可權分配等功能。工作流程及拓撲圖如下右側
1. 將要巡檢的設備名稱及項目等信息提供給唯實工程師,唯實工程師將幫您設置好巡檢系統。
2. 待唯實工程師設置好一切後,將巡檢檔案下載到V8數據採集器中;將巡檢點安裝到要巡檢的設備附近。
由於唯實保安巡檢管理系統應用了計算機軟體及自動識別等多方面的高新技術,因此巡檢記錄無法偽造,從而保證了統計結果的真實性。該系統為保安的巡檢工作提供了科學的管理依據,可以徹底杜絕因為存在僥倖麻痹心理逃避巡檢情況的出現。
設備巡檢報表:
***統計結果可以根據不同需求統計。
例如:原始記錄查詢
查看2010-10-26 13:23——2010-12-07 13:23的巡檢數據
說明:「合成壓縮一樓」這個設備點需要點檢「油站運行情況」、「油泄漏情況」、「溫度」三個項目。其中「油站運行情況」是單選類型,需要選擇正常與異常;「油泄漏情況」為多選類型,可同時選擇多個選項;「溫度」為數值類型,需要輸入溫度的數值。
五、為什麼選擇V8數據採集器
堅固耐用=2.5mm工程塑料外殼+防震防水護套+紅外通訊。
OLED彩色顯示屏,性能穩定,陽光下比彩色液晶顯示更清晰,工作溫度-40℃~ +80℃。
可下載巡檢檔案,包括:線路 →設備 → 巡檢項(數值,單選,多選,文字)。
感應卡識讀,每個RFID對應一個被巡檢設備。
支持設備運行狀態選擇,每個設備最多可設定255個檢查項,檢查項支持數值型、狀態選擇型(單選、多選)、文字描述型;數值型項目可設定有效範圍提示(如最高100℃,最低20℃)。
支持工作任何時間查詢,可查詢全部被檢設備、任務列表、已巡檢項目記錄、下一個巡檢地點。
可選擇乙太網通訊座代替PC向伺服器傳輸巡檢記錄,可大量減少維護工作。
六、唯實保安巡檢管理系統的技術指標數據採集器(V8)
電 源:3.6伏可充電鋰電池,800mAH。液晶顯示:160 x 128像素,彩色液晶顯示器,國標一二級字型檔。
外 觀:13.5(高)×5.8(寬)×2.4(厚)厘米,3毫米厚高強度聚碳酸脂(PC)材質;
鍵 盤:20個按鍵 + 1個複位鍵。
使用條件:環境溫度 -20℃~+70℃;相對濕度 45%~95%;
通 訊:紅外(IRDA),通訊速率57600bps。
顯示界面:人性化的圖標和中文菜單進行操作。
內 存:A:16Mb FLASH存儲器,檔案17000條,巡檢記錄20000條。
B:8Mb FLASH存儲器,檔案5000條,巡檢記錄12000條。
文字內存:每條信息 最長64個漢字或128 個數字/字母。可存儲440條信息。
提示方式:聲音與振動提示。
電池提示:開機界面顯示電池狀態,提示用戶及時充電。
自動關機:可自由設定自動關機時長,減少電源消耗,增長使用時間。
巡檢查詢:可在機器上查詢巡檢記錄。
文字錄入:支持自定義信息輸入,拼音輸入法(T9)輸入漢字,大寫字母、小寫字母、數字、標點等。
IAP 功能:具備在應用編程(In Aplication Program)功能,支持二次開發。
C P U :處理器具有在線編程功能,支持二次開發
紅外通訊座(VT1)
產品類型: RS232/USB 紅外通信座
接 口: RS232/USB
數據傳輸率:115.2Kbps
通信距離: 3~50 cm。
通信角度: -15度 ~ +15度。
工作電壓: DC 5v
峰值功率: 0.5w
工作溫度: 0~85攝氏度。
工作濕度: 10~90%
電子標籤:埋放在巡檢線路上,安全、可靠 、不易丟失及破壞、防水、防震、防腐,可在各種惡劣環境中使用。內碼無不重複,無需供電。工作溫度:-40℃–85℃
識讀方式:非接觸感應識讀。
讀取距離:3cm~10cm
頻 率:125KHz(EM)
尺 寸:φ30mm圓片封裝
互聯網通訊座(VX5000N):代替客戶端電腦上傳巡檢數據,無需像電腦那樣的複雜維護。
巡檢器將採集的巡檢數據傳到遠程通訊座里,遠程通訊座通過電話線或網線自動上傳到網路伺服器,然後通過網路隨時隨地可以查看到巡檢數據。代替客戶端電腦,因此可以減少病毒、系統損壞等維護,同時無需培訓即可使用。內 存:16Mb,存貯13萬條巡檢記錄
接 口:巡檢器通訊RS232,RJ45,IRDA紅外通信。
串 口:57600BPS。
乙太網介面:10/100M自適應
尺 寸:200mm×40mm×60mm
電 源:DC9V(直流電源)
重 量:480g
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/240149.html