pcmon 파이썬버젼
#!/usr/bin/python
# author wyseburn(at)gmail.com
from commands import getoutput
from urllib2 import urlopen
fp = open('/root/cron/pcmon.ini', 'r')
ip = fp.readline().strip()
target = fp.readline().strip()
proc = fp.readline().strip().split('|')
fp.close()
cpu_idle = getoutput("mpstat 1 1 | awk '/Average:/ {print $10}'")
cpu = 100.0 - float(cpu_idle)
load_avg = getoutput("cat /proc/loadavg | awk '{print $1}'")
mem = '|'.join(getoutput("free -m | awk '/Mem:/ {print $4} /cache:/ {print $4} /Swap:/ {print $3; print $4;}'").split('\n'))
disk = '|'.join(getoutput("df --block-size=1M -t ext3 | awk '/\// {print $6; print $4; print $5;}'").split('\n'))
ps_succ = []
ps_fail = []
for i in proc:
if getoutput("pgrep "+i+" | wc -l") != '0':
ps_succ.append(i)
else:
ps_fail.append(i)
con = urlopen(target + '&ip=' + ip + '&cpu='+ str(cpu) + '&load=' + load_avg + '&mem=' + mem + '&disk=' + disk + '&succ=' + ('|'.join(ps_succ)) + '&fail=' + ('|'.join(ps_fail)))
con.close()