python运维实战

https://pypi.python.org/pypi

一、系统信息
1、psutil模块
wget https://pypi.python.org/packages/source/p/psutil/psutil-3.1.1.tar.gz
python setup.py install或者pip install psutil
参考:https://pypi.python.org/pypi/psutil
1)、cpu信息
User Time, System Time, Wait IO, Idle

psutil.cpu_times()
psutil.cpu_count()
psutil.cpu_count(logical=False)
psutil.cpu_percent(interval=1)
psutil.cpu_percent(interval=1, percpu=True)
psutil.cpu_times_percent(interval=1, percpu=False)

2)、内存

psutil.virtual_memory()
psutil.swap_memory()

3)、磁盘

psutil.disk_partitions()
psutil.disk_usage('/')
psutil.disk_io_counters(perdisk=False)
psutil.disk_io_counters(perdisk=True)

4)、网络

psutil.net_io_counters(pernic=True)
psutil.net_connections()
psutil.net_if_addrs()
psutil.net_if_stats()

5)、系统其它信息

psutil.users()
psutil.boot_time()

6)、进程信息

psutil.pids()
p = psutil.Process(7055)
p.name()
p.exe()
p.cwd()
p.cmdline()
p.status()
p.username()
p.create_time()
p.terminal()
p.uids()
p.gids()
p.cpu_times()
p.cpu_percent(interval=1.0)
p.cpu_affinity()
p.cpu_affinity([0])
p.memory_percent()
p.memory_info()
p.memory_info_ex()
p.memory_maps()
p.io_counters()
p.open_files()
p.connections()
p.num_threads()
p.num_fds()
p.threads()
p.num_ctx_switches()
p.nice()
p.nice(10)
p.ionice(psutil.IOPRIO_CLASS_IDLE)
p.ionice()
p.rlimit(psutil.RLIMIT_NOFILE, (5, 5)
p.rlimit(psutil.RLIMIT_NOFILE))
p.suspend()
p.resume()
p.terminate()
p.wait(timeout=3)

psutil.test()

for p in psutil.process_iter():
    print(p)

7)、poopen获取用户启动应用进程信息

p = psutil.Poopen("/usr/local/jdk/bin/java", "", "", "")

2、IP地址模块

from IPy import IP
ip = IP('127.0.0.0/24')
ip.version()
ip.len()
ip.reverseNames()
ip.iptype()
ip.int()
ip.strHex()
ip.strBin()
ip.strNormal(0)
ip.net()
ip.netmark()
ip.broadcast()
IP("192.168.0.0/24").overlaps("129.168.1.0/24")

3、DNS模块
pip3 install dnspython
参考: http://www.dnspython.org/examples.html

import dns.resolver
sosop hou 15 August 2015
blog comments powered by Disqus