gpt4 book ai didi

java - 用于通用应用程序消息传递的 snmp 陷阱 OID 是什么?

转载 作者:太空宇宙 更新时间:2023-11-04 14:10:58 24 4
gpt4 key购买 nike

上下文:Java 应用程序发送 SNMP

我是一名开发人员,对 SNMP 知之甚少。我们用“Windows 服务包装器”包装我们的 Java 应用程序,它能够(除其他外)根据各种(用户可配置的)事件发送 snmp 消息。

示例脚本具有三个参数。其中两个是明确定义的(网络监控系统的ip地址和“消息文本”)。

另一个“陷阱的 OID”似乎不太清楚。

默认情况下,脚本接收“id”参数,然后将其附加到该值:“1.3.6.1.2.1.1.1.”,也就是说,如果您传入“id=999”,它将广播一个带有 oid 的 snmp trap:“1.3.6.1.2.1.1.1.999”

以下是“1.3.6.1.2.1.1.1”含义的引用。 :它对于相应消息的正文给出了相当严格的含义。

http://www.alvestrand.no/objectid/1.3.6.1.2.1.1.1.html

OID value: 1.3.6.1.2.1.1.1

OID description:

sysDescr OBJECT-TYPE SYNTAX DisplayString (SIZE (0..255)) ACCESS read-only STATUS mandatory DESCRIPTION "A textual description of the entity. This value should include the full name and version identification of the system's hardware type, software operating-system, and networking software. It is mandatory that this only contain printable ASCII characters." ::= { system 1 }

其他上下文

  • 应用程序服务器可以使用 jmx 公开服务器信息,并且存在将 jmx 桥接到 snmp 的产品(即公开使用的内存量、线程计数等)。然而,这个用例有点不同:java 包装器可以根据应用程序本身的“状态更改”发送 snmp 消息。开发人员和管理员会发现此“状态更改”信息很有帮助。

  • 我们正在运行一些应用程序服务器:一些在 jboss-tomcat 中,其他在普通 tomcat 中

  • 我们使用 cacti 作为“snmp 接收”端。我个人不知道它是否可以处理任何“任意应用程序消息”。我假设/我们会将消息记录在 mysql 数据库(或类似数据库)中以供以后查询/报告。

资源

我环顾四周,发现了诸如此类的资源 ( https://github.com/waynearmorize/drivesploit/tree/master/data/snmp/mibs ),其中列出了各种“预定义”OID。我看到了与 RDBMS 相关的问题的值列表,但没有通用的“在此处插入您的应用程序”。

问题

  • 开发人员和系统管理员是否应该简单地提出我们自己的“应用程序 ID 后缀”列表:即“1”是“应用程序启动”“2”是应用程序中止“3”是“内存不足”等,然后将此值附加到“1.3.6.1.2.1.1.1”。
  • 规则是什么? “硬规则”(即你会打破它)和“软规则”,“保留这些规则以保持一致性”?
  • 那么“组成”OID 的规则是什么?
  • SNMP 是适合这项工作的工具吗?对于新手来说这听起来不错,但我可能错过了一些东西。
  • 对于这个特定领域有什么提示(即从应用程序发送 snmp 陷阱)?

提前致谢

最佳答案

  • Should the developers-and-sysadmins simply come up with our own list of 'application id suffixes': i.e. "1" is "application starting" "2"is application abort "3" is "out of memory" etc, and append this valueto the '1.3.6.1.2.1.1.1.'

每个 OID 都有全局独特的目的和含义。例如,OID 1.3.6.1.2.1.1.2SNMPv2-MIB 中定义。 。这些数字分割为 iso(1).org(3).dod(6).internet(1).mgmt(2).mib-2(1).system(1).sysObjectID(2)

您可以使用 Cisco SNMP Object Navigator 查找所选(由思科)OID 的含义。 。请注意,不需要发布所有 MIB,因此不存在可以查找任意 OID 的中央集合。您可以将 MIB 视为定义 OID、它们的类型和关系的文档。 MIB 具有正式的、机器可解析的结构。

组织经常请求 Private Enterprise Number然后在以 1.3.6.1.4.1.PEN 开头的 OID 下定义它们的内容。如果您找不到满足您的用例的已发布标准,您可能需要这样做。

<小时/>

从纯粹的技术角度来看,您可以使用任何 OID 发出陷阱,但这将违背任何分析接收值的人的期望。

关于java - 用于通用应用程序消息传递的 snmp 陷阱 OID 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28326496/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com