snmp获取服务器硬件信息

python通过snmp协议获取服务器硬件信息,主要是oid
linux下oid固定 windows下硬盘oid会根据电脑磁盘个数改变

from pysnmp.entity.rfc3413.oneliner import cmdgen


class ServerInfo:
    # cpu使用率
    cpuInfo = 0
    # 内存使用率
    memoryInfo = 0
    # 硬盘使用率
    diskInfo = 0


def snmp(ip, oid):
    cg = cmdgen.CommandGenerator()  ##获得CommandGenerator对象
    errorIndication, errorStatus, errorIndex, varBinds = cg.getCmd(
        # 0代表v1,1代表v2c
        cmdgen.CommunityData('my-agent', 'public', 1),  ##社区信息,my-agent ,public 表示社区名,1表示snmp v2c版本,0为v1版本
        cmdgen.UdpTransportTarget((ip, 161)),  ##这是传输的通道,传输到IP 192.168.70.237, 端口 161上(snmp标准默认161 UDP端口)
        oid  ##传送的OID,个人认为MIB值
    )
    # print(varBinds[0][1])
    return varBinds[0][1]  # varBinds返回是一个stulp,含有MIB值和获得值


# 返回Linux信息
def linuxSnmp(ip):
    serverInfo = ServerInfo()
    # cpu使用率
    serverInfo.cpuInfo = 100 - snmp(ip, '.1.3.6.1.4.1.2021.11.11.0')
    # 总内存 memTotal
    memTotal = snmp(ip, '.1.3.6.1.4.1.2021.4.5.0')
    # 使用内存 memAvailable
    memAvailable = snmp(ip, '.1.3.6.1.4.1.2021.4.6.0')
    # memShared
    memShared = snmp(ip, '.1.3.6.1.4.1.2021.4.13.0')
    # memBuffer
    memBuffer = snmp(ip, '.1.3.6.1.4.1.2021.4.14.0')
    # memCached
    memCached = snmp(ip, '.1.3.6.1.4.1.2021.4.15.0')

    # 内存使用率 memUsage
    if (memShared + memBuffer + memCached) > memTotal:
        serverInfo.memoryInfo = round(((memTotal - memAvailable - memBuffer - memCached + memShared) / memTotal * 100),
                                      2)
    else:
        serverInfo.memoryInfo = round(((memTotal - memAvailable - memBuffer - memCached) / memTotal * 100), 2)
    # 硬盘空间百分比
    serverInfo.diskInfo = int(snmp(ip, '.1.3.6.1.4.1.2021.9.1.9.1'))
    return serverInfo


# 返回Windows信息
# def windowsSnmp(ip):
#     serverInfo = ServerInfo()
#     # cpu使用率
#     num = 0
#     sum = 0
#     for m in range(30):
#         s = snmp(ip, '1.3.6.1.2.1.25.3.3.1.2.' + str(m))
#         if str(s) != '':
#             num = num + snmp(ip, '1.3.6.1.2.1.25.3.3.1.2.' + str(m))
#             sum = sum + 1
#
#     serverInfo.cpuInfo = round(num / sum, 2)
#
#     i = getOId(ip)
#     # 内存使用率
#     memTotal = snmp(ip, '1.3.6.1.2.1.25.2.3.1.5.' + str(i))
#     memAvailable = snmp(ip, '1.3.6.1.2.1.25.2.3.1.6.' + str(i))
#     serverInfo.memoryInfo = round(memAvailable / memTotal * 100, 2)
#
#     # 磁盘使用率
#     diskAvailable = 0
#     diskTotal = 0
#     for i in range(i - 2):
#         total = snmp(ip, '1.3.6.1.2.1.25.2.3.1.5.' + str(i + 1))  # * snmp(ip, '1.3.6.1.2.1.25.2.3.1.4.' + str(i + 1))
#         available = snmp(ip,
#                          '1.3.6.1.2.1.25.2.3.1.6.' + str(i + 1))  # * snmp(ip, '1.3.6.1.2.1.25.2.3.1.4.' + str(i + 1))
#         diskTotal += total
#         diskAvailable += available
#     serverInfo.diskInfo = round(diskAvailable / diskTotal * 100, 2)
#     return serverInfo
#
#
# def getOId(ip):
#     i = 1
#     while True:
#         s = snmp(ip, '1.3.6.1.2.1.25.2.3.1.3.' + str(i))
#         if str(s) != 'Physical Memory':
#             i = i + 1
#         else:
#             return i


s = windowsSnmp('127.0.0.1')

print(s.memoryInfo)

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
主机服务器运维管理制度 2013-03-21 发布 2013-03-21 执行 XXXXX 发 布 前 言 为了实现励治支付公司IT规范管理,明确各相关部门职责,规范业务管理,使信息 系统正常、高效安全运行,充分发挥系统的良好作用,特制定本管理制度。 本管理制度由励治支付公司技术部提出、起草、归口并解释。 本管理制度的主要编写人员: 董昱 李启洋 本管理制度的审核人:张宏涛 本管理制度的批准人:王骐恺 本管理制度自发布之日起实施。 执行中的问题和意见,请及时反馈至励治支付公司技术部。 范围 本制度明确了励治支付公司IT的使用规定及工作规范。 本制度适用于励治支付公司IT运维管理工作。励治支付公司所有相关人员均应严格 遵照执行,与信息安全相关的业务也应严格遵守本制度。 二、规范性引用文件 下列文件对于本规范的应用是必不可少的。凡是注日期的引用文件,仅注日期的版 本适用于本规范。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于 本规范。 ——中华人民共和国计算机信息系统安全保护条例 ——中华人民共和国国家安全法 ——中华人民共和国保守国家秘密法 ——计算机信息系统国际联网保密管理规定 ——中华人民共和国计算机信息网络国际联网管理暂行规定 ——ISO27001标准/ISO27002指南 ——公通字[2007]43号 信息安全等级保护管理办法 ——GB/T 21028-2007 信息安全技术 服务器安全技术要求 ——GB/T 20269-2006 信息安全技术 信息系统安全管理要 求 ——GB/T 22239-2008 信息安全技术 信息系统安全等级保护基本要求 ——GB/T 22240-2008 信息安全技术 信息系统安全等级保护定级指南 三、总则 围绕公司打造经营型、服务型、一体化、现代化为总体目标,保障信息化建设,提 高运维能力,保证运维管理系统安全稳定的运行,明确岗位职责、规范系统操作、提高 系统可靠性和维护管理水平,特制定运维管理制度。 本制度凡与上级有关标准和规定有不符的地方,应按上级有关标准规定执行。 一、运维管理系统的范围 运维管理系统主要是针对网络设备服务器、业务应用系统、客户端的pc机进行维 护和管理。 二、IT运维管理系统的维护职责 1、系统管理人员负责IT运维服务器硬件的巡检和维护,负责操作系统的巡检和维护,负 责硬件及操作系统故障的及时处理,负责系统级用户和密码的管理,负责操作系统配置 的优化,为IT运维管理系统数据库和应用的正常运行提供安全可靠的平台。 2、IT运维管理系统应用管理人员负责该系统数据库和应用的维护工作,内容包括: 在数据库中管理IT运维管理系统的用户及权限,数据备份及巡检工作。以及IT运维管理 系统应用层的用户及权限的管理,对本系统用户发生问题的响应。 三、网络安全管理 1、组织工作人员认真学习《计算机信息网络国际互联网安全保护管理办法》,提高工 作人员的维护网络安全的警惕性和自觉性。 2、负责对本网络用户进行安全宣传,使用户自觉遵守和维护《计算机信息网络国际 互联网安全保护管理办法》,使他们具备基本的网络安全知识。 3、加强对信息发布系统的信息发布的审核管理工作,杜绝违犯《计算机信息网络国 际互联网安全保护管理办法》的内容出现。 4、数据业务部门根据系统网络的结构,制定详细的网络资源访问控制策略。经公司 生产技术部审批后,方可实施。 5、生产技术部都应该对公司所有数据网络设备的访问进行控制,控制范围: 5.1、控制台访问控制 5.2、限制访问空闲时间 5.3、口令的保护 5.4、对Telnet访问的控制 5.5、多级管理员权限 5.6、简单网络管理协议(SNMP)访问控制。 6、防火墙可以实现比路由器(交换机)更加细化的访问控制,合理配置的防火墙是 保证访问控制策略的有力手段。防火墙可以实现基于IP地址、域名和用户身份等的访问 控制。如网络内使用防火墙,则必须制订适当的安全策略,并与网络规划保持一致。防 火墙应开放最少的服务端口。如需对开放端口或更改安全区域设置,需上报公司生产技 术部局端运行人员,经审批后方可实施。 7、主机安全。UNIX类主机和LINUX主机本身的资源访问控制手段是整个访问控制体 系的最后堡垒。需对访问权限进行控制。 8、所有计算机均应安装杀毒软件,避免形成防护体系的薄弱环节。在购买产品时, 【网络版】授权安装的服务器和客户机数量应大于或等于实际的数量。 9、强制每台计算机开启杀毒软件实时监控功能。 9.1、在每台服务器和客户机上设定合理的定时扫描频率。 9.2、每次手动查杀病毒时,选择扫描所有文件。 9.3、在重要服务器或客户机上选定"清除之前备份带毒文件"功能。 9.4、系统管理员通过控制台获得某台服务器或客户机染毒信息后, 应针对该计算机进行专门处理
华为eSight服务器管理软件解决方案 目录 Click to add Title 服务器管理软件的诉求 Click to add Title 华为服务器管理软件全景图 Click to add Title 华为服务器管理解决方案 Click to add Title 1 2 3 4 Q&A 企业IT 基础设施管理5大难题 2 据Forrester公布的数据显示,企业70%的IT投资被传统的运维消耗 目录 Click to add Title 服务器管理软件的诉求 Click to add Title 华为服务器管理软件全景图 Click to add Title 华为服务器管理解决方案 Click to add Title 1 2 3 4 Q&A 3 华为服务器管理软件全景图 Third-party software 注:如下两个解决方案不在此胶片中描述,更多信息 请搜索3MS 1. FusionSphere—虚拟化管理软件 2. ManageOne—数据中心管理解决方案 Centerlized Management Software Embedded Management Software or Tools iBMC/HMM uMate/iBMA ServiceCD 华为服务器提供全维度、分层、分级的管理解决方案 4 目录 Click to add Title 服务器管理软件的诉求 Click to add Title 华为服务器管理软件全景图 Click to add Title 华为服务器管理解决方案 Click to add Title 1 2 3 4 Q&A 5 服务器管理软件的分类 NBI:XML/REST/SNMP 基于ITIL 标准的管理系统 服务器 存储设备 交换机 DC/企业 虚 虚 拟 拟 机 机 虚拟机 OS PP O O S S A A A P PP 华为 业界 ManageOne eSight SNMP/IPMI/Restful HP OneView IBM Director DELL OpenManager Cisco UCSM HP iLO/OA IBM IMM DELL iDrac HP OpenView Cisco UCSD IBM Tivoli BMC Software CA 6 Inspur/LenovoAMI(OEM) Fujistu ServerView HP SUM iBMC/iBMA HMM Tools 嵌入式管理软件与工具——iBMC 7 带内管理与带外管理 X86 8 系 统 BMC 系 统 X86 系统:即业务系统,基于它的管理称为带内管理 BMC系统:即管理系统,基于它的管理称为带外管理 通过带外管理设备有什么好处? 1. 标准化:业界认可的平台管理标准 2. 安全可靠:业务通道与管理通道隔离,互不干扰 3. 可管理:All Phase Manageability,不依赖服 务 器的CPU,OS,软件的状态,在故障时也不 会影响对其的管理 iBMC特性一:全面的硬件监控 电压:多值 温度:多值 CPU 内存 PCIe 硬盘 风扇 电源 通过SNMP Trap 提交给上层 网管,支持email远程通知; 及时反馈给运维人员设备的 当前健康状态 9 iBMC特性二:"零"接触运维 虚拟KVM:支持24位真彩色,支持图像文字分区算法,更 小的码率,更高的图像质量。 虚拟媒体:将管理端光驱、软驱、文件夹等设备虚拟到远 端服务器,可用于远程引导系统、安装应用、维护管理。 SOL(Serial over LAN):通过网络将串口延长到远端,管 理员可在网络任一点接入。 10 iBMC特性三:可集成能力 被管理设备 北 向 接 口 人机接口 北向接口:当前支持SNMPV1/2c/3、IPMI,CLI 未 来会支持Restful接口,但不会支持CIM、SMASH、 WS-MAN接口。支持二次开发,支持批量管理。 人机接口:Web(https)、CLI 系统管理软件 11 iBMC特性四:基于BMC的带外故障管理系统 全方位诊断 核心关键技术 CPU 内存 PCIe设备 SD设备 RAID SSD HDD 电源 风扇 带外故障处理系统 故障诊断专家库 PFAE 主动错误分析引擎 建立一套通用的以BMC为管理中心带外的x86系统硬件故障处理系统, 实现对硬件故障智能分析和精准定位 12 友商服务器死机故障处理情况 友商的故障处理分析方法: 1. 各友商与我们以前的处理方式基本相同; 2. 依赖OS做故障数据的收集与处理; 3. 故障定位分析一般通过下电后运行诊断测试程序、故障复现、设备替换、压力拷机测试等方法获取线索后人工综合分析; Dell PowerEdge R730xd: BMC告警

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值