linux服务器内存cpu 流量tcp异常信息记录python脚本

#!/usr/bin/python
#coding:utf-8
import commands
import os
import re
import datetime
#if mem util > 30 echo to mem_file_report and cpu util

mem_info = commands.getstatusoutput(‘top -b|head -n30|tail -n24‘)
info = mem_info[1].split(‘\n‘)
count = 0
num = 0
for i in info:
if count == 0:
global header
header = i
if count >= 1:
i_list = i.split()
num_mem = i_list[9].split(‘.‘)[0]
num_cpu = i_list[8].split(‘.‘)[0]
if int(num_mem) >= 40 or int(num_cpu) >= 50:

        with open(‘/opt/scripts/mem_cpu_tcp_check.log‘,‘a‘) as f:
            result = "%s  %s"%(datetime.datetime.now(),i)
            f.write(result + ‘\n‘)
        num+=1
    if count >= 23 and num >= 1:
        with open(‘/opt/scripts/mem_cpu_tcp_check.log‘,‘a‘) as f:
            result1 = "%s  %s"%(datetime.datetime.now(),header)
            f.write(‘\n‘ + result1 + ‘\n‘ + ‘=========================================================‘ + ‘\n‘)

count+=1

#tcp 连接信息详情
tcp_num = commands.getstatusoutput("netstat -antupl|grep ESTABLISHED|wc -l")
#print tcp_num[1]
tcp_info = commands.getstatusoutput("netstat -antupl|grep ESTABLISHED")

if int(tcp_num[1]) >= 100:
with open(‘/opt/scripts/tcp_check.log‘,‘a‘) as f:

                            f.write(‘\n‘ + "============================================================" + ‘\n‘ + str(datetime.datetime.now()) + ‘\n‘ + tcp_info[1])

interface liuliang warning

liuliang = commands.getstatusoutput("iftop -i eth0 -N -P -t -L 50 -s 10")
#liuliang_list = liuliang[1].split(‘\n‘)
#print liuliang[1]
#for i in liuliang_list:

new_num = i.split()[4]

new_num1 = re.findall(r‘\d+‘,new_num)[0]

print new_num1

if int(new_num1) == 0:

liuliang_list.remove(i)

#print ‘\n‘.join(liuliang_list)

receive = liuliang[1].split(‘\n‘)[-7].split()[5]
send = liuliang[1].split(‘\n‘)[-6].split()[5]
#print liuliang[1].split(‘\n‘)[-7].split()[5]
#print liuliang[1].split(‘\n‘)[-6].split()[5]
receive_type = re.findall("Kb|Mb|Gb",receive)[0]
send_type = re.findall("Kb|Mb|Gb",send)[0]

#print re.findall(r‘\d+‘,receive)
#print re.findall(r‘\d+‘,send)
receive_num = re.findall(r‘\d+‘,receive)[0]
send_num = re.findall(r‘\d+‘,send)[0]
if receive_type == "Mb" and send_type == "Mb":
if int(receive_num) >= 40 and int(send_num) >= 40:
with open(‘/opt/scripts/iftop.log‘,‘a‘) as f:
result1 = "%s %s"%(datetime.datetime.now(),header)
time_now = str(datetime.datetime.now())
f.write(‘\n‘ + ‘=========================================================‘ + ‘\n‘ + time_now + ‘\n‘ + liuliang[1])

if receive_type == "Gb" and send_type == "Gb":
with open(‘/opt/scripts/iftop.log‘,‘a‘) as f:
result1 = "%s %s"%(datetime.datetime.now(),header)
time_now = str(datetime.datetime.now())
f.write(‘\n‘ + ‘=========================================================‘ + ‘\n‘ + time_now + ‘\n‘ + liuliang[1])

原文地址:http://blog.51cto.com/12189425/2166090

时间: 2024-10-06 10:35:31

linux服务器内存cpu 流量tcp异常信息记录python脚本的相关文章

查看Linux服务器的CPU详细信息

查看Linux服务器的CPU详细信息 在Linux系统中,CPU的信息在启动的过程中被装载到虚拟目录/proc下的cpuinfo文件中,我们可以通过cat /proc/cpuinfo查看如下: 下面我们来分析其中几个比较重要的指标: processor 逻辑处理器的id. physical id 物理封装的处理器的id. core id 每个核心的id. cpu cores 位于相同物理封装的处理器中的内核数量. siblings 位于相同物理封装的处理器中逻辑处理器的数量. 判断Linux服务

使用Free命令查看Linux服务器内存使用状况(-/+ buffers/cache详解)

free命令可选参数 -b,-k,-m,-g show output in bytes, KB, MB, or GB -h human readable output (automatic unit scaling) -l show detailed low and high memory statistics -o use old format (no -/+buffers/cache line) -t display total for RAM + swap -s update every

查看Linux服务器内存使用情况

一个服务器,最重要的资源之一就是内存,内存够不够用,是直接关系到系统性能的关键所在. 本文介绍如何查看Linux服务器内存使用情况, 1.free命令 free -m [[email protected] ~]# free -m            total       used       free     shared    buffers     cachedMem:          1526        182       1344          0         16  

Cent OS 服务器 netstat下令 查看TCP连接数信息

netstat命令的功能是显示网络连接.路由表和网络接口的信息,可以让用户得知有哪些网络连接正在运作.在日常工作中,我们最常用的也就两个参数,即netstat –an,如下所示: [[email protected]_moban nginx]# netstat -an Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address               Foreign Addre

获取两台linux服务器的cpu、内存、磁盘、网络等信息,可能不是最好的逻辑,但是对于小白的我自己动手收货不少

# coding: utf-8""" 作者:xiaofeng 功能:自动获取阿里云服务器的cpu.内存.磁盘.网络流量等信息,定时生产一个excel文件 版本:v1.1.5 日期:21/11/2019 版本迭代:各模块封装成方法,其中优化cpu计算方法"""import os,timeimport paramikoimport datetimeimport reimport xlwtdef main(): print("欢迎使用Linu

PHP 获取linux服务器性能CPU、内存、硬盘、进程等使用率

数据库配置文件: conn.php <?php define("MONITORED_IP", "172.16.0.191"); //被监控的服务器IP地址 也就是本机地址 define("DB_SERVER", "172.16.7.2"); //存放数据的服务器IP地址 define("DB_USER", "root"); define("DB_PWD",&qu

查看linux服务器内存信息

查看服务器内存信息 dmidecode|grep -P -A5 "Memory\s+Device"|grep Size [[email protected] home]# dmidecode|grep -P -A5 "Memory\s+Device"|grep Size Size: 16384 MB Size: No Module Installed Size: No Module Installed Size: 16384 MB Size: No Module I

用 Python 脚本实现对 Linux 服务器的网卡流量监控

*这篇文章网上已经有相关代码,为了加深印象,我做了相关注释,希望对朋友们有帮助 工作原理:基于/proc文件系统 Linux 系统为管理员提供了非常好的方法,使其可以在系统运行时更改内核,而不需要重新引导内核系统,这是通过/proc 虚拟文件系统实现的./proc 文件虚拟系统是一种内核和内核模块用来向进程(process)发送信息的机制(所以叫做"/proc"),这个伪文件系统允许与内核内部数据结构交互,获取有关进程的有用信息,在运行中(on the fly)改变设置(通过改变内核参

为何我的LINUX服务器内存利用率很高?正确理解LINUX内存使用机制

今天有人告诉我说linux服务器上的内存快不够用了,128G的内存,马上要用光了.我吓了一跳,这台服务器上的应用现在负载很小啊,怎么利用率会很高呢.先用ZABBIX看了下,内存剩余空间还是很大的,还有117G的空余啊.然后又登陆到服务器上用再看下: [[email protected] ~]$ top top - 11:41:03 up 415 days, 1:06, 2 users, load average: 0.17, 0.12, 0.28 Tasks: 847 total, 1 runn