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

snmpwalk命令的帮助

# snmpwalk --help
USAGE: snmpwalk [OPTIONS] AGENT [OID]Version:  5.7.2Web:      http://www.net-snmp.org/Email:    net-snmp-coders@lists.sourceforge.netOPTIONS:-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 symbolsc:  disallow the use of "--" to terminate commentsd:  save the DESCRIPTIONs of the MIB objectse:  disable errors when MIB symbols conflictw:  enable warnings when MIB symbols conflictW:  enable detailed warnings when MIB symbols conflictR:  replace MIB symbols from latest module-O OUTOPTS            Toggle various defaults controlling output display:0:  print leading 0 for single-digit hex charactersa:  print all strings in ascii formatb:  do not break OID indexes downe:  print enums numericallyE:  escape quotes in string indicesf:  print full OIDs on outputn:  print OIDs numericallyq:  quick print for easier parsingQ:  quick print with equal-signss:  print only last symbolic element of OIDS:  print MIB module-id plus last elementt:  print timeticks unparsed as numeric integersT:  print human-readable text along with hex stringsu:  print OIDs using UCD-style prefix suppressionU:  don't print unitsv:  print values only (not OID = value)x:  print all strings in hex formatX:  extended index format-I INOPTS             Toggle various defaults controlling input parsing:b:  do best/regex matching to find a MIB nodeh:  don't apply DISPLAY-HINTsr:  do not check values for range/type legalityR:  do random access to OID labelsu:  top-level OIDs must have '.' prefix (UCD-style)s SUFFIX:  Append all textual OIDs with SUFFIX before parsingS PREFIX:  Prepend all textual OIDs with PREFIX before parsing-L LOGOPTS            Toggle various defaults controlling logging:e:           log to standard erroro:           log to standard outputn:           don't log at allf file:      log to the specified files 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 foundi:  include given OID in the search rangeI:  don't include the given OID, even if no results are returnedc:  do not check returned OIDs are increasingt:  Display wall-clock time to complete the walkT:  Display wall-clock time to complete each requestE {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索引号并不一定是固定的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/4065.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于 ChatGPT 的 helm 入门

1. 写在最前面 公司最近在推业务上云(底层为 k8s 管理),平台侧为了简化业务侧部署的复杂度,基于 helm 、chart 等提供了一个发布平台。 发布平台的使用使业务侧在不了解 helm 、chart 等工具的时候,「只要点点」就可…

在DELL/HP server的UEFI mode下指定ISO安装Ubuntu

1.重启系统 在蓝色界面出现提示后选择F2进入 然后保存设置即可 下面是惠普server的iol5界面 输入f9进入system utilities 选择ISO 选择reset

Vue和React区别

Vue和React区别 背景简介ReactVue 共同点不同点ReactVue 区别数据是否可变编写&写法重新渲染和优化类组件写法 声明式写法路由和状态管理方案构建工具 应用场景ReactVue 总结 背景简介 React 主要是函数式编程概念 比较擅长处理组件化的页面 比较依赖于JSX Vue 渐进式框架…

微服务系列文章 之 SpringCloud中遇到的一些bug

1、There was a problem with the instance info replicator 错误原因: 该服务尝试将自己作为客服端注册解决办法: 在application.yml配置文件中,设置 # 注册Eureka服务 eureka:client:# Eureka服务注册中心会将自己作为客户端来尝试注册它自…

Django实现接口自动化平台(十四)测试用例模块Testcases序列化器及视图【持续更新中】

相关文章: Django实现接口自动化平台(十三)接口模块Interfaces序列化器及视图【持续更新中】_做测试的喵酱的博客-CSDN博客 本章是项目的一个分解,查看本章内容时,要结合整体项目代码来看: python django…

Debian 12上如何关闭nobody共享文件夹,一个能让INSCODE AI 创作助手不知所措的小问题

这个问题之前在Debian 10和11上都没有遇到过,换上Debian 12后Samba的设置就出现了状况,装上Samba后什么都没有设置就在局域网可以看到: 根据之前的经验在/etc/samba/smb.conf里查了很久也没有看出所以然来,后来又问了INSCODE AI…

Springboot 中使用 Aop

1. aop作用 AOP意为面向切面编程,可以通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术。 AOP的编程思想是把对类对象的横切问题点,从业务逻辑中分离出来,从而达到解耦的目的,增加代码…

Waves 14 Complete对Mac和Windows系统的最低要求

Waves 14 Complete是一款功能齐全的音频编辑软件,适用于音乐制作、音频工程和声音设计等领域。它提供了一系列强大的工具和效果,帮助用户在音频处理过程中实现专业水平的效果和混音。 Waves 14 Complete包含了多个实用的插件,如均衡器、压缩…

【100天精通python】Day5:python 基本语句,流程控制语句

目录 1. 条件语句 1.1 if语句 1.2 if-else语句 1.3 if-elif-else语句 2 循环语句 2.1 for循环 2.2 while循环: 3 跳转语句 3.1 break语句 3.2 continue语句 3.3 pass语句 4 异常处理语句(try-except语句) 5 语句嵌套 5.1 条…

rulebook 简单记录

总体: 最后发版为2018年相比EASY RULE,不支持jexl等脚本语言支持Spring内部执行都是使用jdk proxy模式,无论是annotation还是builder模式可以使用CoRRuleBook 实现chain模式,在chain内按order进行执行一个rule里面可以有多个acti…

unity 调用C++ dll 操作升级套娃函数调用

之前一直以为C生成dll,在unity中调用时要把传出去的值设置在主函数中,以参数或反回值的形式。 当然在DLL工程中可以说没有主函数,那个可以运行一个函数,其会调用其他函数从而一直调其他相关函数。 那问题是在层级是二或三------…

前端工程中的设计模式应用

本文旨在系统性介绍一下23种设计模式,给出通俗易懂的案例、结构图及代码示例,这也是我自身学习理解的过程。或许其中的几种设计模式写的并不是很清晰明了易懂,更详细的可根据提到的参考文献进行深入学习。 什么是设计模式 设计模式这个概念是…

Java解决new date出现的时区问题(差8小时)

1、设置当前时区 SimpleDateFormat format new SimpleDateFormat("yyyy/MM/dd"); format.setTimeZone(TimeZone.getTimeZone("GMT8:00")); 2、设置全局时区 创建一个全局配置类,用于配置项目全局时区。 这样就不用专门在各个地方设置时区了…

干货!3个技巧让你轻松增强客户实时聊天的体验感

在当今竞争激烈的商业环境中,提供出色的客户服务成为企业成功的关键要素之一。尤其是在实时聊天平台上,为客户提供优质的体验感,对于建立良好的客户关系和提高销售转化率至关重要。如果你还在苦恼如何增强用户体验感,苦恼如何增加…

剑指offer刷题笔记--Num51-60

1--数组中的逆序对&#xff08;51&#xff09; 主要思路&#xff1a; 基于归并排序&#xff0c;视频讲解参考&#xff1a;数组中的逆序对 #include <iostream> #include <vector>class Solution { public:int reversePairs(std::vector<int>& nums) {if(…

iOS-Block

Blocks的学习 Block的分类 Block根据其类型可以分为三类&#xff1a; 全局Block&#xff08;NSGlobalBlock&#xff09;栈Block&#xff08;NSMallocBlock&#xff09;堆Block&#xff08;NSStackBlock&#xff09; 而其区分的规则为&#xff1a; 如果没有引用局部变量&…

arping命令 ip地址冲突检测 根据ip查mac地址

arping命令介绍 arping 命令主要用来获取ip对应的mac地址&#xff0c;更新本地arp缓存表。平时主要用来探测ip地址是否冲突即同一个网络里&#xff0c;同一个ip不同mac地址的情况。ip地址冲突将导致网络故障。 arping常用命令参数 arping [参数] ip -U 强制更新邻近主机的a…

记一场面试中遇到的问题

第一题&#xff1a; 简单的字符串拆分、组合的题目。本来题目是很简单&#xff0c;但是里面的一些细节自己没有考虑周全&#xff0c;和面试官在这道题目上讨论了一段时间。后来发现自己把自己差点绕迷糊了&#xff0c;多亏面试官及时提醒。关于技术上的问题还是应该多和别人讨…

关于电脑显示器屏幕看不出灰色,灰色和白色几乎一样无法区分,色彩调整方法

问题&#xff1a; 电脑显示器屏幕看不出灰色&#xff0c;灰色和白色几乎一样无法区分。白色和灰色有色差。 解决方法&#xff1a; 打开“控制面板” ->“色彩管理” ->“高级” ->“校正显示器” 在下一步调节中调成中间这一个实例的样子就可以了 进行微调&#x…

【hadoop】部署hadoop全分布模式

hadoop全分布模式 全分布模式特点部署全分布模式准备工作正式配置hadoop-env.shhdfs-site.xmlcore-site.xmlmapred-site.xmlyarn-site.xmlslaves对NameNode进行格式化复制到另外两台虚拟机启动 对部署是否成功进行测试 全分布模式特点 真正的分布式环境&#xff0c;用于生产具…