包含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/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

发表回复

登录后才能评论