import re
import os
import sys
import json
import socket
from urllib import request,parse
import urllib
from subprocess import PIPE,Popen
class SendData:
def __init__(self,IpAddr,serverHost,serverPort=8000):
"""

"""
self.result={"system":"linux","Ip":IpAddr}
self.host=serverHost
self.port=serverPort
self.url="http://%s:%s/api/savedata" %(self.host,self.port)
print(self.url)
self.headers={"User-Agent":"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Mobile Safari/537.36"}

def getInfo(self,command):
"""

"""
with os.popen(command) as f:
com=f.read()
return com
def All_Command(self):
commands=[
"hostname",
"ifconfig |awk -F' ' '/HWaddr/{print $5}'",
"cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c",
"free -m | awk '{print $4}'| sed -n '2p'",
"df -h | awk '{print $4}'|sed -n '2p'",
"uname -r"
]
result=list(map(self.getInfo,commands))
return result

def my_dict(self):
dicts=self.All_Command()
self.result["Host"]=dicts[0].strip()
self.result["Mac"]=dicts[1].strip()
self.result["Cpu"]=dicts[2].strip()
self.result["Mem"]=dicts[3].strip()
self.result["Disk"]=dicts[4].strip()
self.result["Name"]=dicts[5].strip()

return self.result

def sendData(self):
data=parse.urlencode(self.result).encode('utf-8')
req=request.Request(self.url,headers=self.headers,data=data)
page=request.urlopen(req).read()
return page

s=SendData("192.168.1.23","192.168.1.102")
print(s.sendData())

获取linux性能数据的更多相关文章

  1. java调用windows的wmi获取设备性能数据

    java调用windows的wmi获取监控数据(100%纯java调用windows的wmi获取监控数据) 转:http://my.oschina.net/noahxiao/blog/73163 纯j ...

  2. adb获取Android性能数据

    环境:Android测试环境 搭建Android测试环境: 1.下载AndroidSDK: 2.配置环境变量: (1).ANDROID_HOME (2).ANDROID_HOME-TOOLS (3). ...

  3. 使用LoadRunner脚本采集Linux性能数据

    前面介绍过在LoadRunner的Java协议实现“使用SSH连接Linux”.下面的脚本,是在LoadRunner里连接Linux/Unix远程服务器,收集其磁盘IO的负载到测试结果. 涉及到三个知 ...

  4. Android系统下,用adb实现自动获取应用性能数据

    [自动化测试模式] 支持以adb shell命令的形式启动和运行.需要注意的是,office系列软件可能会更改命令中的字符,导致命令不可用!请手工输入命令,或从附带的command.txt文本中复制. ...

  5. php获取linux服务器CPU、内存、硬盘使用率的实现代码

    define("MONITORED_IP", "172.16.0.191"); //被监控的服务器IP地址 也就是本机地址 define("DB_SE ...

  6. 性能测试 基于Python结合InfluxDB及Grafana图表实时采集Linux多主机性能数据

    基于Python结合InfluxDB及Grafana图表实时采集Linux多主机性能数据   by:授客 QQ:1033553122 实现功能 测试环境 环境搭建 使用前提 使用方法 运行程序 效果展 ...

  7. 性能测试 基于Python结合InfluxDB及Grafana图表实时采集Linux多主机或Docker容器性能数据

    基于Python结合InfluxDB及Grafana图表实时采集Linux多主机性能数据   by:授客 QQ:1033553122 实现功能 1 测试环境 1 环境搭建 3 使用前提 3 使用方法 ...

  8. PHP 获取linux服务器性能CPU、内存、硬盘、进程等使用率

    数据库配置文件: conn.php <?php define("MONITORED_IP", "172.16.0.191"); //被监控的服务器IP地址 ...

  9. .NET/C# 反射的的性能数据,以及高性能开发建议(反射获取 Attribute 和反射调用方法)——转载

    原文链接:https://blog.walterlv.com/post/dotnet-high-performance-reflection-suggestions.html ***** 大家都说反射 ...

随机推荐

  1. HCW 19 Team Round (ICPC format) H Houston, Are You There?(极角排序)

    题目链接:http://codeforces.com/gym/102279/problem/H 大致题意: 你在一个定点,你有个长度为R的钩子,有n个东西在其他点处,问你能勾到的东西的数量是多少? 思 ...

  2. Gerrit Handbook for Commercial Project

    前注:常见‘坑’ 不要使用 2.14 版本 gerrit.conf 中 [sendemail] 部分必须有 from = ... 字段,否则无法添加邮箱 gerrit 以用户组为单位划分权限,先将用户 ...

  3. 在命令行中运行Hadoop自带的WordCount程序

    1.启动所有的线程服务 start-all.sh 记得要查看线程是否启动 jps 2.在根目录创建 wordcount.txt 文件 放置一些数据 3.创建  hdfs dfs -mkdir /文件夹 ...

  4. [已解决]报错UnicodeDecodeError

    输出报错: UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc4 in position 220: in 解决方案:将编码方式utf-8 修 ...

  5. Redis数据结构之整数集合-intset

    当一个集合只包含整数值元素,并且这个集合的元素数量不多时,Redis会使用整数集合(intset)来存储集合元素. intset是紧凑的数组结构,同时支持16位.32位和64位整数. 结构 struc ...

  6. CentOS 7 用 yum 安装 Nginx

    在 CentOS 7 中,直接使用 yum 安装 Nignx 会提示无下载源.因此,需要添加 Nginx 的下载源到 yum: sudo rpm -Uvh http://nginx.org/packa ...

  7. c# mvc 简洁大气官网---源码

    结构

  8. eclipse打包jar及第三方jar包一起导出(生成SDK)

    一.前言: 因公司需求,需要将某个工具类供外部使用,所以需要生成jar文件.但是jar内还包含了第三方的jar,普通的打包方式无法将lib下的第三方jar包提取. 这将会导致工具jar无法运行,或Ex ...

  9. Eureka注册中心是什么?

    Eureka注册中心是什么? Eureka注册中心是什么? Eureka是Netflix开发的服务发现组件,本身是一个基于REST的服务.Spring Cloud将它集成在其子项目spring-clo ...

  10. ZMQ面面观

    ZMQ是什么? 这是个类似于Socket的一系列接口,他跟Socket的区别是:普通的socket是端到端的(1:1的关系),而ZMQ却是可以N:M 的关系,人们对BSD套接字的了解较多的是点对点的连 ...