色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

監(jiān)控服務(wù)器資源利用率的客戶(hù)端腳本

麥辣雞腿堡 ? 來(lái)源:CSDN博客 ? 作者:jerry-89 ? 2023-01-22 16:04 ? 次閱讀

客戶(hù)端腳本:

端腳本:

- - coding:utf-8 - -

import io

import os

import sys

import time

import datetime

import socket

import commands

import logging

from logging import handlers

import psutil

import struct

import fcntl

if sys.getdefaultencoding() != 'utf-8':

reload(sys)

sys.setdefaultencoding('utf-8')

class Logger(object):

level_relations = {

'debug': logging.DEBUG,

'info': logging.INFO,

'warning': logging.WARNING,

'error': logging.ERROR,

'crit': logging.CRITICAL

} # 日志級(jí)別關(guān)系映射

def init (self,logname, level='info', when='D', backCount=10, fmt='%(asctime)s - %(pathname)s[line:%(lineno)d] - %(levelname)s: %(message)s'):

CURRENT_DIR = os.path.dirname(file)

LOG_FILE = os.path.abspath(os.path.join(CURRENT_DIR, logname))

self.logger = logging.getLogger(LOG_FILE)

format_str = logging.Formatter(fmt) # 設(shè)置日志格式

self.logger.setLevel(self.level_relations.get(level)) # 設(shè)置日志級(jí)別

sh = logging.StreamHandler() # 往屏幕上輸出

sh.setFormatter(format_str) # 設(shè)置屏幕上顯示的格式

th = handlers.TimedRotatingFileHandler(

filename=LOG_FILE, when=when, backupCount=backCount, encoding='utf-8') # 往文件里寫(xiě)入#指定間隔時(shí)間自動(dòng)生成文件的處理器

#實(shí)例化TimedRotatingFileHandler

#interval是時(shí)間間隔,backupCount是備份文件的個(gè)數(shù),如果超過(guò)這個(gè)個(gè)數(shù),就會(huì)自動(dòng)刪除,when是間隔的時(shí)間單位,單位有以下幾種:

S 秒

M 分

H 小時(shí)、

D 天、

W 每星期(interval==0時(shí)代表星期一)

midnight 每天凌晨

th.setFormatter(format_str) # 設(shè)置文件里寫(xiě)入的格式

#self.logger.addHandler(sh) # 把對(duì)象加到logger里

if not self.logger.handlers:

self.logger.addHandler(th)

class clientMonitor(object):

#獲取指定網(wǎng)卡ip

def getIpAddress(self,dev):

s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

a = s.fileno()

b = 0x8915

c = struct.pack('256s', dev[:15])

res = fcntl.ioctl(a, b, c)[20:24]

return socket.inet_ntoa(res)

#獲取網(wǎng)絡(luò)的使用情況 ,取的是eth0的發(fā)送和收取的總字節(jié)數(shù)

#readNetInfo('eth0')

def readNetInfo(self,dev):

f = open('/proc/net/dev')

lines = f.readlines()

f.close()

res = {'in':0, 'out':0}

for line in lines:

if line.lstrip().startswith(dev):

for centos

line = line.replace(':', ' ')

items = line.split()

res['in'] = long(items[1])#/1024

res['out'] = long(items[len(items)/2 + 1])#/1024

return res

def readNetInfo_new(self,dev):

res = {'in':0, 'out':0}

res['in'] = psutil.net_io_counters(pernic=True).get(dev).bytes_recv

res['out'] = psutil.net_io_counters(pernic=True).get(dev).bytes_sent

return res

#磁盤(pán)使用率,path:磁盤(pán)路徑

def disk_stat(self,path):

hd={}

disk = os.statvfs(path)

percent = (disk.f_blocks - disk.f_bfree) * 100 / (disk.f_blocks -disk.f_bfree + disk.f_bavail) + 1

return percent

def net_loop(self,dev):

#end = {'in':0, 'out':0}

res = self.readNetInfo_new(dev)

#推遲執(zhí)行的秒數(shù)

time.sleep(2)

#new_recv,new_send = get_net_data()

new_res = self.readNetInfo_new(dev)

recv_data = (new_res['in']-res['in'])/1024/1024

send_data = (new_res['out']-res['out'])/1024/1024

print ("recv_data: %s M, send_data: %s M"%(recv_data, send_data))

return recv_data,send_data

def processcheck(self,cmd):

#cmd='ps -aux | sort -k3nr | head -1'

(status,output) = commands.getstatusoutput(cmd)

#Pid= output.split(' ')[6]

log.logger.info('資源占用top:\\n'+output)

#查看占用內(nèi)存最高的進(jìn)程的PID

#ps aux|head -1;ps aux|grep -v PID|sort -rn -k +4|head

#ps -aux | sort -k4nr | head -1 ,-k3 cpu占用最高,-k4 內(nèi)存占用最高

#root 14668 1.9 0.0 90504 3256 ? Ss 4月23 2811:48 /sbin/rngd -f

#索引:-k3 b.split(' ')[6] 28進(jìn)程路徑(/sbin/rngd)

#索引:-k4 b.split(' ')[4]

if name == " main ":

#10分鐘執(zhí)行一次,數(shù)據(jù)上報(bào)到服務(wù)端,服務(wù)端負(fù)責(zé)報(bào)警

#需要修改的參數(shù):custom,deviceType,netName

custom ='test'

deviceType ='客戶(hù)端服務(wù)器'

#網(wǎng)卡名稱(chēng)

netName = 'ens3f0'

log = Logger('socketclient.logs')

log.logger.info("----start----")

info=clientMonitor()

locatIp = info.getIpAddress(netName)

recv_data,send_data = info.net_loop(netName)

cpuinfo = psutil.cpu_percent(1)

#svmem(total=67268558848, available=32022245376, percent=52.4, used=34601009152, free=29655695360, active=17274105856, inactive=2927910912, buffers=10100736, cached=3001753600, shared=298610688, slab=11243315200)

svmem = psutil.virtual_memory()

meminfo = svmem[2]

disk_root = info.disk_stat('/')

disk_appslog = info.disk_stat('/appslog')

disk_bigdata = info.disk_stat('/bigdata')

#如果CPU或內(nèi)存的占用率大于80%,將占用CPU或內(nèi)存資源最多的進(jìn)程找出來(lái)

issendmsg =1

if(cpuinfo>80 or meminfo>80 or disk_root>80 or disk_appslog>80 or disk_bigdata>80 or recv_data>3000 or send_data>3000):

#發(fā)送預(yù)警郵件

sendmsg=locatIp +' 服務(wù)器資源占用高!請(qǐng)檢查!\\n'

sendmsg += "CPU占用:"+str(cpuinfo)+'\\n'

sendmsg += "內(nèi)存占用:"+str(meminfo)+'\\n'

sendmsg += "/目錄占用:"+str(disk_root)+'\\n'

sendmsg += "/appslog目錄占用:"+str(disk_appslog)+'\\n'

sendmsg += "/bigdata目錄占用:"+str(disk_bigdata)+'\\n'

sendmsg += "網(wǎng)卡接收流量:"+str(recv_data)+'M,發(fā)送流量 '+str(send_data)+'M \\n'

#sendmsg += "網(wǎng)卡10秒發(fā)送流量:"+str(send_data)+'\\n'

log.logger.info(sendmsg)

if cpuinfo>80 :

info.processcheck('ps -aux | sort -k3nr | head -10')

if meminfo>80 :

info.processcheck('ps -aux | sort -k4nr | head -10')

issendmsg = 1

else:

#log.logger.info(locatIp+" 正常")

log.logger.info("CPU使用率:"+str(cpuinfo))

log.logger.info("內(nèi)存使用率:"+str(meminfo))

log.logger.info("/目錄使用率:"+str(disk_root))

log.logger.info("/appslog使用率:"+str(disk_appslog))

log.logger.info("/bigdata使用率:"+str(disk_bigdata))

log.logger.info("網(wǎng)卡接收和發(fā)送情況:接收"+str(recv_data) +"M, 發(fā)送 "+str(send_data)+"M")

#Id,custom,deviceType,IP,cpu,mem,disk_root,disk_appslog,disk_bigdata,networkRecv,networkSend,uploadTime,temp2,temp3,temp4

msg = '1'+'|'+custom+'|'+deviceType+'|'+locatIp+'|'+str(cpuinfo)+'|'+str(meminfo)+'|'+str(disk_root)+'|'+str(disk_appslog)+'|'+str(disk_bigdata)+'|'+str(recv_data)+'|'+str(send_data)+'|'+time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())

if issendmsg ==1:

ip_port = ('IP',port)

sk = socket.socket()

sk.connect(ip_port)

sk.sendall(msg)

data = sk.recv(1024)

if data=='1':

log.logger.info("本地預(yù)警信息傳輸成功!")

else:

log.logger.info("本地預(yù)警信息傳輸失敗!")

sk.sendall('exit')

sk.close()

原文鏈接:https://blog.csdn.net/eagle89/article/details/128579002

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 監(jiān)控
    +關(guān)注

    關(guān)注

    6

    文章

    2205

    瀏覽量

    55178
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    12

    文章

    9129

    瀏覽量

    85348
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    TCP視頻服務(wù)器&客戶(hù)端 - 版本LabVIEW 2012

    客戶(hù)端功能:顯示服務(wù)器采集到的視頻,實(shí)時(shí)調(diào)整服務(wù)器采集視頻的分辨率。客戶(hù)端需要輸入服務(wù)器端的ip地址和端口號(hào)。以這兩個(gè)程序?yàn)榛A(chǔ),可以加個(gè)
    發(fā)表于 01-22 14:22

    一個(gè)服務(wù)器,多個(gè)客戶(hù)端,怎么向指定的客戶(hù)端發(fā)數(shù)據(jù)

    我用labview做服務(wù)器,單片機(jī)做客戶(hù)端客戶(hù)端幾百個(gè),怎么區(qū)分客戶(hù)端,給指定的客戶(hù)發(fā)發(fā)數(shù)據(jù)
    發(fā)表于 06-01 09:26

    求助:labview服務(wù)器如何實(shí)時(shí)訪(fǎng)問(wèn)客戶(hù)端

    畢設(shè)瓶頸,大佬們,怎么設(shè)計(jì)程序,服務(wù)器可以每秒訪(fǎng)問(wèn)一次客戶(hù)端,讀取客戶(hù)端的數(shù)據(jù)?寫(xiě)入電子表格控件可以能插入局部變量嗎?跪謝。
    發(fā)表于 05-14 10:14

    labview-TCP多客戶(hù)端服務(wù)器

    labview-TCP多客戶(hù)端服務(wù)器一個(gè)服務(wù)器上位機(jī),多個(gè)下位機(jī)客戶(hù)端
    發(fā)表于 03-26 16:58

    如何同時(shí)開(kāi)啟服務(wù)器模式和客戶(hù)端模式?

    如題,UCOSII或者FreeRtos下使用LWIP如何同時(shí)開(kāi)啟服務(wù)器模式和客戶(hù)端模式,我這幾天弄了下,單獨(dú)跑其中一個(gè),都好好的,但是同時(shí)跑,客戶(hù)端連接上了,服務(wù)器就不行了,誰(shuí)知道這要
    發(fā)表于 10-31 03:05

    監(jiān)控系統(tǒng)客戶(hù)端服務(wù)端設(shè)計(jì)

    項(xiàng)目開(kāi)發(fā)報(bào)告1 項(xiàng)目簡(jiǎn)介1.1 概述1.2 開(kāi)發(fā)環(huán)境1.3 其他支持1.4 應(yīng)用界面1.4.1 服務(wù)器端1.4.2 客戶(hù)端1.5 程序使用2 項(xiàng)目開(kāi)發(fā)2.1 搭建基于實(shí)驗(yàn)平臺(tái)數(shù)據(jù)庫(kù)2.1.1 數(shù)據(jù)庫(kù)
    發(fā)表于 12-21 07:02

    客戶(hù)端模式是什么?服務(wù)器模式又是什么呢

    客戶(hù)端模式是什么?服務(wù)器模式又是什么呢?怎樣去編寫(xiě)一種服務(wù)器模式程序呢?
    發(fā)表于 02-22 07:44

    通訊貓MQTT服務(wù)器在線(xiàn)客戶(hù)端的問(wèn)題

    我在網(wǎng)上找一個(gè)通訊貓MQTT服務(wù)器在線(xiàn)客戶(hù)端。我有點(diǎn)糊涂,到底是服務(wù)器,還是客戶(hù)端。可以連上,也可以發(fā)數(shù)據(jù),就是不知道跟誰(shuí)連。我從上面下了個(gè)WIN32
    發(fā)表于 11-19 12:17

    計(jì)算機(jī)的客戶(hù)端服務(wù)器

    計(jì)算機(jī)的客戶(hù)端服務(wù)器 一般說(shuō)來(lái),互聯(lián)網(wǎng)上的所有計(jì)算機(jī)可以分成兩種類(lèi)型:服務(wù)器客戶(hù)端。向其他計(jì)算機(jī)提供服務(wù)(如Web
    發(fā)表于 08-05 08:57 ?1842次閱讀

    專(zhuān)家談如何提高服務(wù)器利用率

    專(zhuān)家談如何提高服務(wù)器利用率  如今,數(shù)據(jù)中心節(jié)能已成為熱點(diǎn)話(huà)題,為減少功耗,各大廠(chǎng)商紛紛推出相應(yīng)產(chǎn)品和解決方案。近日,Microsoft的utility
    發(fā)表于 01-27 11:46 ?733次閱讀

    客戶(hù)端服務(wù)器和網(wǎng)絡(luò)技術(shù)

    基于服務(wù)器的計(jì)算代表著一種應(yīng)用程序部署方法。 對(duì)以下基于服務(wù)器的計(jì)算環(huán)境而言,瘦客戶(hù)端是理想的客戶(hù)端設(shè)備: 借助 Windows 2000 或 Windows Server 2003
    發(fā)表于 07-02 16:46 ?17次下載
    瘦<b class='flag-5'>客戶(hù)端</b>的<b class='flag-5'>服務(wù)器</b>和網(wǎng)絡(luò)技術(shù)

    CoolpyCould客戶(hù)端

    一款開(kāi)源的物聯(lián)網(wǎng)服務(wù)器平臺(tái),利用nodejs寫(xiě)成,此文件是CoolpyCould客戶(hù)端
    發(fā)表于 11-06 17:00 ?18次下載

    監(jiān)控服務(wù)器資源利用率服務(wù)端腳本

    其主要目的是:基于 Python 編程語(yǔ)言來(lái)監(jiān)控服務(wù)器的 CPU、內(nèi)存、/目錄、/appslog、/bigdata目錄使用率以及網(wǎng)卡接收和發(fā)送情況。 該腳本部署場(chǎng)景分為:
    的頭像 發(fā)表于 01-22 16:02 ?731次閱讀

    利用Python寫(xiě)了一個(gè)監(jiān)控服務(wù)器資源利用率腳本

    研究了一個(gè)腳本,其主要目的是:基于 Python 編程語(yǔ)言來(lái)監(jiān)控服務(wù)器的 CPU、內(nèi)存、/目錄、/appslog、/bigdata目錄使用率以及網(wǎng)卡接收和發(fā)送情況。
    的頭像 發(fā)表于 01-29 15:08 ?723次閱讀

    服務(wù)器Server和客戶(hù)端Client的區(qū)別

    例如在使用TCP通訊建立連接時(shí)采用客戶(hù)端服務(wù)器模式,這種模式又常常被稱(chēng)為主從式架構(gòu),簡(jiǎn)稱(chēng)為C/S結(jié)構(gòu),屬于一種網(wǎng)絡(luò)通訊架構(gòu),將通訊的雙方以客戶(hù)端(Client )與服務(wù)器 (Serve
    的頭像 發(fā)表于 09-06 16:13 ?1369次閱讀
    <b class='flag-5'>服務(wù)器</b>Server和<b class='flag-5'>客戶(hù)端</b>Client的區(qū)別
    主站蜘蛛池模板: 国产高清视频青青青在线| 亚洲AV 无码AV 中文字幕| 大肥婆丰满大肥奶bbw肥| 日本阿v片在线播放免费| 成人手机在线观看| 日韩专区亚洲国产精品| 国产AV白丝爆浆在线播放| 天美传媒在线完整免费观看网站| 姑娘视频日本在线播放| 天天躁日日躁狠狠躁午夜剧场| 国产精品久久久久秋霞影视| 午夜福利理论片高清在线| 孕妇bbwbbwbbwbbw超清| 国产亚洲精品久久久久久禁果TV| 亚洲成人三级| 九色终合九色综合88| 做你的爱人BD日本| 欧美成人中文字幕在线看| 被窝伦理午夜电影网| 谁有成人网站地址| 国产亚洲精品久久久久苍井松 | 美女扒开腿让男人桶个爽| 97在线视频免费| 日本zljzljzlj精品| 国产精品无码人妻99999| 三级黄色高清视频| 国产精品成人网| 亚洲视频不卡| 毛片免费大全| 超级乱淫片午夜电影网99| 天美传媒MV高清免费看| 精品无码无人网站免费视频 | 别停好爽好深好大好舒服视频| 肉动漫无修3D在线观看| 国产强奷伦奷片| 伊人久久久久久久久久| 女人操男人| 国产成人精品综合在线| 亚洲视频中文字幕在线| 男人插曲女人的叫声| 法国剧丝袜情版h级在线电影|