机器信息采集脚本.doc
《机器信息采集脚本.doc》由会员分享,可在线阅读,更多相关《机器信息采集脚本.doc(12页珍藏版)》请在三一办公上搜索。
1、机器信息采集脚本(python)目录一、做什么的?2二、怎么做?4(1)、依赖的库4(2)、命令行解析模块 optparse4(3)windows系统信息4(4)Linux系统信息74.1 cpu信息74.2 network信息94.3 存储信息10(5)数据库信息11(6)已经测试环境117.SunOS sunv440 不支持12标签:脚本,python,系统管理员,命令行,解析器,操作系统源代码位置: (希望大家能多多star收藏和fork改进程序)一、做什么的?(1)主要用于采集服务器的相关信息,提供两种交互方式,一种是将服务器信息汇总至xml文件中,便于软件开发者使用(图1);另一种方
2、式通过命令行交互的方式,通过输入参数信息查询相关信息(图2)。 图1图2(2)主要功能 uname : 操作系统版本 、型号 、处理器、机器名等 CPU :型号 、数量 、使用率等 network : 网卡信息、MAC、IP、子网掩码、网络I/O等 memory : 内存大小、使用率、可用大小等 存储 : 类型、大小、使用情况、磁盘I/O等 数据库版本和安装路径:Mysql、oracle、sqlserver、sybase、db2二、怎么做?(1)、依赖的库psutil库 下载地址:https:/pypi.python.org/pypi/psutilwindows系统需要安装WMI库 下载地址:
3、https:/pypi.python.org/pypi/WMI/#downloads 这个库在安装之前要安装pywin32(2)、命令行解析模块 optparse功能强大,且易于使用,可以方便地生成标准的、符合Unix/Posix规范的命令行说明。文档说明中文翻译:(3)windows系统信息WMI 最初于1998年作为一个附加组件与 Windows NT 4.0 Service Pack 4 一起发行,是内置在Windows 2000、 Windows XP和Windows Server 2003 系列操作系统中核心的管理支持技术。基于由 Distributed Management Tas
4、k Force (DMTF) 所监督的业界标准,WMI是一种规范和基础结构,通过它可以访问、配置、管理和监视几乎所有的Windows资源。大多用户习惯于使用众多的图形化管理工 具来管理Windows资源,在WMI之前这些工具都是通过 Win32应用程序编程接口(Application ProgrammingInterfaces,API)来访问和管理Windows资源的。只要你熟悉系统编程你就知道API有多么重要。但是大多数脚本 语言都不能直接调用Win32 API,WMI的出现使得系统管理员可以通过一种简便的方法即利用常见的脚本语言实现常用的系统管理任务。利用WMI需要和脚本如WSH和VBSc
5、ript结合起来,可以实现的功能大家可以看微软的MSDN文档。因此基本上windows系统能表现出来,你都可以通过这个模块获取,具体的可参考下面代码:#!/usr/bin/env python# -*- coding: utf-8 -*-try:import wmiimport win32apiexcept ImportError:wmi = Noneimport sys,platformimport subprocessimport osdef get_system_info(c,sys):if sys = Windows:for sys in c.Win32_OperatingSystem
6、():print Version :t%s % sys.Caption.encode( GBK)print Vernum :t%s % sys.BuildNumberdef get_memory_info(c,sys):if sys = Windows:for mem in c.Win32_MemoryArray():print t + str(mem.Caption) + t + str(mem.Name)cs = c.Win32_ComputerSystem()pfu = c.Win32_PageFileUsage()MemTotal = int(cs 0.TotalPhysicalMem
7、ory)/ 1024/1024print TotalPhysicalMemory : + t + str(MemTotal) + M#tmpdict MemFree = int( sys0.FreePhysicalMemory)/1024SwapTotal = int(pfu 0.AllocatedBaseSize)print SwapTotal : + t + str(SwapTotal) + M#tmpdict SwapFree = int( pfu0.AllocatedBaseSize - pfu0.CurrentUsage)def get_disk_info(c,sys,infolis
8、t):if sys = Windows:tmpdict = dict()tmplist=list()for physical_disk in c.Win32_DiskDrive():if physical_disk.Size:tmpdict disk=str(physical_disk.Caption)tmpdictsize =str(long(physical_disk.Size)/1024/1024/1024)+Gtmpdict dev = str(physical_disk.MediaType)tmplist.append(tmpdict)print tmpdictdev +:t+tmp
9、dictdisk + :t + tmpdictsize infolist.append(tmplist) def get_cpu_info(c,sys,infolist):if sys = Windows:tmplist=list()tmpdict=dict()tmpdict CpuCores = 0for cpu in c.Win32_Processor(): tmpdict model name = cpu.Nametry:tmpdict CpuCores = cpu.NumberOfCoresexcept:tmpdict CpuCores += 1tmpdict CpuClock = c
10、pu.MaxClockSpeed print CpuType :t + str(tmpdictmodel name)print CpuCores :t + str(tmpdictCpuCores)tmplist.append(tmpdict)#infolist.append(tmplist)return tmplistdef get_network_info(c,sys,infolist):if sys = Windows:tmplist=list()for interface in c.Win32_NetworkAdapterConfiguration (IPEnabled=1):tmpdi
11、ct=dict()tmpdict Description = interface.Descriptiontmpdict IPAddress = interface.IPAddress0 tmpdict IPSubnet = interface.IPSubnet0 tmpdict MAC = interface.MACAddresstmplist.append(tmpdict)for i in tmplist:print iDescriptionprint t + MAC : + t + iMAC print t + IPAddress : + t + iIPAddress print t +
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 机器 信息 采集 脚本
链接地址:https://www.31ppt.com/p-4046110.html