包含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 監控一個文件夾?

笨辦法是在循環中不斷讀取目錄以及目錄中文件的最後修改時間,如果有變更,則說說文件被修改。

這種辦法需要不斷的循環讀取文件信息,這對cpu佔用較高,同時也會產生一定的磁碟IO,短時間小範圍使用尚可,如果長時間運行在伺服器上,或者監控一個包含很多文件的目錄則不可取。

辦法之二是利用操作系統提供的功能來實現。

比如在Windows中,可以利用Windows API【ReadDirectoryChangesW】來實現。這可以免去大量的磁碟IO。因為文件修改的頻率一般不高,可以使用定計時器進行循環,對cup的佔用也會少很多。

如何使用python腳本實現對windows系統監控

示例:

#!/usr/bin/env python

# encoding: utf-8

“””

MonitorLog.py

Usage: MonitorLog.py …

Monitor the log file

-f  log file

-h  help info

python MonitorLog.py -f C:\monitor.log

Created by zhoubo on 2011-08-29.

“””

import sys

import os

import getopt

import subprocess

import time

import codecs

import winsound

ABSPATH = os.path.dirname(os.path.abspath(__file__))

MONITERCONF = ‘moniter_keyword.txt’ #utf8 file

def main():

    try:

        opts, args = getopt.getopt(sys.argv[1:], ‘hf:’)

    except getopt.GetoptError, err:

        print str(err)

        print __doc__

        return 1

    path = ”

    for k, v in opts:

        if k == ‘-f’:

            path = v

        elif k == ‘-h’:

            print __doc__

            return 0

    if not (path and os.path.exists(path)):

        print ‘Invalid path: %s’ % path 

        print __doc__

        return 2

    #命令行元組

    cmd = (‘tail’, ‘-f’, path)

    print ‘ ‘.join(cmd)

    output = subprocess.Popen(cmd, stdout=subprocess.PIPE)

    keywordMap = {}

    #載入監控的關鍵字信息

    with codecs.open(os.path.join(ABSPATH, MONITERCONF), ‘r’, ‘utf8’) as f:

        lines = f.readlines()

    for line in lines:

        line = line.strip()

        if not line:

            continue

        keyword, wav = line.strip().split(‘:’)

        keywordMap[keyword] = wav

    while True:

        line = output.stdout.readline()

        #process code,得到輸出信息後的處理代碼

        if not line:

            time.sleep(0.01)

            continue

        line = line.strip().decode(‘utf8’)

        print line

        for keyword in keywordMap:

            if line.find(keyword)  -1:

                winsound.PlaySound(keywordMap[keyword], 

                                   winsound.SND_NODEFAULT)

        #time.sleep(0.01)

    return 0

if __name__ == ‘__main__’:

    sys.exit(main())

使用python,在linux上監控遠程windows的CPU、硬碟、內存使用率?

你需要安裝wmic,它實現了linux下能使用wmi,安裝以後就可以用了,下面是例子。

import wmi_client_wrapper as wmi

wmic = wmi.WmiClientWrapper(

username=”Administrator”,

password=”password”,

host=”192.168.1.149″,

)

output = wmic.query(“SELECT * FROM Win32_Processor”)

如何實現Python伺服器性能監控

其實你完全可以使用現成的工具:linux系統的話,監控工具比較好的有ganglia,zabbix windows系統的話,用自帶的「性能監視器」(老版本的windows叫性能計數器)

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/253542.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-14 02:16
下一篇 2024-12-14 02:16

相關推薦

  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29
  • 蝴蝶優化演算法Python版

    蝴蝶優化演算法是一種基於仿生學的優化演算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化演算法Python版…

    編程 2025-04-29
  • Python清華鏡像下載

    Python清華鏡像是一個高質量的Python開發資源鏡像站,提供了Python及其相關的開發工具、框架和文檔的下載服務。本文將從以下幾個方面對Python清華鏡像下載進行詳細的闡…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智慧、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29

發表回復

登錄後才能評論