zoukankan      html  css  js  c++  java
  • python 监控服务器状态

    通过python获取服务器cpu、内存、流量信息

    cpu

    def get_cpu_status(path='/proc/loadavg'):
        '''
            监控CPU负载
        '''
        loadavg = {}
    
        with open(path, 'r', encoding='utf-8') as f1:
    
            list_content = f1.read().split()
    
            # ['0.00', '0.03', '0.05', '2/114', '1752'] 三个数1、5、15分钟内的平均进程数,后面两个一个的分子是正在运行的进程数,分母是进程总数
            loadavg['lavg_1'] = list_content[0]
    
            loadavg['lavg_2'] = list_content[1]
    
            loadavg['lavg_15'] = list_content[2]
    
        return loadavg

    内存

    def get_memory_status(path='/proc/meminfo'):
        '''
           内存监控
        '''
        mem_dic = {}
    
        with open(path, 'r', encoding='utf-8') as f2:
    
            lines = f2.readlines()
    
            for line in lines:
    
                name = line.strip().split(':')[0]
    
                data = line.split(":")[1].split()[0]
    
                mem_dic[name] = float(data)
    
        return mem_dic['MemTotal'] - mem_dic['MemFree'] - mem_dic['Buffers'] - mem_dic['Cached']

    网卡

    def get_network_status(path='/proc/net/dev'):
        '''
            网卡流量
        '''
        net_info = {}
    
        with open(path, 'r', encoding='utf-8') as f3:
    
            lines = f3.readlines()
    
            for line in lines[2:]:
    
                line = line.split(":")
    
                eth_name = line[0].strip()
    
                if eth_name != 'lo':
    
                    io_dic = {}
    
                    io_dic['receive'] = round(float(line[1].split()[0]) / (1024.0 * 1024.0), 2)
    
                    io_dic['transmit'] = round(float(line[1].split()[8]) / (1024.0 * 1024.0), 2)
    
                    net_info[eth_name] = io_dic
    
        return net_info
  • 相关阅读:
    面经
    Onedrive云盘程序——OneManager小白设置指南
    Docker 命令
    Linux 命令
    Spring boot 返回参数移除null属性
    Springboot
    正则
    JVM内存模型
    缓冲和缓存的区别
    SpringBoot如何优雅的将静态资源配置注入到工具类中
  • 原文地址:https://www.cnblogs.com/HByang/p/13283226.html
Copyright © 2011-2022 走看看