GetSNMP

文档中心 › 组件索引 › GetSNMP

GetSNMP Processor

类型全限定名:cn.org.acal.lynxus.snmp.processors.GetSNMP

所属 Bundle:cn.org.acal.lynxus:lynxus-snmp-nar:2.11.8

描述

使用 SNMP Get 请求从 SNMP 代理检索信息,并输出包含属性信息但不包含任何内容的 FlowFile

标签

snmpgetoidwalk

属性

下表中,加粗的属性为必填项;其余为可选项。表格同时标注默认值、是否支持表达式语言,以及是否为敏感属性(值会被加密)。

名称默认值可选值描述
SNMP Agent HostnamelocalhostSNMP 代理的主机名或网络地址。
支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值)
SNMP Agent Port161SNMP 代理的端口。
支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值)
SNMP 版本SNMPv1
  • v1 — SNMP 版本 1
  • v2c — SNMP 版本 2c
  • v3 — SNMP 版本 3 具有更高的安全性
已经开发并部署了三个重要的 SNMP 版本。SNMPv1 是该协议的原始版本。较新的版本SNMPv2c 和 SNMPv3 在性能、灵活性和安全性方面有所改进。
SNMP CommunitypublicSNMPv1 和 SNMPv2 使用社区名称来建立管理器和代理之间的信任。大多数代理支持三个社区名称,分别用于只读、读写和陷阱。这三个社区字符串控制不同类型的活动。只读社区适用于 get 请求。读写社区字符串适用于 set 请求。陷阱社区字符串适用于接收陷阱。
敏感属性:是
SNMP Security LevelnoAuthNoPriv
  • noAuthNoPriv — 不启用认证和隐私的通信。
  • authNoPriv — 启用认证但不启用隐私的通信。
  • authPriv — 启用认证和隐私的通信。
SNMP 版本 3 通过基于用户的安全模型 (USM) 提供额外安全性。三个安全级别为:1. 无身份验证和加密的通信 (NoAuthNoPriv)。2. 有身份验证但无加密的通信 (AuthNoPriv)。3. 有身份验证和加密的通信 (AuthPriv)。
SNMP Security Name用于 SNMP v3 身份验证的用户名。
SNMP Authentication Protocol
  • SHA224 — 使用 SHA224(SHA-2 的一个变体)的 HMAC,用于确保数据完整性和真实性。它将 HMAC 结构与 SHA224 哈希函数相结合。
  • SHA256 — 使用 SHA256(SHA-2 系列中广泛使用的安全哈希函数)的 HMAC,提供强大的数据完整性和真实性保证。
  • SHA384 — 使用 SHA384(SHA-2 的更强变体,提供 384 位哈希)的 HMAC,以提升数据完整性和真实性的安全性。
  • SHA512 — 使用 SHA512(SHA-2 系列,提供 512 位哈希)的 HMAC,为数据完整性和真实性提供最高级别的安全性。
基于哈希的身份验证协议,用于安全身份验证。
SNMP Authentication Passphrase用于 SNMP 身份验证协议的密码。
敏感属性:是
SNMP Privacy Protocol
  • DES — 数据加密标准(DES)是一种较旧的对称密钥算法,用于加密数字数据。由于其 56 位密钥长度过短、易受暴力破解攻击,DES 被认为不安全。它现在通常已被更强的加密协议所取代。
  • AES128 — 具有 128 位密钥长度的高级加密标准(AES),在速度和安全性之间提供平衡。AES128 被广泛认为是安全的,并常用于各种密码学应用。
  • AES192 — 具有 192 位密钥长度的高级加密标准(AES),提供比 AES128 更高的安全级别,适用于需要更强加密的应用。
  • AES256 — 具有 256 位密钥长度的高级加密标准(AES),提供最高级别的加密强度。AES256 是高安全性应用的推荐选择,并被认为对暴力破解攻击具有极高的抵抗力。
隐私允许对 SNMP v3 消息进行加密,以确保数据的机密性。
SNMP Privacy Passphrase用于 SNMP 隐私协议的密码。
敏感属性:是
Number of Retries0设置请求 SNMP 代理时的重试次数。
Timeout5000设置请求 SNMP 代理时的超时(以毫秒为单位)。
OID每个 OID(对象标识符)标识一个可以通过 SNMP 读取或设置的变量。对于传入的 FlowFile,此值不会被考虑,将被省略。当 OID 通过 FlowFile 提供时,可以设置为空字符串。
Textual OID要请求的数字 OID 的文本形式。此属性由用户定义,不会被处理也不会追加到传出的 FlowFile 中。
SNMP StrategyGET
  • GET — 管理者到代理的检索变量值的请求。 返回当前值的响应。
  • WALK — 管理者到代理的检索多个变量值的请求。SNMP WALK 还会遍历指定 OID 下的所有子节点。
要使用的 SNMP 策略(SNMP Get 或 SNMP Walk)

关系 (Relationships)

名称描述自动终止
failure所有无法从 SNMP 代理接收到的 FlowFile 都会路由到此关系。否
success从 SNMP 代理接收到的所有 FlowFile 都会路由到此关系。否

写入的 FlowFile 属性

名称描述
snmp$<OID>响应变量绑定:OID(例如 1.3.6.1.4.1.343)及其值。
snmp$errorIndex表示发生错误的变量绑定。
snmp$errorStatusPDU 的 snmp4j 错误状态。
snmp$errorStatusText错误状态的描述。
snmp$nonRepeatersGETBULK PDU 中非中继器变量绑定的数量(当前不支持)。
snmp$requestID与 PDU 关联的请求 ID。
snmp$typePDU 类型的 snmp4j 数字表示。
snmp$typeStringPDU 类型的名称。
snmp$textualOid当且仅当策略为 GET 时设置,且将等于 Textual Oid 属性中给定的值。

状态管理

该组件不存储状态。

受限 (Restricted)

该组件不受限。

输入要求

该组件允许有传入连接。

详细说明

GetSNMP

概述

该 Processor 轮询 SNMP 代理,获取给定一个或多个 OID 的信息 (Strategy = GET),或获取与给定一个或多个 OID 关联的整个子树 (Strategy = WALK)。该 Processor 支持 SNMPv1、SNMPv2c 和 SNMPv3。组件基于 SNMP4J。

该 Processor 可以从输入 FlowFile 的 Attribute 编译 SNMP Get PDU (可以指定多个 OID),也可以使用 Processor 属性中指定的单个 OID。前一种情况下,Processor 只考虑 FlowFile 中指定的 OID。 Processor 会查找以 snmp$ 为前缀的 Attribute。如果找到这样的 Attribute,会用 $ 字符拆分 Attribute 名。第二个元素必须符合 OID 格式才会被视为有效 OID。FlowFile Attribute 的值可以为空 (之后会用获取的值填充并写入输出 FlowFile)。当 Processor 被触发时,它会发送 SNMP 请求并获取与请求的 OID 关联的信息。 收到 SNMP 代理的响应后,会构建一个 FlowFile。FlowFile 内容为 空,所有信息都写入 FlowFile Attribute。对于单个 GET 请求, 接收到的 PDU 关联的属性会作为 Attribute 转移到 FlowFile。 对于 WALK 请求,只有 "OID/值" 对会作为 Attribute 转移到 FlowFile。SNMP Attribute 名称带 snmp$ 前缀。

对于表示 "OID/值" 对的 Attribute,Attribute 名称格式为:

  • snmp$OID$SMI_Syntax_Value

其中 OID 是请求的 OID,SMI_Syntax_Value 是表示与该 OID 关联的值类型的整数。提供该值是为了让 SetSNMP Processor 能以正确的类型设置值。

SNMP 属性

对于单个 SNMP Get 请求,以下是可能随 PDU 一起返回的标准 SNMP 属性列表:("snmp$errorIndex", "snmp$errorStatus", "snmp$errorStatusText", "snmp$nonRepeaters", "snmp$requestID", "snmp$type")