码迷,mamicode.com
首页 > 编程语言 > 详细

Python之运维

时间:2014-11-27 15:49:29      阅读:244      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   ar   color   os   使用   sp   for   

这几日一直研究运维监控的事情,有次看见有一个脚本写的还不错,如今已经找不到地址了 就只能用Python代替shell了

其中原理是 监控 /proc/下的各种文件,/proc/ 顾名思义其为进程的文件,可以看到很多进程信息。具体的请百度吧!

1,cpu负载信息

 1 def cpu_stat(): 
 2         cpuloadStat = {} 
 3         fileopen = open("/proc/loadavg")
 4         fileread = fileopen.read().split()
 5         cpuloadStat[lavg_1]=fileread[0] 
 6         cpuloadStat[lavg_5]=fileread[1] 
 7         cpuloadStat[lavg_15]=fileread[2] 
 8         cpuloadStat[nr]=fileread[3] 
 9         cpuloadStat[last_pid]=fileread[4]
10         fileopen.close() 
11         return cpuStat


2、cpu信息

 1 def cpu_stat(): 
 2         cpu = [] 
 3         cpuinfo = {} 
 4         f = open("/proc/cpuinfo") 
 5         lines = f.readlines() 
 6         f.close() 
 7         for line in lines: 
 8             if line == n: 
 9                 cpu.append(cpuinfo) 
10                 cpuinfo = {} 
11             if len(line) < 2: continue 
12             name = line.split(:)[0].rstrip() 
13             var = line.split(:)[1] 
14             cpuinfo[name] = var 
15         return  

注:如果cpu多的话自行添加

3、内存信息

 1 def memory_stat(): 
 2         mem = {} 
 3         f = open("/proc/meminfo") 
 4         lines = f.readlines() 
 5         f.close() 
 6         for line in lines: 
 7             if len(line) < 2: continue 
 8             name = line.split(:)[0] 
 9             var = line.split(:)[1].split()[0] 
10             mem[name] = long(var) * 1024.0 
11         mem[MemUsed] = mem[MemTotal] - mem[MemFree] - mem[Buffers] - mem[Cached] 
12         return mem 

4、磁盘空间使用

1 def disk_stat(): 
2         import os 
3         hd={} 
4         disk = os.statvfs("/") 
5         hd[available] = disk.f_bsize * disk.f_bavail 
6         hd[capacity] = disk.f_bsize * disk.f_blocks 
7         hd[used] = disk.f_bsize * disk.f_bfree 
8         return hd 

当然Linux运维还可以通过Linux常用的命令。

  如top ps,vmstat 等 给你们个连接上面讲的不一定清楚但是总结还是不错的http://bbs.51cto.com/thread-971896-1.html

总结:

  如果想监控更多的可以研究一下/proc/下面的文件,也可以研究一下Linux命令

  

Python之运维

标签:style   blog   http   ar   color   os   使用   sp   for   

原文地址:http://www.cnblogs.com/wipy/p/4126339.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!