首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

正在从pysnmp中的自定义MIB的OID检索objectname

pysnmp是一个用于实现SNMP(Simple Network Management Protocol,简单网络管理协议)的Python库。MIB(Management Information Base,管理信息库)是SNMP中用于管理网络设备的一种标准化的数据库。OID(Object Identifier,对象标识符)是用于唯一标识MIB中的每个对象的一串数字。

自定义MIB指的是用户根据自己的需求扩展或定义的MIB。在pysnmp中,可以使用OID来检索MIB中定义的objectname。

当需要从pysnmp中的自定义MIB的OID检索objectname时,可以按照以下步骤进行:

  1. 确定自定义MIB的OID:自定义MIB的OID是唯一标识该MIB的一串数字。可以通过查看MIB文件或与MIB开发者确认来获取自定义MIB的OID。
  2. 导入pysnmp库:首先需要导入pysnmp库,以便在Python代码中使用SNMP功能。
  3. 创建SNMP会话:使用pysnmp库创建一个SNMP会话,以便与网络设备进行通信。
  4. 构建OID对象:使用pysnmp库的ObjectType类来构建一个OID对象,将自定义MIB的OID作为参数传入。
  5. 发送SNMP请求:使用pysnmp库的getCmd函数发送SNMP请求,将构建的OID对象作为参数传入。此操作将触发对指定OID的objectname的检索。
  6. 处理SNMP响应:根据SNMP请求的结果,可以通过解析响应报文来获取所需的objectname。

举例来说,假设自定义MIB的OID为1.3.6.1.4.1.12345。以下是一个使用pysnmp来检索自定义MIB的OID的示例代码:

代码语言:txt
复制
from pysnmp.hlapi import *

# 创建SNMP会话
snmp_session = SnmpEngine()

# 构建OID对象
oid = ObjectType(ObjectIdentity('1.3.6.1.4.1.12345'))

# 发送SNMP请求
error_indication, error_status, error_index, var_binds = next(
    getCmd(snmp_session, CommunityData('public'), UdpTransportTarget(('localhost', 161)), ContextData(), oid)
)

# 处理SNMP响应
if error_indication:
    print('SNMP请求错误:{}'.format(error_indication))
else:
    if error_status:
        print('SNMP错误:{} at {}'.format(error_status.prettyPrint(), error_index and var_binds[int(error_index)-1] or '?'))
    else:
        for var_bind in var_binds:
            print('objectname = {}'.format(var_bind.prettyPrint()))

请注意,上述代码中的CommunityData、UdpTransportTarget等参数是用于配置SNMP会话的相关信息,可以根据实际情况进行修改。

腾讯云提供了云监控(Cloud Monitor)产品,用于监控和管理云上资源的状态和性能。云监控支持SNMP协议,可以与pysnmp等Python库配合使用,对自定义MIB的OID进行检索。具体的腾讯云云监控产品介绍可以参考腾讯云云监控产品介绍

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

SNMP学习笔记之SNMP TRAP简介、流程以及使用Python实现接受Trap信息

Net-SNMP会有很多用途,当然使用trap也是一个很有用用途。当snmptrapd接收到trap以后,可以调用用户自定义脚本或者命令行来处理trap。...,文件包含了OID和对应属性名,并且是使用OID来进行索引。...如果snmptt在配置文件无法找到对应OID的话,那么snmptt也就无法对信息进行翻译,我们看到信息内容也就是原始格式了。...每一个MIB都有自己固定定义格式,其中会包含一个宏(用来说明要显示信息内容)。 可是为什么要有MIBs存在呢?直接由snmptrapd来完成OID到信息翻译不可以么? 1....如果由snmptrapd自己来完成翻译也是可以,因为如果每次都去通过检索OID对应消息的话,那对性能影响是非常,因此snmptrapd就需要读入MIBs。

10.1K20

Python 封装SNMP调用接口

PySNMP 是一个纯粹用Python实现SNMP,用PySNMP最抽象API为One-line Applications,其中有两类API:同步和非同步,都在模块pysnmp.entity.rfc3413....oneliner.cmdgen 实现,如下是Get方式与Walk方式基本实现....首先需要在系统安装SNMP客户端,对于Linux平台来说只需要执行如下配置过程即可....当我们配置好客户端后,服务端就客户获取数据了,我们以一个OID序号为例,我们查询特定序号对应名称,然后将其记录下来,例如下面这样。...模块来做,安装pysnmp很简单,执行命令pip install pysnmp 即可,安装后使用以下代码执行即可获取到目标数据,获取方式分为两种一种为Get另一种为Walk. from pysnmp.hlapi

2.2K10
  • Python通过SNMP监控网络设备

    首先需要在系统安装SNMP客户端,对于Linux平台来说只需要执行如下配置过程即可....当我们配置好客户端后,服务端就客户获取数据了,我们以一个OID序号为例,我们查询特定序号对应名称,然后将其记录下来,例如下面这样。...首先我们不适用PySNMP模块直接开线程调用看看,该代码如下所示. import os,re,time # 通过SNMP收集主机CPU利用率: 通过SNMP协议,收集目标主机CPU利用率(百分比),...模块来做,安装pysnmp很简单,执行命令pip install pysnmp即可,安装后,使用以下代码执行即可获取到目标数据,网上那些转载都是坑,没一个能用,这个案例是官方案例,可以使用。...def GetNumber(self,oid,sub_oid,sub_id): iterator = getCmd(SnmpEngine(),

    1.5K30

    SNMP学习笔记之Pythonnetsnmp和pysnmp性能对比

    0x00 概览 用python获取snmp信息有多个现成库可以使用,其中比较常用是netsnmp和pysnmp两个库。网上有较多关于两个库例子。...: try: #死循环从队列获取任务,直到队列任务为空 host, oid = myq.get(block=False) session = netsnmp.Session...但是walk使用时候需要谨慎,以免导致高延时等问题。 0x02 pysnmp测试 pysnmp是用python实现一套snmp协议库。其自身提供了对于异步支持。...pysnmp性能较之略差一下。详细分析pysnmp在添加任务(执行getCmd时)消耗了约1.2s,之后采集约消耗3.3秒。 在增加了oid数,在进行实验。host仍然是198个,oid是42个。...在线程足够多情况下,netsnmp效率要明显强于pysnmp。 因为二者都支持可以并行采集多个host,从易用性来说,netsnmp更为简单一些,且netsnmp支持walk功能。

    3.8K20

    snmptrap_web scraping

    当snmptrapd接收到trap以后,可以调用用户自定义脚本或者命令行来处理trap。如果想使用这个功能就需要在snmptrapd配置文件设置traphandle。...,文件包含了OID和对应属性名,并且是使用OID来进行索引。...如果snmptt在配置文件无法找到对应OID的话,那么snmptt也就无法对信息进行翻译,我们看到信息内容也就是原始格式了。...每一个MIB都有自己固定定义格式,其中会包含一个宏(用来说明要显示信息内容)。 可是为什么要有MIBs存在呢?直接由snmptrapd来完成OID到信息翻译不可以么? 1....如果由snmptrapd自己来完成翻译也是可以,因为如果每次都去通过检索OID对应消息的话,那对性能影响是非常,因此snmptrapd就需要读入MIBs。

    39030

    SNMP学习笔记之iReasoning MIB Browser

    MIB浏览器是工程师管理启用SNMP网络设备和应用程序不可或缺工具。 它允许用户加载标准,专有的MIB,甚至一些错误MIB。 它还允许它们发出SNMP请求以检索代理数据,或对代理进行更改。...可以通过官网下载MIB库文件,导入ireasoning\mibbrowser\mibs目录下,通过MIB Browser可以查看设备私有OID ?...4、选择自己需要MIB库,如CISCO环境监视器MIB文件,名称是CISCO-ENVMON-MIB,点击V2 我需要查看设备温度值,找到具体OBJECT-TYPE,如下图 ciscoEnvMonTemperatureStatusTable...5、根据ciscoEnvMonTemperatureStatusTable 去官网查询它OID ? 6、根据查询OID,通过snmpwalk命令进行获取 ?...7、cpu信息获取 下表显示他们替换MIB和他们对象在旧有MIB旁边和对象: ?

    6.8K30

    官方博文| 连老手也容易犯错Zabbix SNMP该如何正确配置?

    SNMP OID (对象标识符) SNMP中最令人失望是Key (密钥)不代表任何事物,它只是一个占位符,无法找到任何从设备收集网络流量密钥。...SNMP OIDMIB (Management Information Base管理信息库)与特定对象连接,可以明确到每台设备。这些是跟指标相连接独有的标识符。 ?...新MIB文件应被加入默认MIB文件位置(至少在大部分Linux系统如此),你可以在CLI (计算机指令)打开: cd /usr/share/snmp/mibs 如果对一个MIB文件做了部分更改,...具体操作方式可在官网文档查看。比如,可以根据对象OID使用snmptranslate命令获得一个MIB名称。 1. 为了添加一个新MIB文件,需要编辑SNMP配置文件。...以下有几种检索snmpEngineID方式: 1. snmpEngineID也是一个对象 (object),具有对象标识符。可以从个人设备上用snmpget检索这个指标并将其与其他设备进行比较。

    1.6K20

    运维监控,如何获取数据?

    先看定义,“在分布计算领域,人们通常把在分布式系统持续自主发挥作用、具有自主性、交互性、反应性、主动性活着计算实体称为Agent”。...需要目标没有的功能或自定义功能,就需要使用到Agent。 1.3 Pull和Push如何选择? Pull明显会产生更多流量,Push则流量相对较少,但是否Push就比Pull优秀呢?不是的。...OID对应含义可查询此链接,笔者整理通用OID如下。...至于如何实现SNMP拉取,调用不同语言SNMP包即可,比如GO"github.com/soniah/gosnmp" 包、PYTHONpysnmp包,不展开。..., #用于表示HTTP协议需要认证资源认证信息 'Cache-Control' : "no-cache", #用来指定当前请求/回复,是否使用缓存机制

    4.7K103

    CentOS7下安装SNMP服务

    通过 SNMP 接收随机消息(及事件报告)网络管理系统获知网络出现问题 SNMP用于保证管理信息在任意两点间传送,便于网络管理员在网络上任何节点检索信息、修改信息、寻找故障、完成故障诊断、进行容量规划和生成报告...整个层次结构就像一棵树,树节点表示管理对象 每一个节点,都可以用从根开始一条路径唯一地标识,MIB作用就是用来描述树层次结构,它是所监控设备标准变量定义集合。...-v 2c -c public 127.0.0.1 -v 2c 指定版本信息 -c 指定团体名 public为默认团体名 2)snmpget获取指定OID信息 snmpget -v 2c -c...public 127.0.0.1 HOST-RESOURCES-MIB::hrSystemUptime.0 3)snmptranslate 在MIB OID 在数字和文字名称之间进行转换命令 snmptranslate...-On -IR HOST-RESOURCES-MIB::hrSystem 用-On(输出数字格式oid),使用 -IR(允许“随机”访问 MIB) 4)修改配置文件 vi /etc/snmp/snmpd.conf

    6.3K11

    教程|监控项类型—SNMP客户端

    然后,您可以遍历列表,直到找到要监控字符串,例如:如果要监视通过端口3进入交换机字节,你将使用此行IF-MIB :: ifInOctets.3字符串: IF-MIB::ifInOctets.3...= Counter32: 3409739121 你现在可以使用 snmpget 命令找出'IF-MIB :: ifInOctets.3'数字OID: shell> snmpget -v 2c -c public...-On 10.62.1.22 IF-MIB::ifInOctets.3 请注意,字符串最后一个数字是您需要监控端口号。...确保“主机接口”字段中有你交换机/路由器 将你之前检索文本或数字OID输入到'SNMP OID'字段,例如:.1.3.6.1.2.1.2.2.1.10.3 将“信息类型”设置为 浮点数 如果你希望...“更新间隔”和“历史数据保留时长”与默认值不同,请选择一个自定义乘数(如果需要),并输入数值 在进程预处理选项卡,添加 Change per second 步骤(重要!

    4.9K41

    SNMP学习笔记之SNMP介绍,OIDMIB

    一个OID是一个唯一键值对。该代理存放这些值并让它们可用。一个SNMP管理器(客户)可以向代理查询键值对特定信息。从程序员角度看,这和导入大量全局变量没有多少区别。...OID OID编写规则和习惯 SNMP OID是用一种按照层次化格式组织、树状结构唯一地址来表示,它与DNS层次相似。...写OID常用格式是用MIB名称和在MIB定义唯一键值。...例如,我们可以用简写格式重写上述OID: NETWORK-APPLIANCE-MIB::diskSpareCount.0 MIBOID书写格式规则为::MIB Name::唯一键值.instance...,MIB其实只是提供给我们一张我们想从某个SNMP代理获得可用OID各种值地图。

    5.5K30

    snmp协议详解-2_icmp报文封装在ip包数据部分

    网络管理员可以利用SNMP平台在网络上节点检索信息、修改信息、发现故障、完成故障诊断、进行容量规划和生成报告 (3)屏蔽不同设备物理差异,实现对不同厂商产品自动化管理。...)、Agent(代理)、MIB(管理信息库) 1、NMS(网络管理站) NMS是网络管理者,是一个利用SNMP协议对网络设备进行管理和监视系统。...每个Agent都有自己MIBMIB也可以看做是NMS和Agent之间一个接口,通过这个接口,NMS可以对Agent每一个被管理对象进行读/写操作,从而达到管理和监控设备目的。...NMS、Agent和MIB之间关系如图所示: MIB结构: MIB是以树状结构进行存储,树节点表示被管理对象,它可以用从根开始一条路径唯一地识别,这条路径就称为OID。...如图所示,管理对象system可以用一串数字{1.3.6.1.2.1.1}唯一标识,这串数字就是systemOID

    62620

    Zabbix SNMP监控安装、配置与服务器实例

    SNMPv2-MIB::sysName.0 = STRING: li519-232 通过如上两种方式均可获取到数据,如上获取到得数据都是li519-232 4、获取服务器剩余内存 # snmpwalk...559176 kB 通过两种方式获取到服务器剩余内存,因为服务器资源使用量都实时变动,所以两次获取数值不同. 5、zabbix页面添加监控: SNMP获取流量是KB,zabbix显示B,所以数据要乘以...1024. 6、Security name、level、passphrase即自定义SNMP加密账号密码,配置方式:http://www.ttlsa.com/zabbix/snmp-v3-configuration...::memTotalFree.0 = INTEGER: 560872 kB 7、SNMP可参考OID列表:http://www.ttlsa.com/monitor/snmp-oid/ 系统参数(1.3.6.1.2.1.1...网络接口(1.3.6.1.2.1.2) OID描述备注请求方式 .1.3.6.1.2.1.2.1.0网络接口数目IfNumberGET .1.3.6.1.2.1.2.2.1.2网络接口信息描述IfDescrWALK

    2.9K20

    SNMP TRAP_Bootstrapping

    在网管系统,被管理设备代理可以在任何时候向网络管理工作站报告错误情况,例如预制定阈值越界程度等等。代理并不需要等到管理工作站为获得这些错误情况而轮询他时候才会报告。...等脚本语言编写处理trap程序 D、配置snmptrapd.conf文件,添加traphandler项,将不同TRAP对应到不同处理程序上 四、TRAP MIB编写及编译 NET-SNMPTRAP...实现私有Trap方法与之前普通MIB开发方法类型: 先定义TrapMIB对象,然后借由mib2c和相应框架代码配置文件,“mib2c.notify.conf”,生成Trap框架代码。...snmpTrapOid.0 值为私有MIB定义TestTrapDescription_oid */ snmp_varlist_add_variable(&var_list,...traphandle IF-MIB::linkUp /usr/nba/bin/traps up 第一个参数为从snmptrapd接收OID,第二个参数为调用程序。

    1.9K30

    MIB Browser使用方法

    1.1 安装MIB Browser MIB Browser工具用于查询SNMP Agent上MIB变量,接收SNMP Agent上报Trap消息,是用来调试验证NetEco SNMP性能北向接口不可或缺工具...1.3.1 不存在MIB库文件 如果不存在MIB库文件,仅知道OID节点以及其定义协议,可以通过MIB Browser“Prompt For OID”功能来进行数据获取。...l 获取数据 在菜单栏选择“SNMP > Prompt For OID”。 输入OID,可以进行Get、Get Next、Get Bulk等操作。...如果需要获取连续多个OID值,请使用Get Bulk。 1.4 接收Trap消息 1.1.1 配置Trap端口 在MIB Browser上配置Trap消息接收端口,设置为接口上报端口。...打开“控制面板 > 管理工具 > 服务组件”,找到SNMP Trap服务: 打开属性,在“启动类型”中选择“禁用”,“服务状态”单击“停止”,从而关闭系统SNMP Trap 服务: 步骤 1 配置MIB

    7.7K30

    snmp trap日志「建议收藏」

    MIBOID SNMP系统包括网络管理系统NMS(Network Management System)、代理进程Agent、被管对象Management object和管理信息库MIB(Management...MIB文件变量使用名字取自ISO和ITU管理对象标识符(object idenTIfier)名字空间。它是一种分级树结构。如图所示,第一级有三个节点:ccitt、iso、iso-ccitt。...,数字表示(对象标识符OID)为:1.3.6.1.2.1.4.3,当网络管理协议在报文中使用MIB变量时,每个变量名后还要加一个后缀,以作为该变量一个实例。...MIB树结构 进一步,下图给出了NMS系统SNMP可访问网络设备对象识别树(OID:Object Identifier)结构。...::snmpTrapOID.0 = OID: SNMPv2-MIB::sysDescr.0 SNMPv2-MIB::sysDescr = STRING: test 2020-12-04 15:07:20

    4.1K30
    领券