SNMP(网络设备·UPS)
SNMP v2c — 读取基础设施设备,如交换机、路由器、UPS、服务器(UDP 161)。 不是 PLC,而是在同一屏幕上查看「支撑工厂运行的设备」时使用。
| 场景 | 使用哪张卡 |
|---|---|
| 交换机·路由器·UPS·服务器·NAS | SNMP(本页) |
| 工业 PLC | Modbus TCP · OPC-UA |
| CNC 机床 | MTConnect · FOCAS |
为什么要用这个
设备停机的原因往往不是设备本身,而是网络或电源。将 UPS 电池剩余量和交换机端口错误与设备数据放在同一时间线上,可以更快做出判断。
注册表单输入值
| 输入栏 | 填写内容 | 示例 |
|---|---|---|
| IP 地址 | 设备管理 IP | 10.20.30.1 |
| 端口 | 标准 161 | 161 |
| 采集周期 | 轮询周期(ms) | 10000(基础设施指标请设长) |
选项
| 选项 | 默认值 | 说明 |
|---|---|---|
community | public | SNMP 社区字符串 |
request-timeout | 2000 | 响应等待(ms) |
不要保留
public 原样即使是只读,社区字符串也是密码。请在设备上单独创建只读社区,并确保管理网络之外不开放 161 端口。
标签的 PLC 地址表示 — OID
标签的 PLC 地址 = OID(点分表示法)。前面的 . 可有可无。
| OID | 说明 |
|---|---|
1.3.6.1.2.1.1.3.0 | sysUpTime — 设备已运行时间 |
1.3.6.1.2.1.1.5.0 | sysName — 设备名称 |
1.3.6.1.2.1.2.2.1.10.1 | ifInOctets.1 — 1 号端口接收字节 |
1.3.6.1.2.1.2.2.1.8.1 | ifOperStatus.1 — 1 号端口链路状态 |
🔴 不要遗漏末尾的索引。 标量值是 .0,表值是 .<인덱스> 附加。1.3.6.1.2.1.1.3 不是值而是「分支」,因此返回空值。
对于 UPS·PDU 等制造商特有指标,OID 记录在该制造商的 MIB 文档中。
值如何传入
| SNMP 类型 | 传入的值 |
|---|---|
| INTEGER · Counter32 · Gauge32 · TimeTicks | 数字 |
| OCTET STRING | 字符串(不可打印字符则显示为 hex) |
| OID | 点分表示字符串 |
| IpAddress | a.b.c.d |
| noSuchObject · noSuchInstance · endOfMibView | 空字符串 |
Counter 是「累计值」
ifInOctets 之类的 Counter 是持续增长的累计值,其本身意义不大。如果需要每秒增量,请用计算公式做差分 → 公式应用
无法正常工作时
| 症状 | 首先检查 |
|---|---|
| 全部为空值 | 社区字符串、设备的 SNMP 允许 IP 列表 |
| 仅特定 OID 为空 | 是否附加了索引(.0 · .1)、该设备是否支持该 MIB |
| 间歇性为空 | 因为是 UDP 可能丢失 — 请增大 request-timeout |