本文目錄一覽:
- 1、如何用python做一個設備運維軟體
- 2、如何用python寫監控日誌函數
- 3、如何通過python實現實時監控文件
- 4、如何利用python監控主機存活並郵件,簡訊通知
- 5、python 做監控數據採集,怎麼做.新手請教
- 6、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的用戶界面讓您可以可視化管道的依賴關係、監控進度、觸發任務等。
來個小總結
如何用python寫監控日誌函數
def write_log(username,operation):
”’
寫日誌函數
:param username:用戶名
:param operation:用戶的操作信息
:return:
”’
w_time = time.strftime(‘%Y-%m-%d %H%M%S’)
with open(‘log.txt’,’a+’) as fw:
log_content = ‘%s %s %s \n’%(w_time,username,operation)
fw.write(log_content)
希望對你有幫助!
如何通過python實現實時監控文件
比如要監控nginx的$request_time和$upstream_response_time時間,分析出最耗時的請求,然後去改進代碼,這時就要對日誌進行實時分析了,發現時間長的語句就要報警出來,提醒開發人員要關注,當然這是其中一個應用場景,通過這種監控方式還可以應用到任何需要判斷或分析文件的地方!
如何利用python監控主機存活並郵件,簡訊通知
常規方法是,在主機設置一個通訊服務,比如socket,http等,具體根據你具體要監控什麼內容來選。然後在監控機用python寫循環定時請求主機的服務,比如socket就用python的socket庫相關代碼來實現socket client來請求主機看主機返回socket是否正常,如果遇到不正常的情況,就發簡訊通知,發簡訊可以用喵提醒。當然如果你是喵提醒付費用戶,你可以不用監控機了,直接用喵提醒的心跳提醒功能,讓主機自己定時請求一次喵提醒心跳,一旦心跳超時沒發出,喵提醒就給你發簡訊了,成本更低。
python 做監控數據採集,怎麼做.新手請教
這麼具體的問題,找通用demo很難啊,個人覺得問題的難點不在Python。
1. 獲取什麼伺服器性能數據和如何獲取,可以請教公司內部運維。
2. 獲取什麼資料庫性能數據和如何獲取,可以請教公司內部DBA。
3. 以上兩點搞定了,才能確定臨時數據存儲結構和最終資料庫表結構。
以上三點是關鍵,Python的事情就簡單多了,提供一種思路:一分鐘一次,實時性不高,每台伺服器用cron部署一個a.py,用於獲取性能數據,在某
一台伺服器有一個b.py,負責獲取所有伺服器a.py產生的數據,然後寫入資料庫;a.py如何上報到b.py取決於你擅長什麼,如果熟悉網路編程,用
a.py做客戶端上報到服務端b.py,如果熟悉shell的文件同步(如rsync),a.py只寫本地文件,b.py調用c.sh(封裝rsync)
拉取遠程文件。
如果解決了您的問題請採納!
如果未解決請繼續追問!
python 監控一個文件夾?
笨辦法是在循環中不斷讀取目錄以及目錄中文件的最後修改時間,如果有變更,則說說文件被修改。
這種辦法需要不斷的循環讀取文件信息,這對cpu佔用較高,同時也會產生一定的磁碟IO,短時間小範圍使用尚可,如果長時間運行在伺服器上,或者監控一個包含很多文件的目錄則不可取。
辦法之二是利用操作系統提供的功能來實現。
比如在Windows中,可以利用Windows API【ReadDirectoryChangesW】來實現。這可以免去大量的磁碟IO。因為文件修改的頻率一般不高,可以使用定計時器進行循環,對cup的佔用也會少很多。
原創文章,作者:FJJM,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/150036.html