1、python脚本——监测服务器状态,,监测服务器状态获取系


监测服务器状态


获取系统性能信息

1、CPU信息:

Linux操作系统的CPU利用的几个部分:

User Time;SystemTime;Wait IO;Idle

psutil.cpu_times()

psutil.cpu_times().user

psutil.cpu_count()

2、内存信息

psutil.virtual_memory() #查看内存完整信息

psutil.swap_memory() #查看swap分区信息

3、磁盘信息

psutil.disk_io_counters() #获取硬盘IO总数

psutil.disk_usage(‘/’) #获取分区的使用情况

psutil.disk_io_counters(perdisk=True)#获取单个分区的IO个数

4、网络信息

psutil.net_io_counters #查看网络总的IO数

5、其他信息

psutil.users() #查看当前使用用户

psutil.boot_time() #查看当前开机时间

datetime.datetime.fromtimestamp(psutil.boot_time()).strftime("%Y-%m-%d%H:%M:%S") #使用datetime模块格式时间戳

系统进程管理方法:

1、 进程信息

p = psutil.Process(进程ID) #实例化一个Process对象,

p.name() #进程名

p.exe() #进程bin路径

p.cwd() #进程目录的绝对路径

p.status() #进程状态

p.create_time() #进程创建时间

p.uids() #进程uid信息

p.gids() #进程gid信息

2、地址处理模块IPy

通过version()方法区分IP地址是IP4或者IP6类型

例:IP(‘8.8.8.8’).version()

输出该网段的所有IP地址:

ip=IP(‘192.168.118.0/24’)

for x in ip:

print(x)

定制不同输出类型的网段,输出类型为string

ip=IP(‘192.168.118.0/24’)

ip.strNormal(0) 无返回,如192.168.118.0

ip.strNormal(1)prefix格式,如192.168.118.0/24;

ip.strNormal(2),decimalnetmaskt格式,如192.168.118.0/255.255.255.0

ip.strNormal(3),lastIP格式,如192.168.1.0-192.168.118.255

网络信息检测方法:

判断输入的IP或子网返回网络、掩码、广播、反响解析、子网数和IP类型等信息

#!/bin/env python

from IPy import IP

ips=input(‘please input you IP address\n‘)

ip=IP(ips)

if(ip.len()>1):

print(‘net: %s‘ % ip.net());

print(‘netmask: %s‘ % ip.netmask())

print(‘broadcast: %s‘% ip.broadcast())

print(‘reverse address %s‘ % ip.reverseNames()[0])

print(‘subnet: %s‘ % ip.len())

else:

print(‘reverse address %s‘ % ip.reverseNames());

print(‘heaxdemical: %s‘ % ip.strHex());

print(‘binary ip: %s ‘ % ip.strBin());

print(‘iptype :%s‘ % ip.iptype());

dnspython模块解析域名

A记录

#!/usr/bin/env python

from dns import resolver

domain=input(‘please input you domain name:\n‘) #请输入域名地址

A=resolver.query(domain,‘A‘) #指定类型为A记录

for i in A.response.answer:

for j in i.items:

print(j.address)

MX记录

#!/usr/bin/env python

from dns import resolver

domain = input(‘please input domain name: ‘)

MX = resolver.query(domain,‘MX‘)

for i in MX:

print(‘MX preference: ‘,i.preference,‘mail exchange: ‘,i.exchange)

NS记录

#!/usr/bin/env python

from dns import resolver

domain = input(‘pelase input you domain name: ‘)

NS = resolver.query(domain,‘NS‘)

for i in NS.response.answer:

for j in i.items:

print (j.to_text())

CNAME记录

#!/usr/bin/env python

from dns import resolver

domain = input(‘pelase input you domain name: ‘)

NS = resolver.query(domain,‘NS‘)

for i in NS.response.answer:

for j in i.items:

print (j.to_text())


本文出自 “Linux系统运维” 博客,请务必保留此出处http://mbb97.blog.51cto.com/13129388/1983859

1、python脚本——监测服务器状态

相关内容

    暂无相关文章

评论关闭