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())

时间: 2024-11-05 16:37:27

1、python脚本——监测服务器状态的相关文章

用Python脚本监测.py脚本的进程状态,并实现中断重启。

用Python脚本监测.py脚本的执行状态,并实现中断重启. #!/usr/bin/python # -*- coding:utf-8 -*- import subprocess,time,sys TIME = 10                        #程序状态检测间隔(单位:分钟) CMD = "get_bjipku.py"                 #需要执行程序的绝对路径,支持jar 如:D:\\calc.exe 或者D:\\test.jar class Aut

python脚本采集服务器数据通过API提交到django web服务器,然后展示在页面上

采集服务器的信息的python程序 #coding:utf-8 import psutil import urllib import urllib.request import urllib.parse #import urllib2 import requests #获取数据 cpuData = psutil.cpu_times() #处理数据 cpuMax = cpuData.user+cpuData.system+cpuData.idle cpuUsed = cpuData.user+cp

python脚本获取服务器外部连接IP并取出非本地服务器程序有关联的IP

#!/bin/env python #-*- coding:utf-8 -*- import os import sys from subprocess import Popen def get_foriegn_ip():         l = os.popen("netstat -ant|grep ESTABLISHED|awk '{print $5}'|awk -F: '{print $1}'|sort -r|uniq -c |awk '{print $2}'|grep -v 'and'|

用 Python 脚本实现对 Linux 服务器的监控

hon 分享到:8 原文出处: 曹江华 目前 Linux 下有一些使用 Python 语言编写的 Linux 系统监控工具 比如 inotify-sync(文件系统安全监控软件).glances(资源监控工具)在实际工作中,Linux 系统管理员可以根据自己使用的服务器的具体情况编写一下简单实用的脚本实现对 Linux 服务器的监控. 本文介绍一下使用 Python 脚本实现对 Linux 服务器 CPU 内存 网络的监控脚本的编写. Python 版本说明 Python 是由 Guido va

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

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

通过脚本判断远程Web服务器状态码是否正常

通过脚本判断远程Web服务器状态码是否正常 说明: (1)生产环境常见的HTTP状态码列表,请查看我的博文:http://wutengfei.blog.51cto.com/10942117/1934645 (2)实验中远程nginx服务器IP地址:192.168.100.114 本地客户端IP地址:192.168.100.118 脚本如下 方法1:if #!/bin/bash httpcode=`curl -I -s 192.168.100.114|head -1|cut -d " "

python批量操作Linux服务器脚本,ssh密码登录(执行命令、上传、下载)(一)

1 #-*- coding: utf-8 -*- 2 #批量操作linux服务器(执行命令,上传,下载) 3 #!/usr/bin/python 4 import paramiko 5 import datetime 6 import os 7 import threading 8 def ssh2(ip,username,passwd,cmd): 9     try:10         paramiko.util.log_to_file('paramiko________.log')11  

python批量操作Linux服务器脚本,key登录(执行命令、上传、下载)(二)

1 #-*- coding: utf-8 -*-   2 #批量操作linux服务器(执行命令,上传,下载)   3 #!/usr/bin/python   4 import paramiko   5 import datetime   6 import os   7 import threading   8 def ssh2(ip,username,privatekeyfile,keypwd,cmd):   9     try:  10         paramiko.util.log_to

Linux服务器CPU、内存、磁盘空间、负载情况查看python脚本

网上搜,东拼西凑,组装了一个可以查Linux服务器CPU使用率.内存使用率.磁盘空间占用率.负载情况的python脚本. 脚本内容如下: # -*- coding:utf-8 -*- - import os, time last_worktime=0 last_idletime=0 def get_cpu(): global last_worktime, last_idletime f=open("/proc/stat","r") line=""