Linux小知识---利用Snmp远程获取CPU,内存和磁盘使用率_如何获取主机的cpu 内存 snmp oid

在这里插入图片描述

系统参数(1.3.6.1.2.1.1)

OID 描述 备注 请求方式
.1.3.6.1.2.1.1.1.0 获取系统基本信息 SysDesc GET
.1.3.6.1.2.1.1.3.0 监控时间 sysUptime GET
.1.3.6.1.2.1.1.4.0 系统联系人 sysContact GET
.1.3.6.1.2.1.1.5.0 获取机器名 SysName GET
.1.3.6.1.2.1.1.6.0 机器坐在位置 SysLocation GET
.1.3.6.1.2.1.1.7.0 机器提供的服务 SysService GET
.1.3.6.1.2.1.25.4.2.1.2 系统运行的进程列表 hrSWRunName WALK
.1.3.6.1.2.1.25.6.3.1.2 系统安装的软件列表 hrSWInstalledName WALK

网络接口(1.3.6.1.2.1.2)

OID 描述 备注 请求方式
.1.3.6.1.2.1.2.1.0 网络接口的数目 IfNumber GET
.1.3.6.1.2.1.2.2.1.2 网络接口信息描述 IfDescr WALK
.1.3.6.1.2.1.2.2.1.3 网络接口类型 IfType WALK
.1.3.6.1.2.1.2.2.1.4 接口发送和接收的最大IP数据报[BYTE] IfMTU WALK
.1.3.6.1.2.1.2.2.1.5 接口当前带宽[bps] IfSpeed WALK
.1.3.6.1.2.1.2.2.1.6 接口的物理地址 IfPhysAddress WALK
.1.3.6.1.2.1.2.2.1.8 接口当前操作状态[up down] IfOperStatus
.1.3.6.1.2.1.2.2.1.10 接口收到的字节数 IfInOctet WALK
.1.3.6.1.2.1.2.2.1.16 接口发送的字节数 IfOutOctet WALK
.1.3.6.1.2.1.2.2.1.11 接口收到的数据包个数 IfInUcastPkts WALK
.1.3.6.1.2.1.2.2.1.17 接口发送的数据包个数 IfOutUcastPkts WALK

CPU及负载

OID 描述 备注 请求方式
.1.3.6.1.4.1.2021.11.9.0 用户CPU百分比 ssCpuUser GET<
你可以使用Python的PySNMP库来通过SNMP方式获取远程服务器的CPU内存硬盘使用率。以下是一个简单的示例脚本: ```python from pysnmp.hlapi import * # SNMP团体字符串 community_string = 'public' # 远程服务器IP地址 ip_address = '192.168.1.1' # SNMP端口号,默认为161 snmp_port = 161 # CPU利用OID cpu_oid = '1.3.6.1.4.1.2021.11.9.0' # 内存使用率OID memory_oid = '1.3.6.1.4.1.2021.4.6.0' # 磁盘使用率OID disk_oid = '1.3.6.1.4.1.2021.9.1.9.1' # 使用SNMP获取指定OID的值 def get_snmp_value(oid): error_indication, error_status, error_index, var_binds = next( getCmd(SnmpEngine(), CommunityData(community_string), UdpTransportTarget((ip_address, snmp_port)), ContextData(), ObjectType(ObjectIdentity(oid))) ) if error_indication: print(f"SNMP错误:{error_indication}") return None if error_status: print(f"SNMP错误:{error_status.prettyPrint()}") return None for var_bind in var_binds: return var_bind[-1] # 获取CPU利用cpu_usage = get_snmp_value(cpu_oid) print(f"CPU利用率:{cpu_usage}%") # 获取内存使用率 memory_usage = get_snmp_value(memory_oid) print(f"内存使用率:{memory_usage}%") # 获取磁盘使用率 disk_usage = get_snmp_value(disk_oid) print(f"磁盘使用率:{disk_usage}%") ``` 请确保你已经安装了PySNMP库,可以使用以下命令进行安装: ```shell pip install pysnmp ``` 在脚本中,你需要指定远程服务器的IP地址、SNMP团体字符串、SNMP端口号以及要获取OID。然后,使用`get_snmp_value`函数获取相应的OID的值,并打印出来。 注意:这只是一个简单的示例,实际的SNMP OID可能因设备而异。你可以使用SNMP浏览器来查找你所需的OID
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值