GetSNMP Processor
描述
使用 SNMP Get 请求从 SNMP 代理检索信息,并输出包含属性信息但不包含任何内容的 FlowFile
标签
属性
| 名称 | 默认值 | 可选值 | 描述 |
|---|---|---|---|
| SNMP Agent Hostname | localhost | SNMP 代理的主机名或网络地址。 支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值) | |
| SNMP Agent Port | 161 | SNMP 代理的端口。 支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值) | |
| SNMP 版本 | SNMPv1 |
| 已经开发并部署了三个重要的 SNMP 版本。SNMPv1 是该协议的原始版本。较新的版本SNMPv2c 和 SNMPv3 在性能、灵活性和安全性方面有所改进。 |
| SNMP Community | public | SNMPv1 和 SNMPv2 使用社区名称来建立管理器和代理之间的信任。大多数代理支持三个社区名称,分别用于只读、读写和陷阱。这三个社区字符串控制不同类型的活动。只读社区适用于 get 请求。读写社区字符串适用于 set 请求。陷阱社区字符串适用于接收陷阱。 敏感属性:是 | |
| SNMP Security Level | noAuthNoPriv |
| SNMP 版本 3 通过基于用户的安全模型 (USM) 提供额外安全性。三个安全级别为:1. 无身份验证和加密的通信 (NoAuthNoPriv)。2. 有身份验证但无加密的通信 (AuthNoPriv)。3. 有身份验证和加密的通信 (AuthPriv)。 |
| SNMP Security Name | | 用于 SNMP v3 身份验证的用户名。 | |
| SNMP Authentication Protocol | |
| 基于哈希的身份验证协议,用于安全身份验证。 |
| SNMP Authentication Passphrase | | 用于 SNMP 身份验证协议的密码。 敏感属性:是 | |
| SNMP Privacy Protocol | |
| 隐私允许对 SNMP v3 消息进行加密,以确保数据的机密性。 |
| SNMP Privacy Passphrase | | 用于 SNMP 隐私协议的密码。 敏感属性:是 | |
| Number of Retries | 0 | 设置请求 SNMP 代理时的重试次数。 | |
| Timeout | 5000 | 设置请求 SNMP 代理时的超时(以毫秒为单位)。 | |
| OID | | 每个 OID(对象标识符)标识一个可以通过 SNMP 读取或设置的变量。对于传入的 FlowFile,此值不会被考虑,将被省略。当 OID 通过 FlowFile 提供时,可以设置为空字符串。 | |
| Textual OID | | 要请求的数字 OID 的文本形式。此属性由用户定义,不会被处理也不会追加到传出的 FlowFile 中。 | |
| SNMP Strategy | GET |
| 要使用的 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$errorStatus | PDU 的 snmp4j 错误状态。 |
snmp$errorStatusText | 错误状态的描述。 |
snmp$nonRepeaters | GETBULK PDU 中非中继器变量绑定的数量(当前不支持)。 |
snmp$requestID | 与 PDU 关联的请求 ID。 |
snmp$type | PDU 类型的 snmp4j 数字表示。 |
snmp$typeString | PDU 类型的名称。 |
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")