关于snmp oid以及使用snmpwalk作为进程监控工具

这篇具有很好参考价值的文章主要介绍了关于snmp oid以及使用snmpwalk作为进程监控工具。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

snmpwalk命令的帮助

# snmpwalk --help
USAGE: snmpwalk [OPTIONS] AGENT [OID]

  Version:  5.7.2
  Web:      http://www.net-snmp.org/
  Email:    net-snmp-coders@lists.sourceforge.net

OPTIONS:
  -h, --help            display this help message
  -H                    display configuration file directives understood
  -v 1|2c|3             specifies SNMP version to use
  -V, --version         display package version number
SNMP Version 1 or 2c specific
  -c COMMUNITY          set the community string
SNMP Version 3 specific
  -a PROTOCOL           set authentication protocol (MD5|SHA)
  -A PASSPHRASE         set authentication protocol pass phrase
  -e ENGINE-ID          set security engine ID (e.g. 800000020109840301)
  -E ENGINE-ID          set context engine ID (e.g. 800000020109840301)
  -l LEVEL              set security level (noAuthNoPriv|authNoPriv|authPriv)
  -n CONTEXT            set context name (e.g. bridge1)
  -u USER-NAME          set security name (e.g. bert)
  -x PROTOCOL           set privacy protocol (DES|AES)
  -X PASSPHRASE         set privacy protocol pass phrase
  -Z BOOTS,TIME         set destination engine boots/time
General communication options
  -r RETRIES            set the number of retries
  -t TIMEOUT            set the request timeout (in seconds)
Debugging
  -d                    dump input/output packets in hexadecimal
  -D[TOKEN[,...]]       turn on debugging output for the specified TOKENs
                           (ALL gives extremely verbose debugging output)
General options
  -m MIB[:...]          load given list of MIBs (ALL loads everything)
  -M DIR[:...]          look in given list of directories for MIBs
    (default: $HOME/.snmp/mibs:/usr/share/snmp/mibs)
  -P MIBOPTS            Toggle various defaults controlling MIB parsing:
                          u:  allow the use of underlines in MIB symbols
                          c:  disallow the use of "--" to terminate comments
                          d:  save the DESCRIPTIONs of the MIB objects
                          e:  disable errors when MIB symbols conflict
                          w:  enable warnings when MIB symbols conflict
                          W:  enable detailed warnings when MIB symbols conflict
                          R:  replace MIB symbols from latest module
  -O OUTOPTS            Toggle various defaults controlling output display:
                          0:  print leading 0 for single-digit hex characters
                          a:  print all strings in ascii format
                          b:  do not break OID indexes down
                          e:  print enums numerically
                          E:  escape quotes in string indices
                          f:  print full OIDs on output
                          n:  print OIDs numerically
                          q:  quick print for easier parsing
                          Q:  quick print with equal-signs
                          s:  print only last symbolic element of OID
                          S:  print MIB module-id plus last element
                          t:  print timeticks unparsed as numeric integers
                          T:  print human-readable text along with hex strings
                          u:  print OIDs using UCD-style prefix suppression
                          U:  don't print units
                          v:  print values only (not OID = value)
                          x:  print all strings in hex format
                          X:  extended index format
  -I INOPTS             Toggle various defaults controlling input parsing:
                          b:  do best/regex matching to find a MIB node
                          h:  don't apply DISPLAY-HINTs
                          r:  do not check values for range/type legality
                          R:  do random access to OID labels
                          u:  top-level OIDs must have '.' prefix (UCD-style)
                          s SUFFIX:  Append all textual OIDs with SUFFIX before parsing
                          S PREFIX:  Prepend all textual OIDs with PREFIX before parsing
  -L LOGOPTS            Toggle various defaults controlling logging:
                          e:           log to standard error
                          o:           log to standard output
                          n:           don't log at all
                          f file:      log to the specified file
                          s facility:  log to syslog (via the specified facility)

                          (variants)
                          [EON] pri:   log to standard error, output or /dev/null for level 'pri' and above
                          [EON] p1-p2: log to standard error, output or /dev/null for levels 'p1' to 'p2'
                          [FS] pri token:    log to file/syslog for level 'pri' and above
                          [FS] p1-p2 token:  log to file/syslog for levels 'p1' to 'p2'
  -C APPOPTS            Set various application specific behaviours:
                          p:  print the number of variables found
                          i:  include given OID in the search range
                          I:  don't include the given OID, even if no results are returned
                          c:  do not check returned OIDs are increasing
                          t:  Display wall-clock time to complete the walk
                          T:  Display wall-clock time to complete each request
                          E {OID}:  End the walk at the specified OID

oid定义和常见oid

oid是对象标识符的缩写,它是一种用来在全球范围内唯一地标识某个对象、概念或事物的机制,它由一串数字组成,表示了一个树形的层次结构。oid在计算机科学中有很多应用,例如在计算机安全、网络管理、数据交换等领域中。

常见的oid有以下几种:

  • 1.3.6.1.4.1:这是私有企业号(PEN)的根节点,由IANA分配给各个公司或组织,下面的子节点由各自的组织控制和定义¹。例如,1.3.6.1.4.1.343是英特尔公司的oid,1.3.6.1.4.1.9是思科公司的oid。
  • 2.5:这是目录服务(DS)的根节点,用于定义X.500和LDAP相关的标准和属性²。例如,2.5.4是属性类型的节点,2.5.4.3是通用名称(CN)的oid,2.5.4.10是组织名称(O)的oid。
  • 2.16:这是国家代码的根节点,用于表示各个国家或地区的标识符³。例如,2.16.840是美国的oid,2.16.156是中国的oid。
  • 2.16.840:这是美国国家标准和技术研究所(NIST)管理的节点,用于定义美国相关的标准和技术。例如,2.16.840.1是美国政府部门和机构的节点,2.16.840.1.101是美国国防部(DoD)的节点。
  • 2.16.840.1.113883:这是美国卫生水平七(HL7)管理的节点,用于定义电子医疗数据交换相关的标准和概念。例如,2.16.840.1.113883.3是美国医疗保健提供者注册号(NPI)的oid。

以1.3.6.1.4.1.2021.2.1.5.8为例

1.3.6.1.4.1.2021.2.1.5.8是一个用于监控运行中的程序或守护进程的oid,它属于UCD-SNMP-MIB模块。这个oid的全名是prErrorFlag,它表示一个程序或守护进程是否违反了代理配置文件中要求的运行进程数量²。如果违反了,这个oid的值会是一个非零的整数,表示错误的类型。例如,如果这个oid的值是1,表示运行进程数量太少;如果是2,表示运行进程数量太多;如果是3,表示两者都有。

为了更好地理解这个oid,我们可以将它分解为以下几个部分:

  • 1.3.6.1:这是iso.org.dod.internet节点,表示互联网标准相关的oid。
  • 4.1:这是iso.org.dod.internet.private.enterprises节点,表示私有企业号(PEN)的根节点。
  • 2021:这是iso.org.dod.internet.private.enterprises.ucdavis节点,表示加州大学戴维斯分校(UC Davis)的oid。
  • 2:这是iso.org.dod.internet.private.enterprises.ucdavis.software节点,表示UC Davis开发的软件相关的oid。
  • 1:这是iso.org.dod.internet.private.enterprises.ucdavis.software.services节点,表示UC Davis开发的服务相关的oid。
  • 5:这是iso.org.dod.internet.private.enterprises.ucdavis.software.services.prTable.prEntry节点,表示服务表中的服务条目相关的oid。
  • 8:这是iso.org.dod.internet.private.enterprises.ucdavis.software.services.prTable.prEntry.prErrorFlag节点,表示服务条目中的错误标志相关的oid。
    使用如下命令查看完整输出
# snmpwalk -Oa backup 1.3.6.1.4.1.2021.2.1.5.8
UCD-SNMP-MIB::prCount.8 = INTEGER: 1

输出内容解释
UCD-SNMP-MIB::prCount.8 = INTEGER: 1是一个用于监控运行中的程序或守护进程的oid,它属于UCD-SNMP-MIB模块。这个oid的全名是prCount,它表示一个程序或守护进程在系统中的运行进程数量。8是这个oid的索引号,表示它对应的程序或守护进程的名称在UCD-SNMP-MIB::prNames.8中。INTEGER: 1表示这个程序或守护进程只有一个运行进程。

例如,如果你使用以下命令来查询一个Linux机器上的所有程序或守护进程的名称和运行进程数量:

# snmpwalk -Oa backup UCD-SNMP-MIB::prTable

你可能会得到类似以下的结果:

`UCD-SNMP-MIB::prNames.1 = STRING: "init"
UCD-SNMP-MIB::prNames.2 = STRING: "kthreadd"
UCD-SNMP-MIB::prNames.3 = STRING: "ksoftirqd/0"
...
UCD-SNMP-MIB::prNames.8 = STRING: "systemd-journal"
...
UCD-SNMP-MIB::prCount.1 = INTEGER: 1
UCD-SNMP-MIB::prCount.2 = INTEGER: 1
UCD-SNMP-MIB::prCount.3 = INTEGER: 1
...
UCD-SNMP-MIB::prCount.8 = INTEGER: 1
...

从这些结果中,你可以看到每个程序或守护进程的名称和运行进程数量。例如,init程序的名称在UCD-SNMP-MIB::prNames.1中,它有一个运行进程在UCD-SNMP-MIB::prCount.1中。systemd-journal守护进程的名称在UCD-SNMP-MIB::prNames.8中,它也有一个运行进程在UCD-SNMP-MIB::prCount.8中。
知道需要监控的进程id后,即可用如下命令对进程条目监控:

#snmpwalk -Oqv backup 1.3.6.1.4.1.2021.2.1.5.8
1

snmp oid索引号

snmp index number是一个用于标识SNMP表中的条目的数字,它通常是一个或多个对象的值的组合,表示了表中的一行。snmp index number可以是系统中自动设置的,也可以是需要snmp中配置的,这取决于不同的MIB和设备。

你可以使用以下命令来获取snmp监控的所有进程的oid索引值和名称:

snmpwalk -Oa backup UCD-SNMP-MIB::prNames

这个命令会返回类似以下的结果:

UCD-SNMP-MIB::prNames.1 = STRING: xauthd
UCD-SNMP-MIB::prNames.2 = STRING: game
...

从这些结果中,你可以看到linux机器snmp监控的进程和oid索引号。然后你可以拼接oid用于远程进程条目的监控。
需要注意的问题进程的oid索引号并不一定是固定的。文章来源地址https://www.toymoban.com/news/detail-598119.html

到了这里,关于关于snmp oid以及使用snmpwalk作为进程监控工具的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 关于进程、线程、协程的概念以及Java中的应用

    本文将从“操作系统”、“Java应用”上两个角度来探究这三者的区别。 在我本人的疑惑中,我有以下3个问题。 在“多道程序环境下”,允许多个程序并发执行,此时它们将失去封闭性,并具有间断性以及不可再现性的特征,因此需要引入进程的概念。 进程是程序执行的过

    2024年02月08日
    浏览(62)
  • zabbix 监控 windows 系统、java应用、SNMP

    目录 一、部署 zabbix 监控 windows系统 1.下载 Windows 客户端 Zabbix agent 2 2.安装客户端,在监控的windows主机上配置 3.在服务端 Web 页面添加主机,关联模板 二、部署 zabbix 监控 Java应用 1.客户端开启 java jmxremote 远程监控功能 1.1配置 java jmxremote 远程监控功能 1.2启动服务,查看端口

    2024年02月15日
    浏览(41)
  • Prometheus监控之SNMP Exporter介绍和数据展现

    由于技术能力有限,文章仅能进行简要分析和说明,如有不对的地方,请指正,谢谢🙂。 SNMP协议全称是:Simple Network Management Protocol,译为简单网络管理协议,是作为TCP/IP网络管理标准协议,为不同的设备提供统一接口,实现了网络设备之间的统一管理。 SNMP协议分为三个版

    2023年04月26日
    浏览(46)
  • 关于视频监控平台EasyCVR视频汇聚平台建设“明厨亮灶”具体实施方案以及应用

    一、方案背景 近几年来,餐饮行业的食品安全、食品卫生等新闻频频发生,比如某火锅店、某网红奶茶,食材以次充好、后厨卫生被爆堪忧,种种问题引起大众关注和热议。这些负面新闻不仅让餐饮门店的品牌口碑暴跌,附带的连锁效应导致门店收益直接巨额亏损。与此同时

    2024年02月11日
    浏览(43)
  • zabbix proxy的配置及zabbix实现高可用(监控 windows,java应用,SNMP等)

    zabbix 分布式代理服务器,可以代替zabbix server 采集性能和可用性数据。zabbix proxy 在zabbix 的部署是可选部分。 zabbix proxy 的部署可以很好的分担单个zabbix server 的负载 通常监控大于500台主机时使用,需要进行分布式监控架构部署 分布式监控的作用: ●分担 server 的集中式压力

    2024年02月15日
    浏览(41)
  • snmp trap 与snmp相关介绍、安装、命令以及Trap的发送与接收java实现

    1.1、什么是Snmp SNMP是英文\\\"Simple Network Management Protocol\\\"的缩写,中文意思是\\\"简单网络管理协议\\\"。SNMP是一种简单网络管理协议,它属于TCP/IP五层协议中的应用层协议,用于网络管理的协议。SNMP主要用于网络设备的管理。由于SNMP协议简单可靠 ,受到了众多厂商的欢迎,成为了目

    2024年02月02日
    浏览(52)
  • Dubbo3使用Zookeeper作为注册中心的方案讨论!详解DubboAdmin与PrettyZoo来监控服务的优劣!

    文章目录 一:Dubbo注册中心的基本使用 二:Zookeeper注册中心的使用 1:依赖引入 2:实际开发 三:Zookeeper作为注册中心的使用展示 1:启动注册Zookeeper服务 2:引入注册中心 (一):Provider (二):Consumer 3:启动服务结果展示 4:监控服务的两种手段         我们使用的和分析讲解

    2024年02月05日
    浏览(41)
  • 关于高版本Android Studio使用KTS(koltin)作为脚本代替Gradle构建的细节

    前两天刚刚才写了安卓构建下载太慢的博客,今天新建项目又用到kotlin作为脚本构建项目时出新问题。一开始我是直接从自己的文章复制粘贴到新项目的gradle当中,结果上来就报好几个红,给我人干懵了。 Unexpected tokens (use \\\';\\\' to separate expressions on the same line) 后知后觉发现自己

    2024年02月05日
    浏览(49)
  • SpringBoot使用Redis作为缓存器缓存数据的操作步骤以及避坑方案

    2.1使用之前要明确使用的业务场景 例如我们在登录时,可以让redis缓存验证码,又如在分类下显示菜品数据时,我们可以对分类和菜品进行缓存数据等等。 2.2导入Redis相关依赖 2.3在使用的controller层导入RedisTemplate 例如: 说明一下:这里为什么使用@Resource注解而不使用@Autowi

    2024年02月16日
    浏览(51)
  • linux环境下监控docker进程运行情况,使用钉钉群机器人报警异常服务

    背景:在linux环境下,很多服务我们都使用docker来跑,很是方便,容器服务独立,配置独立,数据独立等等,但是有个问题,就是如果某个服务异常了,暂停了,停止了,一直重启中,我们要怎么及时的知道是哪个服务,并进行处理,保证业务正常运行。 本文主要介绍使用

    2024年02月13日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包