# -*- coding:utf-8 -*-
import paramiko
from config import ip_list,user,passwd
import time
def get_system_information(ip,user,passwd):
print ip
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(ip, 22, username=user, password=passwd, timeout=4)
dict = {}
#获取内存信息
stdin, stdout, stderr = client.exec_command('cat /proc/meminfo')
for std in stdout.readlines():
if std.split(":")[0]=="MemTotal":
total_memory = int(std.split(":")[1].strip()[:-3])
elif std.split(":")[0]=="MemFree":
free_memory=int(std.split(":")[1].strip()[:-3])
elif std.split(":")[0]=="Buffers":
Buffers = int(std.split(":")[1].strip()[:-3])
elif std.split(":")[0]=="Cached":
Cached = int(std.split(":")[1].strip()[:-3])
dict["total_memory"]=total_memory
dict["free_memory"] =total_memory-free_memory-Buffers-Cached
#获取cpu核数
stdin, stdout, stderr = client.exec_command('cat /proc/cpuinfo')
n=0
for std in stdout.readlines():
if std.split(":")[0]=="model name ":
n+=1
dict["cpu_code"]=n
stdin, stdout, stderr = client.exec_command('cat /etc/sysconfig/network')
for std in stdout.readlines():
lis = std.split("=")
if lis[0]=="HOSTNAME":
dict["hostname"]=lis[1].strip()
#获取cpu运行状态
stdin, stdout, stderr = client.exec_command('cat /data/system/rate.txt')
for std in stdout.readlines():
lis = std.split(":")
if lis[0]=="CPU":
dict["cpu"]=lis[1].strip()
if lis[0]=="RAM":
dict["ram"]=lis[1].strip()
if lis[0]=="STATUS":
dict["status"]=lis[1].strip()
#获取ip
stdin, stdout, stderr = client.exec_command("ifconfig eth0 | grep 'inet addr' | awk '{ print $2}' | awk -F: '{print $2}'")
dict["ipaddr"]= stdout.read().strip()
#获取线程数
stdin, stdout, stderr = client.exec_command("ls /proc")
n=0
for std in stdout.readlines():
std1 = std.strip()
if std1.isdigit():
n+=1
dict["thread"]=n
dict["time"]=int(time.time())
dict["RAM"]=float('%.3f' %( dict["free_memory"]*1.0/dict["total_memory"]))*100
print dict["free_memory"],dict["total_memory"]
client.close()
return dict
def get_all_system():
result = []
for ip in ip_list:
dict = get_system_information(ip,user,passwd)
result.append(dict)
return result
def get_node_system(ip):
dict = []
dict = get_system_information(ip,user,passwd)
return dict
if __name__ == '__main__':
print get_all_system()
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
毕业设计:基于python的系统监控.zip (25个子文件)
Graduation Design
system.log 29.61MB
start.sh 48B
run.py 369B
config.pyc 117B
monitor
__init__.py 1KB
neo4j
__init__.py 0B
__init__.pyc 133B
views.pyc 879B
neo4jget.py 2KB
neo4jget.pyc 2KB
views.py 400B
cpu_web
__init__.py 0B
views.py 163B
__init__.pyc 1KB
control
es_demo.pyc 2KB
__init__.py 0B
system_message.pyc 3KB
es_demo.py 3KB
system_message.py 3KB
__init__.pyc 135B
views.pyc 3KB
config.pyc 249B
views.py 2KB
config.py 70B
config.py 0B
共 25 条
- 1
资源评论
学术菜鸟小晨
- 粉丝: 1w+
- 资源: 4928
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功