SNMP 快速入门指南

关于

SNMP (简单网络监控协议)是一种应用层协议,用于监控网络中的设备。 它有助于监视 设备,例如服务器,路由器,交换机,工作站,打印机等。 它用于报告有关包丢失,带宽, CPU 使用率,磁盘空间,内存使用率以及影响网络性能的更多因素的统计信息。 它在所有形状和大小的网络上使用,并得到几乎所有操作系统的支持。 SNMP 供应商中立,可从任何地方使用。

重要提示: 请确保目标设备能够向 SevOne NMS 发送 SNMP 数据。

启用设备向 SevOne NMS 发送 SNMP 数据

您需要启用设备 ,允许 SevOne 网络管理系统在设备发现过程中使用下列特定版本的 SNMP 命令。 用设备发送 SNMP 数据的步骤可能因设备而异,您可能需要参考设备制造商的文档以获取启用 SNMP 功能的具体说明。

示例:可用于使思科路由器发送 SNMP 数据

router(config)# snmp-server community <YourReadCommunityStringHere> ro
router(config)# snmp-server community <YourWriteCommunityStringHere> rw
router(config)# snmp-server location <Your location here>
router(config)# snmp-server contact <yourAdmin@yourServer.com>

输入以下命令以验证操作。

router(config)# show snmp

SNMP命令

包含以下主题

SNMP 版本

操作 SNMP命令
SNMPv1 SNMPv2c SNMPv3
SNMP获取 SNMP_MSG_GET SNMP_MSG_GET SNMP_MSG_GET
SNMP设置 SNMP消息集 SNMP消息集 SNMP消息集
SNMPwalk snmp_msg_getnext

snmp_msg_getbulk

  • 非中继器: 0
  • 最大重复次数: 20

snmp_msg_getbulk

  • 非中继器: 0
  • 最大重复次数: 20

SNMP 超时

要点: 发生超时时,将停止对指示符的轮询,并且不会将该指示符的数据插入到数据库中。 因此,在报告中将存在间隔,因为超时期间不会发生任何数据库操作。 允许对指示符进行轮询的重试次数为 5 次。
  • 超时: 1 秒
  • 重试次数: 5

预配置

在您于 SevOne 网络管理系统(NMS)中配置 SNMP 之前,必须随时准备好以下详细信息。

  • 端口号
    • SevOne 网络管理系统(NMS)用于轮询 SNMP 数据的端口号。 缺省端口为 161
  • SNMP 版本
    • 您的设备使用的 SNMP 版本。 目前有三个版本—— v1、 v2c 和 v3。
  • 读取社区字符串 (SNMPv1 和 SNMPv2c)
    • 这类似于密码。
    • 当 SevOne NMS 将 GET-requests 发送到 设备时,它将使用读取社区字符串进行认证。
    • 读共用字符串在 SNMPv1 和 SNMPv2c中使用。
    • 另一方面, SNMPv3使用用户名/密码组合以及 (可选) 加密密钥。
  • 写入社区字符串 (SNMPv1 和 SNMPv2c)
    • 这类似于读取社区字符串的概念。
    • 当 SevOne NMS 发送 SET-requests 时, write-community 字符串充当密码。 虽然此定义针对 SNMP 插件,但实际上其他插件(如IP SLA和代理Ping)也会使用它。这些插件通过 SNMP 的SET命令创建测试,从而实现其测量功能。
  • 用户名/密码 (SNMPv3)
    • 为了进行认证,用户名和密码是必需的。
  • (可选) 认证类型 ( SNMPv3 )
    • 可以选择 MD5SHASHA-224SHA-256SHA-384SHA-512 进行认证。
  • (可选) 加密类型( SNMPv3 )
    • 若您选择 MD5 或SHA作为认证类型,则可选择 AES 或DES 加密类型。 例如 ,AESAES192AES192CAES256AES256CDES
      注: DES 被认为是一种弱加密算法且已过时,不建议使用。 仅当没有其他选项可用时才应启用此功能。 强烈建议客户尽早迁移至 AES 加密,以确保更强的安全性并符合现代标准。
      重要信息: 如果要从 SevOne NMS 5.7.2.x 升级到 SevOne NMS 6.3 或更高版本,那么不需要对现有设备执行任何操作。 但是,如果将任何新的 Cisco 设备添加为 AES192AES256,那么需要将它们分别添加为 AES192CAES256C
  • (可选) 加密密钥 (SNMPv3)
    • 若您使用的是 A ES或DES加密类型,则需要一个加密密钥。
      注: DES 被认为是一种弱加密算法且已过时,不建议使用。 仅当没有其他选项可用时才应启用此功能。 强烈建议客户尽早迁移至 AES 加密,以确保更强的安全性并符合现代标准。

配置

当您指定集群范围的设置时, SevOne 网络管理服务(NMS)通常会将这些设置应用于所有启用了 SNMP 功能的设备。 详情请参阅集群管理器 > SNMP 集群设置

不过,若您希望为部分设备 (而非全部设备)应用特定设置,可直接在设备层级编辑 SNMP 设置。 有关 SNMP 插件的详细信息,请参阅 SNMP 插件

有关 SNMP 对象类型指标类型原子 /合成 )的详细信息,请参阅对象类型部分。

有关 SNMP 对象子类型的详细信息,请参阅对象子类型管理器获取详情。 对于字段插件,请从下拉列表中选择以下选项之一: SNMP 轮询器延迟数据进程轮询器

设备类型是对设备进行分类的一种方法。 此设备分类方法用于确定要为给定设备发现哪些对象类型。 设备类型是分层的。 设备类型可以具有子设备类型,而这些子设备类型可以具有它们自己的子设备类型。 有关详情,请参阅设备类型

SNMP 对象标识符与管理信息库

对象标识 (OID) 是用于命名对象的数字字符串。 例如, .1.3.6.1.2.1.1.1对象 sysDescr的 OID。 MIB 是使原始机器生成的 OID 能够以更易于用户理解的方式显示的文件。 SevOne NMS 会在 对象的幌子下对 OID 进行分组。 对象 由索引值定义,并且可能具有多个 OID。 其中每个 OID 都使用 对象的 索引来解析其值,而 对象 下的每个 OID 都称为 指示符

例如, SevOne NMS 在概念上创建如下概述的对象。

对象

- Index 1
    - Indicators
      RFC1213-MIB::ifIndex
      RFC1213-MIB::ifDescr
      RFC1213-MIB::ifType
      RFC1213-MIB::ifSpeed
      RFC1213-MIB::ifPhysAddress
      RFC1213-MIB::ifAdminStatus
      RFC1213-MIB::ifOperStatus
      RFC1213-MIB::ifInOctets
      RFC1213-MIB::ifInDiscards
      RFC1213-MIB::ifOutOctets
      RFC1213-MIB::ifOutDiscards

每个接口 对象 通常具有相同的定义,但具有不同的索引值。 这意味着与系统的所有接口都是密切相关的。 SevOne NMS监控每个作为对象组成部分的 SNMP 项。

SNMP 结构中的每个条目都是一系列数字,例如 1.3.6.1.2.1.1.1。 当您阅读数字时,右边的每个数字都比左边的数字更具体。 右边的每个数字都被认为是左边的数字的子代。 此类数字的字符串称为 OID ,因为它定义特定对象或 对象的唯一标识。

MIB 定义 OID 的文本名称。 制造商往往有自己的 MIB 来描述其系统的具体情况。

有关 SNMP OID 浏览器的详细信息,请参阅 SNMP OID浏览器

管理信息库(MIB)是网络管理器( SNMP )代理与网络管理器( SNMP )之间共享的分层数据库。 它包含 设备的受管 对象 ,并且 OID 用于唯一地标识 MIB 中的每个 对象 。 MIB Manager 使您能够查看 MIB 详细信息和添加 MIB。 请参阅 MIB 管理器

SNMP 陷阱

SNMP 陷阱是一种通知机制,用于指示事件或状态变化,例如断电、认证失败、冷启动、热启动、接口状态及电压变化等。 SNMP 陷阱使设备能够发送信息。 陷阱包括事件,例如添加新接口或重新启动 设备 时。 陷阱事件使您能够为 SNMP 陷阱赋予实际意义。 SevOne NMS 提供若干常见陷阱事件。 "陷阱事件编辑器" 允许您定义特定于环境的陷阱事件。

详情请参阅 SevOne NMS 系统管理指南中的以下章节。

  • 记录的陷阱
  • 未知陷阱
  • 陷阱事件编辑器
  • 陷阱目标
  • 陷阱目标关联

关于 SNMP 的更多信息

SNMP SevOne NMS 视角

SevOne SNMP 脚本语言( S3 )是由 SevOne 开发的一种脚本语言,旨在使 SNMP 插件能够识别复杂的 SNMP 对象。 S3 的主要目的是描述 SNMP OID 与其他 SNMP OID 之间的关系。 S3 生成与OID相关且基于OID的文本,以便创建更易于用户理解的 SNMP 对象名称和描述。 S3 还通过逻辑和数学表达式将OID相互关联,以存储结果值供后续使用,例如在设备SNMP 树中交叉引用OID,以及收集特定对象的描述性信息。

SNMP 插件通过 S3 实现以下功能:

  • 定义 object 名称。
  • 定义 对象 描述。
  • 定义 对象类型
  • 确定要包含的 对象
  • 定义 指示符

SNMP 对象命名流程

SNMP 插件采用以下评分公式为新发现的天体命名。

假定要开始的最佳分数为 0。

  1. 浏览 设备的所有 对象
  2. 如果现有 对象的对象类型 是错误的名称,请跳过。
    • 可能的最佳分数为 5。
  3. 假定新的 对象 描述有效。
    • 如果新的 object 描述与 object type 名称相同,那么 object 描述是不行的。
    • 如果 SNMP 插件已找到的两项内容都包含对象描述,则该对象描述无效。
  4. 假定旧描述有效。
    • 如果现有 object 描述与 object type 名称相同,那么 object 描述是不行的。
    • 如果两个现有 对象 已具有该 对象 描述,那么 对象 描述不起作用。

      如果任一 对象 描述都不理想,那么现在可能的最佳分数为 4。

      当前分数为 0。

  5. 如果 object 名称相同,那么将当前分数增大 3。
    • 否则,如果新的 object 描述良好,并且现有 object 名称与新的 object 描述相同,请将当前分数增大 1。
  6. 如果这两个 对象 描述都良好且相同,请将分数提高 1。
    • 否则,如果现有 对象 描述良好,并且现有 对象 描述与新的 对象 名称相同,请将当前分数提高 1。
  7. 如果 SNMP 索引相同,则将当前得分增加1。
  8. 如果分数至少为 2 ,并且分数优于迄今为止的最佳分数,请将 对象 视为相同。

人员细分

// Scoring analysis.
// 
// Possible scores: / Current name matches existing name. [+3]
// 3,1,0            | Current description is good.
//                  \    Current description matches existing name. [+1]
// 
// Possible scores: / Existing description is good.
// 1,0              |    Current description is good.
//                  |       Existing description matches current description. [+1]
//                  \    Existing description matches current name. [+1]
// 
// Possible scores: / Current index matches existing index. [+1]
// 1,0              \
//
// So, when are things the same?
// 1. The names are the same.
// 2. The description (if good) matches an existing name AND the descriptions (if good) are the same.
// 3. The description (if good) matches an existing name AND the name is matches an existing description (if good).
// 4. The description (if good) matches an existing name AND the indexes are the same.
// 5. The name is matches an existing description (if good) AND the indexes are the same.
 

示例

注意: SevOne NMS 会发现并轮询带有两个网卡的路由器,每个网卡上有两个端口。

所有对象都属于接口 对象类型

每个端口都是一个对象

对象名称 对象描述 SNMP 索引 分数
Eth0 因特网访问权 1 具有轮询数据的现有 对象 不适用
Eth1 接口 2 具有轮询数据的现有 对象 不适用
Eth2 站点 1 3 具有轮询数据的现有 对象 不适用
Eth3 反向链接 4 具有轮询数据的现有 对象 不适用

重命名路由器上的端口。 在重新发现后, SNMP 插件将继续轮询对象 ,只要您不更改对象描述或 SNMP 索引,就不会发生任何变化或数据丢失。

对象名称 对象描述 SNMP 索引 分数
Ethernet0 因特网访问权 1 未丢失任何数据,轮询时仿佛仍为 Eth0 x
Ethernet1 接口 2 未丢失任何数据,轮询时仿佛仍是 Eth1 x
Ethernet2 站点 1 3 未丢失任何数据,轮询时仿佛仍是 Eth2 x
Ethernet3 反向链接 4 未丢失任何数据,轮询的数据好像仍为 Eth3 x

从路由器中除去第一个卡。 路由器会自动重命名每个端口。 在重新发现后, SNMP 插件将继续轮询对象 ,只要您不更改描述或索引,就不会发生任何变化或数据丢失。

对象名称 对象描述 SNMP 索引 分数
Ethernet0 因特网访问 1 为集群管理器中的 删除前的天数 设置存储的数据 x
Ethernet1 接口 2 为集群管理器中的 删除前的天数 设置存储的数据 x
Ethernet0 站点 1 3 未丢失任何数据,轮询方式仍为 Ethernet2 x
Ethernet1 反向链接 4 未丢失任何数据,轮询方式仍为 Ethernet3 x

您可以在集群管理器中的 删除前的天数 设置内将卡添加回路由器。 路由器会自动更改 object 名称。

对象名称 对象描述 SNMP 索引 分数
Ethernet0 因特网访问权 1 除去卡时的数据间隔,但未丢失任何数据,轮询方式为仍为 Ethernet0 x
Ethernet1 接口 2 除去卡但未丢失任何数据的时间的数据间隔,轮询时好像它仍然是 Ethernet1 x
Ethernet2 站点 1 3 未丢失任何数据,轮询的数据与先前发现的数据仍然是 Ethernet0 一样。 x
Ethernet3 反向链接 4 未丢失任何数据,轮询时好像它仍是来自先前发现的 Ethernet1 。 x

您决定重命名端口 4 并更改其描述。

对象名称 对象描述 SNMP 索引 分数
Ethernet0 因特网访问权 1 未丢失任何数据,轮询的数据与先前发现的数据仍然是 Ethernet0 一样。 x
Ethernet1 接口 2 未丢失任何数据,轮询时好像它仍是来自先前发现的 Ethernet1 。 x
Ethernet2 站点 1 3 未丢失任何数据,轮询数据的方式仿佛仍是先前发现的 Ethernet2 。 x
Eth3 站点三 4

已创建新的 对象 并收集新的轮询数据。

为集群管理器中的 删除前的天数 设置存储的现有数据。

x

SNMP 数据剖析

从最高层级来看, SevOne NMS 通过 SNMP 对象类型对每个 SNMP 对象进行分组。 每个 对象 都具有按 指示符类型分组的 指示符 。 SNMP 对象由OID组成,而OID又可分解为MIB。

如何对 OID 建立索引

设备制造商使用一组数字为 SNMP 命名OID。 例如,OID sysDescr1.3.6.1.2.1.1.1。 指定 OID 之后的所有内容都是 OID 索引。 系统范围的信息通常表示为 .0 信息。 .0 通常表示 OID 只有一个实例。 例如,该 sysDescr 指数始终为 0. OID 由一个ifDescr 的单一数字进行索引。 例如,服务器中以太网卡的描述可能是 ifDescr.3。 对 OID 后面的数字计数没有限制。 某些制造商使用整数索引,这些索引在每个 OID 后面都有恒定数量的数字,而某些制造商使用字符串索引来实现可读性。 字符串索引将一段文本 (字符串) 表示为一系列字符,其中每个字符表示为其 ASCII 值。 字符串索引有时以字符串的长度作为前缀。

索引类型

索引 描述 示例
整数 任意大小的单个数字。 可以是可用于接口索引的简单整数,例如 7
字符串 (具有长度) 文本字符串,以字符数为前缀,后跟每个字符的 ASCII 值。 文本 CPU 具有 3 个字符。 它是每个字符的 3.<ASCII 值>. 即, 3.67.80.85
字符串 (无长度) 长度不带前缀的字符串。 文本 CPU 采用 ASCII 值 ,字符数将为 67.80.85
数字 (带有长度) 数字没有 ASCII 含义的字符串索引。 IP 地址 4。192.158.0.1 在八位元之前包含其长度 (4)。
数字 (无长度) 没有长度且数字没有 ASCII 含义的字符串索引。 IP 地址 192.158.0.1 显示为一系列整数索引,并且不包含有关其长度的信息。

S3 如何处理 SNMP

S3 使用完整的数字 OID 表示 (从 .1开始) 来消除对 MIB 的依赖,并消除 OID 的潜在模糊性。 这使 object 定义完全可移植到另一个系统,因为不同的 MIB 可以任意重新定义 OID。

另一个 S3 功能部件是空格,制表符和换行符等空格字符是可选的,并且存在可读性。 以下所有内容都是等效的:

  • 7 + 9
  • 7 + 9
  • 7

    +9

  • 7

    +

    9

脚本

S3 脚本是一个或多个语句的顺序求值。 每个语句按顺序执行。 S3 提供的唯一逻辑来自三元运算符的类型模板,它的作用类似于 IF statement.The 最终结果是脚本中的最终语句的结果。

示例

Example 1:

Statement 1

Example 2:

1. Statement 1
2. Statement 2
3. Statement 3
语句

语句是脚本的原子单元。 语句可以将值赋给变量,或者语句可以是求值为某个值的表达式。 每个语句在执行时求值为某个值。 例如,在变量赋值的情况下,语句的值是变量的值。

语句是表达式的列表。 表达式链可能非常复杂且漫长。 所有 S3 语句都必须以分号 (;) 结尾。 脚本中的最后一个语句可能会省略分号。

Simple statement:

Expression ;

List statement where the final value is the concatenation of both expressions:

Expression 1 Expression 2 ;
表达式

表达式是语句的原子单元。 S3 是 OID 评估语言和文本创建语言。 多个表达式可以彼此相邻,并且它们的结果会并置在一起。 这与更多的逻辑和数学语言不同。

例如: 1 + 2 3 + 4

  • 在 C 中,需要在 23 之间进行连接操作,因为它们被视为两个不相关的表达式-这将导致语法错误。
  • 在 S3中,这被视为两个彼此相邻的单独表达式: 1 + 23 + 4。 该语句的结果为 37。 除非将空格括在引号内,否则空格无关紧要。

表达式是求值为值的任何值。 此值不必是数字。 一段文本对自身进行求值。 表达式可以是数字 7,单词 Hello或复杂数学公式。 只要整个表达式求值为单个值,表达式就可以是符号和运算符的链。

  • 数量

    7

  • 字符串:

    '你好'

  • 复杂配方:

    ((1 + 2) /12 + 34) * 10

  • 求值为数字或字符串的变量或 OID:

    [索引]

    .1.3.6.1.2.1.1.1.0

  • 多个分组表达式(括号内)连接在一起:

    (7 'Hello' ((1 + 2)) /12 + 34) * 10 [INDEX].1.3.6.1.2.1.1.1.0 )

变量

变量求值为 OID 以存储表达式的值。 S3 具有两种类型的变量: 标量和向量。

  • Scalar -作为单个数字或某个文本的任何内容。
  • 向量 -事物的数组。 S3 中的向量与常规脚本编制语言中的向量不同。 在 S3中,向量面向 OID ,因为单个 OID 表示为 .<number> ,而完整 OID 是一个又一个 .<numbers>s 的序列。 S3 通过 将变量分解为向量。 字符。

变量是用方括号括起的名称。 变量名称由以下字符组成 :a-z , A-Z , 0-9 和-。

[Variable Name]

变量赋值是一个表达式。 赋值的求值是新的变量值。 变量赋值使用 = 运算符。

[Variable name] = Expression

S3 使用以下约定来区分 SevOne 系统变量和用户变量。 这将阻止用户变量覆盖系统变量。 没有强制实施此操作的规则。

  • SevOne 系统变量将大写字母和下划线用于空格。 [MY_VARIABLE]
  • 用户变量使用小写字母,下一个单词中的大写字母,而不使用空格的下划线。 [myVariable]

S3 可以将变量作为 OID 进行处理和求值。 使用前必须声明每个变量。 没有特殊声明语法,但在表达式中使用变量之前,该变量必须具有赋值。 将对标量变量和向量变量进行求值并将原始变量插入到表达式中。

当对标量变量求值时, S3 不会对标量变量执行任何特殊操作。

对向量变量求值时,将写入该向量变量的每个组件并以 . 分隔。 向量变量中的元素在数字上为零索引。 第一个元素从 0开始,第二个元素从 1开始,以此类推。 要访问向量变量的特定元素,请将元素索引括在变量后面的花括号中。

[Variable Name ]{Index number }

变量不能用作索引号。 索引号必须是实际数字。

向量变量中的每个元素通常是标量变量。 但是,当向量变量中的元素是另一个向量变量时,存在例外情况。

不应将某些变量求值为 OID。 将变量括在 backticks (`) 中,以防止将该变量求值为 OID。 如果某个变量仅包含一个数字,那么如果未反勾,那么该变量将被视为正常数字。 但是,对变量进行反勾总是安全的,以防止不正确的求值。 文本求值为自身。 文本被视为括在引号内的任何内容。 反引号可以在单引号字符串中,而该单引号字符串可以在反引号括起的字符串中。

  • 单引号 (')-单引号用于原始文本。 不会以任何方式处理文本内容,例如, 'Anything here'.
  • Backticks (`)-Backticks 用于变量插值。 将对文本中存在的任何变量进行求值,例如 `Anything here, including variables`.

S3 OID 处理

将对 OID 进行求值。 任何非文本,变量,运算符,正常数字或其他特殊符号都被视为 OID。 对 OID 求值时,它将求值为当前 设备上 OID 的值。 如果设备上不存在该OID,则使用该OID,后跟默认的 SNMP 索引。 如果无法对 OID 求值,那么它将求值为空字符串。

这里需要注意的是,如果要改为使用变量的值,那么必须将其周围没有反记号的变量视为完全相同。 这意味着包含 OID 字符串表示的变量在迂到时将求值为该 OID。

以下示例可能无法按预期工作。

1 [test] = 'test';
2 [test1] = [test] 1;

You might expect the value of [test1] to be test1. However, since [test] is not backticked, it is treated as if the text test were present. As such, S3 tries to get the value of the OID whose name is test. Since there is not one, it returns the empty string. This means that the final value is actually 1.

The proper way to do this is:

1 [test] = 'test'; 
2 [test1] = `[test]` 1;

This example backticks the variable to prevent it from being evaluated as an OID.
建立索引

迂到 OID 时, S3 会尝试对其求值。 如果 S3 无法评估 OID,则 S3 将默认索引的值添加到 OID 中,对于 SNMP 的发现,该值为 [INDEX]。 如果 S3 仍无法解析该 OID,则该 OID 将解析为空字符串。 这允许对 对象指示符进行人类可读和人类可理解的定义。 然而,这也导致失去严格的定义。

如果 OID 已具有 。[INDEX] 追加到其中,然后 OID 将保存步骤 S3 。

符号

符号是在 S3中具有特殊功能的特殊标记 (字符或字符集合)。

组合

用于定义应该对其求值的序列的括号组表达式。 这在数学应用中常用。

示例

1 + 2 * 3

(which is 7)

Is not the same as:

( 1 + 2 ) * 3

(which is 9).

Parentheses can change two expressions into one expression.

Example:

( 1 + 2 3 + 4 )

Evaluates to the single value 37, which could be used by further expressions.
运算符

运算符是对表达式执行操作的任何符号。 有三种类型的运算符:

  • 一元运算符 -仅对一个值 (例如, Not) 执行操作。
  • 二进制运算符 -对两个值 (例如, "添加") 执行操作。
  • 三元运算符 -作用于三个值 (例如 ...? ...: ... 是 C) 中的三元运算符。
数学

使用通常的优先顺序来应用公共数学运算符。 数学运算符具有完全浮点支持。

Multiplication (Standard multiplication)

Left expression * Right expression

Division (Standard division)

Left expression / Right expression

Addition (Standard addition)

Left expression + Right expression

Subtraction (Standard subtraction)

Left expression - Right expression
注: 由于 MIB 名称可以包含短划线 -(与减号 -相同) ,因此所有减法数学运算符在减号前后必须有空格。
比较

比较运算符比较两个返回 1 (如果比较为 true) 或 0 (如果比较为 false) 的表达式。

Equal to, Boolean == returns 1 if the left and right side are equal.

Left expression == Right expression

Not equal to, Boolean != returns 1 if the left and right side are not equal.

Left expression != Right expression

Less than, Boolean < returns 1 if the left side is less than the right side.

Left expression < Right expression

Less than or equal to, Boolean <= returns 1 if the left side is less than or equal to the right side.

Left expression <= Right expression

Greater than, Boolean > returns 1 if the left side is greater than the right side.

Left expression > Right expression

Greater than or equal to, Boolean >= returns 1 if the left side is greater than or equal to the right side.

Left expression >= Right expression
逻辑

逻辑运算符通常执行 true/false 操作。 S3 使用以下逻辑运算符。

Binary
Binary logical operators operate on two expressions.

Logical AND, Boolean && returns 1 if the left and right side evaluate to true. Otherwise, it returns 0.

Left expression && Right expression

Logical OR, Boolean || returns 1 if the left side evaluates to true, the right side evaluates to true, or both evaluate to true. Otherwise, it returns 0.

Left expression || Right expression

Bamboo, ||| is actually a shortcut for a particularly common case of the ?? ternary operator. It returns the value on the left if it is set. Otherwise, it returns the value on the right regardless of its value.

Left expression ||| Right expression

This is equivalent to the following:

Left expression ?? Left expression : Right expression

Ternary
Ternary logical operators operate on three expressions. S3 has two ternary operators.

Logical ternary operator, ? evaluates the left expression for a test that is greater than 0 (numerically) or for a string that has length and is not 0. Otherwise, it evaluates the right expression. For this reason, the test is usually a logical Boolean expression that returns 0 or 1, guaranteed.

test ? Left expression : Right expression

Existential ternary operator, ?? evaluates the left expression for a test that has a value that is not the empty string. Otherwise, it evaluates the right expression.

test ?? Left expression : Right expression
注: test ?? test : Right expression

等同于:

test ||| Right expression

计数

散步的结果, #count 会散步指定的 OID ,并返回 OID 出现次数的计数。 这不会以解析其他裸 OID 以获取 OID 值的方式来解析 OID。 此 #count 会立即解析 OID 计数。 这与通过 OID 步行解析 OID 的方式不同。

示例

To count the number of CPUs on a Linux device to determine what the maximum CPU utilization could be: net-snmp returns up to 800% utilization for a box with eight CPUs.

#count OID

Example:

#count .1.3.6.1.2.1.25.3.3.1.2

Can evaluate to 8.
转岗

由于 OID 可能由数字,字符串或可变大小的组件建立索引,因此 S3 使用对单个表达式进行操作的转换运算符。

转换为 OID
OID-to-ASCII-string (with length), $s converts the expression to an ASCII string.

$s Expression

The expression should be an OID with the following format:

n.ASCII 1.ASCII 2.....ASCII n

Example:

$s '5.72.101.108.108.111'

Evaluates to Hello.

OID-to-ASCII-string (no length), $S converts the expression to an ASCII string.

$S Expression

The expression should be an OID with the following format:

ASCII 1.ASCII 2

Example:

$S '72.101.108.108.111'

Evaluates to Hello.

OID-to-numbers (with length), $v converts the expression to a string.

$v Expression

The expression should be an OID with the following format:

n.Number 1.Number 2.....Number n

Example:

$v '4.192.168.0.1'

Evaluates to 192.168.0.1.

OID-to-numbers (no length), $V Identity operation. The value should be the same as the expression.

$V Expression

This converts the expression to a string. The expression should be an OID with the following format:

Number 1.Number 2.

Example:

$V '192.168.0.1'

Evaluates to 192.168.0.1.

Conversion to OID
String-to-OID (with length), #s converts the expression to an OID with the length prefixed. The expression should be ASCII text.

#s Expression

Example:

#s 'Hello'

Evaluates to 5.72.101.108.108.111.

String-to-OID (no length), $s converts the expression to a string with no length information. The expression should be ASCII text.

#S Expression

Example:

#S 'Hello'

Evaluates to 72.101.108.108.111.

Numbers-to-OID (with length), #v converts the expression to an OID with the length prefixed. The expression should be text consisting of numbers separated by the use of . .

#v Expression

Example:

#v '192.168.0.1'

Evaluates to 4.192.168.0.1.

Numbers-to-OID (no length), #V Identity operation. The value should be the same, as the expression converts the expression to an OID with no length information. The expression should be text consisting of numbers separated by the use of . .

#V Expression

Example:

#V '192.168.0.1'

Evaluates to 192.168.0.1.
组合

转换运算符的参数应括在括号中,以避免混淆。

要获取文本 37 (即 2.51.55) 的 OID 索引表示,您可以尝试:

#s 1 + 2 3 + 4

但是, #s 仅适用于生成 1.491 。 (491的 ASCII)。 该值将添加到 2 (1.49 + 2 = 3.49) ,然后与 7 并置 (生成 3.497)。 必须使用括号:

#s ( 1 + 2 3 + 4 )

求值为 2.51.55 (字符串形式为 37)。

优先顺序

运算符和符号的优先顺序如下所示。 给定选项 (即,未使用括号时) 时, S3 将按以下顺序评估操作。

此列表中保留了正常数学运算符优先顺序 (*/+-)。

  1. "text" "text"
  2. ()
  3. #s #S #v #V $S $v $V
  4. * /
  5. + -
  6. == != > >= < <=
  7. &&
  8. ||
  9. |||
  10. :
  11. ? ??
  12. =

变量分配示例

以下示例将正确的值分配给变量。 每个变量的名称与其值匹配。

  1. [1] = 1;
  2. [2] = 1 + 1;
  3. [two] = ` [one] ` + ` [one] `-1 + 1;
  4. [10] = (2 + 1) * 3 + 1;

以下示例将所有三个变量都设置为等于 12。

1 [x] = [y] = [z] = 12;

逻辑

以下示例演示布尔逻辑。

  1. bothXandY = `[x]` &amp;&amp; `[y]`;
  2. eitherXorYorBoth = `[x]` || `[y]`;
  3. eitherXorY = ( `[x]` &amp;&amp; (`[y]` ? 0 : 1) ) || ( `[y]` &amp;&amp; (`[x]` ? 0 : 1) );
  4. [notX] = ` [x] `? 0: 1;

以下示例选择 ifName 的值 (如果存在)。 否则,将选择 ifDescr的 he 值。

[bamboo] = ifName ||| ifDescr;

以下示例演示了三元运算符的用法。

  1. [sevenOrEight1] = ` [x] `? 7: 8;
  2. [sevenOrEight2] = ` [x] `? 6 + 1: 2 * 2 + 4;
转岗

以下示例将文本 CPU 转换为 OID 索引。 各个字母的 ASCII 值为 C=67P=80U=85

#s 'CPU'

The result of this is 3.67.80.85 (includes a length prefix).

#S 'CPU'

The result of this is 67.80.85 (no length prefix).

The following examples convert the specified OID indexes into strings.

$s '3.67.80.85'

The result of this is CPU.

$S '67.80.85'

The result of this is also CPU.

示例

VACM 条目

Net- SNMP 代理支持NET- SNMP -VACM-MIB ,该MIB提供有关Net- SNMP 视图访问控制模型(VACM)的部分信息。

以下是 nsVacmAccessEntry (.1.3.6.1.4.1.8072.1.9.1.1) 的样本步行

NET-SNMP-VACM-MIB::nsVacmContextMatch."grpcomm1"."".0.noAuthNoPriv."read"
= INTEGER: prefix(2)
NET-SNMP-VACM-MIB::nsVacmContextMatch."grpcomm1"."".0.noAuthNoPriv."write"
= INTEGER: prefix(2)
NET-SNMP-VACM-MIB::nsVacmContextMatch."grpcomm1"."".0.noAuthNoPriv."notify"
= INTEGER: prefix(2)
NET-SNMP-VACM-MIB::nsVacmContextMatch."grpsnmpUser"."".3.authNoPriv."read"
= INTEGER: prefix(2)
NET-SNMP-VACM-MIB::nsVacmContextMatch."grpsnmpUser"."".3.authNoPriv."write"
= INTEGER: prefix(2)
NET-SNMP-VACM-MIB::nsVacmContextMatch."grpsnmpUser"."".3.authNoPriv."notify"
= INTEGER: prefix(2)
NET-SNMP-VACM-MIB::nsVacmViewName."grpcomm1"."".0.noAuthNoPriv."read"
= STRING: all
NET-SNMP-VACM-MIB::nsVacmViewName."grpcomm1"."".0.noAuthNoPriv."write"
= STRING: none
NET-SNMP-VACM-MIB::nsVacmViewName."grpcomm1"."".0.noAuthNoPriv."notify"
= STRING: none
NET-SNMP-VACM-MIB::nsVacmViewName."grpsnmpUser"."".3.authNoPriv."read"
= STRING: all
NET-SNMP-VACM-MIB::nsVacmViewName."grpsnmpUser"."".3.authNoPriv."write"
= STRING: all
NET-SNMP-VACM-MIB::nsVacmViewName."grpsnmpUser"."".3.authNoPriv."notify"
= STRING: all
NET-SNMP-VACM-MIB::nsVacmStorageType."grpcomm1"."".0.noAuthNoPriv."read"
= INTEGER: permanent(4)
NET-SNMP-VACM-MIB::nsVacmStorageType."grpcomm1"."".0.noAuthNoPriv."write"
= INTEGER: permanent(4)
NET-SNMP-VACM-MIB::nsVacmStorageType."grpcomm1"."".0.noAuthNoPriv."notify"
= INTEGER: permanent(4)
NET-SNMP-VACM-MIB::nsVacmStorageType."grpsnmpUser"."".3.authNoPriv."read"
= INTEGER: permanent(4)
NET-SNMP-VACM-MIB::nsVacmStorageType."grpsnmpUser"."".3.authNoPriv."write"
= INTEGER: permanent(4)
NET-SNMP-VACM-MIB::nsVacmStorageType."grpsnmpUser"."".3.authNoPriv."notify"
= INTEGER: permanent(4)
NET-SNMP-VACM-MIB::nsVacmStatus."grpcomm1"."".0.noAuthNoPriv."read"
= INTEGER: active(1)
NET-SNMP-VACM-MIB::nsVacmStatus."grpcomm1"."".0.noAuthNoPriv."write"
= INTEGER: active(1)
NET-SNMP-VACM-MIB::nsVacmStatus."grpcomm1"."".0.noAuthNoPriv."notify"
= INTEGER: active(1)
NET-SNMP-VACM-MIB::nsVacmStatus."grpsnmpUser"."".3.authNoPriv."read"
= INTEGER: active(1)
NET-SNMP-VACM-MIB::nsVacmStatus."grpsnmpUser"."".3.authNoPriv."write"
= INTEGER: active(1)
NET-SNMP-VACM-MIB::nsVacmStatus."grpsnmpUser"."".3.authNoPriv."notify"
= INTEGER: active(1)

具有数字 OID

.1.3.6.1.4.1.8072.1.9.1.1.2.8.103.114.112.99.111.109.109.49.0.0.1.4.114.101.97.100
= INTEGER: prefix(2)
.1.3.6.1.4.1.8072.1.9.1.1.2.8.103.114.112.99.111.109.109.49.0.0.1.5.119.114.105.116.101
= INTEGER: prefix(2)
.1.3.6.1.4.1.8072.1.9.1.1.2.8.103.114.112.99.111.109.109.49.0.0.1.6.110.111.116.105.102.121
= INTEGER: prefix(2)
.1.3.6.1.4.1.8072.1.9.1.1.2.11.103.114.112.115.110.109.112.85.115.101.114.0.3.2.4.114.101.97.100
= INTEGER: prefix(2)
.1.3.6.1.4.1.8072.1.9.1.1.2.11.103.114.112.115.110.109.112.85.115.101.114.0.3.2.5.119.114.105.116.101
= INTEGER: prefix(2)
.1.3.6.1.4.1.8072.1.9.1.1.2.11.103.114.112.115.110.109.112.85.115.101.114.0.3.2.6.110.111.116.105.102.121
= INTEGER: prefix(2)
.1.3.6.1.4.1.8072.1.9.1.1.3.8.103.114.112.99.111.109.109.49.0.0.1.4.114.101.97.100
= STRING: all
.1.3.6.1.4.1.8072.1.9.1.1.3.8.103.114.112.99.111.109.109.49.0.0.1.5.119.114.105.116.101
= STRING: none
.1.3.6.1.4.1.8072.1.9.1.1.3.8.103.114.112.99.111.109.109.49.0.0.1.6.110.111.116.105.102.121
= STRING: none
.1.3.6.1.4.1.8072.1.9.1.1.3.11.103.114.112.115.110.109.112.85.115.101.114.0.3.2.4.114.101.97.100
= STRING: all
.1.3.6.1.4.1.8072.1.9.1.1.3.11.103.114.112.115.110.109.112.85.115.101.114.0.3.2.5.119.114.105.116.101
 = STRING: all
.1.3.6.1.4.1.8072.1.9.1.1.3.11.103.114.112.115.110.109.112.85.115.101.114.0.3.2.6.110.111.116.105.102.121
= STRING: all
.1.3.6.1.4.1.8072.1.9.1.1.4.8.103.114.112.99.111.109.109.49.0.0.1.4.114.101.97.100
= INTEGER: permanent(4)
.1.3.6.1.4.1.8072.1.9.1.1.4.8.103.114.112.99.111.109.109.49.0.0.1.5.119.114.105.116.101
= INTEGER: permanent(4)
.1.3.6.1.4.1.8072.1.9.1.1.4.8.103.114.112.99.111.109.109.49.0.0.1.6.110.111.116.105.102.121
= INTEGER: permanent(4)
.1.3.6.1.4.1.8072.1.9.1.1.4.11.103.114.112.115.110.109.112.85.115.101.114.0.3.2.4.114.101.97.100
 = INTEGER: permanent(4)
.1.3.6.1.4.1.8072.1.9.1.1.4.11.103.114.112.115.110.109.112.85.115.101.114.0.3.2.5.119.114.105.116.101
= INTEGER: permanent(4)
.1.3.6.1.4.1.8072.1.9.1.1.4.11.103.114.112.115.110.109.112.85.115.101.114.0.3.2.6.110.111.116.105.102.121
= INTEGER: permanent(4)
.1.3.6.1.4.1.8072.1.9.1.1.5.8.103.114.112.99.111.109.109.49.0.0.1.4.114.101.97.100
= INTEGER: active(1)
.1.3.6.1.4.1.8072.1.9.1.1.5.8.103.114.112.99.111.109.109.49.0.0.1.5.119.114.105.116.101
= INTEGER: active(1)
.1.3.6.1.4.1.8072.1.9.1.1.5.8.103.114.112.99.111.109.109.49.0.0.1.6.110.111.116.105.102.121
= INTEGER: active(1)
.1.3.6.1.4.1.8072.1.9.1.1.5.11.103.114.112.115.110.109.112.85.115.101.114.0.3.2.4.114.101.97.100
= INTEGER: active(1)
.1.3.6.1.4.1.8072.1.9.1.1.5.11.103.114.112.115.110.109.112.85.115.101.114.0.3.2.5.119.114.105.116.101
= INTEGER: active(1)
.1.3.6.1.4.1.8072.1.9.1.1.5.11.103.114.112.115.110.109.112.85.115.101.114.0.3.2.6.110.111.116.105.102.121
= INTEGER: active(1)
建立索引

S3 有两个用于正确对条目建立索引的选项:

  1. S3 可以选择可变长度索引 (无长度前缀)。 但是,这使 S3 无法洞察索引的组件。 没有可用于确定作为 对象进入系统的任何条目的正确名称的 OID。
  2. S3 可以显式定义每个索引组件,这允许 S3 单独引用每个组件以正确命名 对象

索引由以下类型的字段组成。

示例

"grpcomm1"."".0.noAuthNoPriv."read"

  • 字符串 (例如, grpcomm1)-根据 MIB ,这是此条目的组名。
  • 字符串 (例如, "")-根据 MIB ,这是名称必须匹配才能获取访问权的前缀。
  • 整数 (例如, 0)-根据 MIB ,这是正在使用的安全模型。 这大致对应于 SNMP 版本( 其中 0表示任意)。
  • 整数(例如 ,noAuthNoPriv即1) ——根据MIB,这是获得访问权限所需的最低安全级别。
  • 字符串 (例如, read)-根据 MIB ,这是要应用指定视图的处理类型。

S3 具有以下信息:

  • [INDEX] 为 8.103.114.112.99.111.109.109.49.0.0.1.4.114.101.97.100。
  • [INDEX]{0} 是 8.103.114.112.99.111.109.109.49。
  • [INDEX]{1} 为 0。
  • [INDEX]{2} 为 0。
  • [INDEX]{3} 为 1。
  • [INDEX]{4} 为 4.114.101.97.100。

命名

S3 使用以下信息为 VACM 条目命名 对象

group name [匹配 prefix ] ,使用 {any version |security model } security level ,提供 处理

S3,修订版 1

安全级别是枚举。 S3 为其值创建具有相应文本表示的变量。

必需的 S3:

  1. [securityLevel] = (` [INDEX]{3}` == 1? 'noAuthNoPriv': ( `[INDEX] 3 ` == 2 {}
  2. ? 'authNoPriv' : ( `[INDEX] { 3 } ` == 3 ? 'authPriv' : '(未知)' ) ) );

名称:

  1. "组" ( ` [INDEX]{0}`) (( ` [INDEX]{1}`)? ("匹配" ( "[INDEX]{1}"): ")
  2. "using" (` [INDEX]{2}`? ` v [INDEX]{2}`: 'any version ') ` 带有 [securityLevel] ,提供 `
  3. ( ` [INDEX]{4}`)

求值为:

grpcomm1使用任何noAuthNoPriv,版本,提供读取权限

S3,修订版 2

第一个 名称 S3 太长,不太可读。 在第二个修订版中, S3 将名称的各个部分分配给变量,并在末尾链接名称。

必需的 S3:

  1. [groupName] = ( ` [INDEX]{0}`);
  2. [matchText] = (( ` [INDEX]{1}`)? ("匹配" ( "[INDEX]{1}"): '');
  3. [versionText] = (` [INDEX]{2}`? ` v [INDEX]{2}`: '任何版本');
  4. [securityLevel] = (` [INDEX]{3}` == 1? 'noAuthNoPriv':( `[INDEX] 3 ` == 2 ? {} 'authNoPriv' :
  5. (` [INDEX]{3}` == 3? 'authPriv' : '(未知)' ) ) );
  6. [processingText] = ( ` [INDEX]{4}`);

名称:

`Group [groupName][matchText] using [versionText] with [securityLevel], providing
          [processingText]`

求值为:

Group grpcomm1 using any version with noAuthNoPriv, providing read

最终结果是一样的,但名字更容易阅读和理解。 不同的是,每个组件 S3 都拆分为单独的变量。 这允许名称是单个内插字符串。

上下文

S3 评估 OID。 评估必须在特定的 SNMP 代理的上下文中进行。

S3 在 SNMP 的发现时间中用于特定设备。 所有 S3 语句都在该设备的上下文中执行。 这意味着每次遇到OID时,都会向设备查询其值,并将该值返回给 S3 语句。

对象上下文

S3 的主要用途是定义从通用规则集描述特定 对象 的方法。 当 SNMP 发现脚本遍历可能的对象类型时,它会为每种对象类型生成一个单独的对象索引列表。 该 对象类型 的规则将应用于它迂到的每个索引,以便为每个索引生成唯一的 对象

以下 SNMP 对象编辑器字段将按顺序对每个对象进行评估。

  1. 变量
    • 迷你 S3 脚本会生成供以后使用的变量。
    • 生成的变量:
      • (任何存在)
  2. 子类型表达式
    • 确定 对象的子类型。
    • 生成的变量:
      • [TYPE]: 子类型 (如果有) 的数字值。
      • [TYPE NAME]: 子类型的名称 (如果有)。
      • [TYPE DESCRIPTION]: 子类型的描述 (如果有)。
  3. 断言表达式
    • 如果 对象 未传递断言表达式,那么将跳过此操作。
    • 不应定义任何变量。
  4. 名称表达式
    • 在设备对应的 SNMP 插件中唯一标识对象
    • 不应定义任何变量。
  5. 描述表达式
    • 应提供 对象的信息描述。 如果未设置,请使用 对象类型
    • 不应定义任何变量。

在任何评估发生之前, [INDEX] 变量会被设置为当前对象的 SNMP 索引。 这是一个向量变量。 向量中的每个索引都对应于为此 对象类型定义的每个特定索引键。 其中每个也可能是一个向量。 由于系统变量生成顺序的限制,若在变量生成前就使用该变量, S3 将报错。

指示符上下文

SNMP 指标编辑器中针对特定指标“表达式 ”字段,同样是一个 S3 表达式。 指示符 不应设置变量。 最大值表达式字段同样是一个 S3 表达式。

指示符 表达式和最大值表达式可以使用上面为 对象定义的任何变量,包括 变量 字段中的任何用户定义的变量。

这使 指示符 定义能够通过使用 S3 来组合 OID 以根据需要进行轮询,从而绕过任何奇怪的索引 (包括无序索引)。

合成指示符

Indicator 表达式是唯一的,因为它们是在双通道系统中处理的。 SNMP 插件未实现 S3 接口。 它实现了一个简单的数学库。 传递到轮询器的数据中存在的任何 OID 都必须使用其索引信息进行完全扩展。 要完成此操作,将在 Indicator 表达式上使用两个传递。

S3 的文本转换函数在任何一次传递中都不起作用。

首次通过

第一个通行证是扩展通行证。 它通过将完整索引值添加到其末尾来扩展迂到的任何 OID。 这相当于使每个 OID 都以 结尾。[INDEX]。 将保存此传递的结果,并且不应生成任何实际值。

第二次传递

然后,第二个检验将 (通常) 评估第一个检验的结果。 如果此传递导致数字值,那么将假定 指示符 存在。 第一次传递的结果将存储以供轮询器使用。

使用标准数学表达式 (而不是额外的 S3 操作) 来执行 指示符 表达式很重要。 这些表达式必须符合正常的数学规则 (例如,不能在没有连接运算符的情况下有两个表达式相邻)。 这些表达式可能包含以下运算符:

/ + -

以及以下分组符号:

( )

注: 可以在第一次传递时绕过 OID 扩展。 已评估的第一次通过的全部结果将传递到第二次通过。 第一次传递中的任何文本在第二次传递中都没有其引号。 因此, OID 可以被引用,并与第二遍中引用的完全一样使用。 可以引用整个第一次传递,以防止 S3 执行任何智能操作。

要使每个接口报告 (作为 指示符) 设备 上的接口总数 (乘以 10) ,以下 指示符 表达式不起作用:

ifNumber.0 * 10

ifNumber.0 使用缺省索引展开,在这种情况下,缺省索引可以是 .2,例如 (生成 ifNumber.0.2,这不是期望的结果):

ifNumber.0.2 * 10

但是,以下方法会使系统接受 OID:

`ifNumber.0` * 10

这将产生以下结果:

ifNumber.0 * 10

这是期望的结果。

二证制度总结
  1. 传递 1
    1. 将展开 OID。
    2. 文本未加引号。
  2. 传递 2
    1. 将对传递 1 进行求值。
注: 执行 使用文本转换函数。

ASCII 列表

以下列出了前 128 个 ASCII 值以及每个 ASCII 值的相应字符值。

snmp_asciiTable

故障诊断

以下是针对 SNMP 相关问题的一些故障排除技巧。 从基础知识入手是个好主意。 根据问题的性质,您可能希望确认 设备 已启动并且能够对其执行 ping 操作。

无法查看接口?

若您无法查看某个设备界面,可能是由于社区字符串错误导致 SevOne NMS无法 SNMP 遍历该设备。 执行以下步骤以验证设备的 SNMP 社区字符串是否正确。

  1. 设备 下拉列表中选择 设备管理器
  2. 选择目标设备并点击 wrenchIcon ,以显示 “编辑设备 ”页面。
  3. 在 SNMP 插件部分,请确认社区字符串和 SNMP 版本是否正确。
  4. 如果两者都正确,请登录到 设备 并输入以下命令以运行 设备

    snmpwalk -v<version> -c<community string> <ip address>
     
  5. 如果命令失败,则 SevOne NMS无法 SNMP 遍历该设备。 尝试从其他位置走走 device ,以确保正确配置了 device

无法 SNMP 设备常见原因包括以下几点:

  • 路由-没有从 SevOne NMS 到 设备的路由。
  • 防火墙——位于 SevOne NMS与设备之间的一台路由器正在阻断 SNMP 的流量。

没有收到警报?

SevOne NMS 会收集所有陷阱,并提供公共陷阱事件的集合。 具有相应陷阱事件的陷阱将显示在 "已记录的陷阱" 页面上。 没有相应陷阱事件的陷阱将显示在 " 未知陷阱 " 页面上。 "未知陷阱" 页面具有 配置陷阱事件 按钮,用于提供对 " 陷阱事件编辑器" 的访问权,您可在其中为特定网络配置陷阱事件。

如果您认为应该从特定 设备接收到有关陷阱的警报,请转至 "未知陷阱" 页面,并使用过滤器按 设备的 IP 地址进行搜索。

如果陷阱未解析为 OID 名称,那么 SevOne NMS 中不包含该陷阱的 MIB。 SevOne NMS 仍会处理陷阱,并且陷阱会显示为 OID 编号而不是名称。

访问列表

若您在从设备获取 SNMP 数据时遇到困难,访问列表可能是另一个潜在原因。 SNMP 访问列表可用于将 SNMP 数据限制为仅向特定IP地址发送。 若您已确认在 SevOne NMS 中设置的 SNMP 参数正确无误,且尝试获取 SNMP 数据的设备均无故障,请确保 SevOne NMS 未因访问列表配置而被排除在外。

相关术语

认证协议
一个网络实体用于向另一个网络标识确认其标识的协议。
共用字符串
作为密码使用的文本字符串,用于验证 SNMP 代理与 SNMP 管理器之间发送的消息。
本地化密钥
用户与 SNMP 引擎之间共享的密钥。
protocol data unit(协议数据单元,PDU)
特定协议层中的数据单元。 PDU 表示的单元根据 OSI 模型所在的层而有所不同。 例如,它在层 2 中被视为帧,在层 3 中被视为包。