SNMP 驱动
EdgeX SNMP 驱动支持 SNMP v2c 与 SNMP v3,通过 UDP(默认 161)采集网络设备 OID 点位,集成 ScanEngine 周期采集与 Shadow 数据面。
协议 ID
snmp
通道配置
SNMP v2c
| 参数 |
类型 |
默认 |
说明 |
ip / targetIP |
string |
— |
设备 IP(必填) |
port / targetPort |
int |
161 |
SNMP 端口 |
snmpVersion |
string |
v2c |
版本 |
community |
string |
public |
社区字符串 |
timeout |
int |
3000 |
超时(毫秒) |
retries |
int |
3 |
重试次数 |
maxBulkSize |
int |
10 |
GETBULK 重复数 |
sendInterval |
int |
100 |
请求间隔(毫秒) |
{
"ip": "192.168.1.1",
"port": 161,
"snmpVersion": "v2c",
"community": "public",
"timeout": 3000,
"retries": 3
}
SNMP v3
| 参数 |
类型 |
默认 |
说明 |
securityName |
string |
— |
USM 用户名(必填) |
securityLevel |
string |
authPriv |
noAuthNoPriv / authNoPriv / authPriv |
authProtocol |
string |
SHA256 |
MD5 / SHA1 / SHA224 / SHA256 / SHA384 / SHA512 |
authPassword |
string |
— |
authNoPriv / authPriv 必填 |
privProtocol |
string |
AES128 |
DES / AES128 / AES192 / AES256 |
privPassword |
string |
— |
authPriv 必填 |
contextName |
string |
— |
可选 |
contextEngineID |
string |
— |
可选 |
{
"ip": "192.168.1.1",
"port": 161,
"snmpVersion": "v3",
"securityName": "admin",
"securityLevel": "authPriv",
"authProtocol": "SHA256",
"authPassword": "AuthPass123",
"privProtocol": "AES128",
"privPassword": "PrivPass123"
}
点位地址
| 版本 |
格式 |
示例 |
| v2c |
community\|OID |
public\|1.3.6.1.2.1.1.1.0 |
| v3 |
securityName\|OID |
admin\|1.3.6.1.2.1.1.5.0 |
支持操作
- GET:单 OID 或同组批量读取
- GETBULK / GETNEXT / WALK:批量读与 MIB 扫描(
ScanObjects)
- SET:可写 OID 写入(需 RW 权限 community / v3 用户)
数据类型
STRING、BYTES、BOOL/BIT、UINT8–UINT64、INT8–INT64、FLOAT、DOUBLE
标准 OID 参考
| OID |
名称 |
| 1.3.6.1.2.1.1.1.0 |
sysDescr |
| 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.{n} |
ifInOctets |
| 1.3.6.1.2.1.2.2.1.16.{n} |
ifOutOctets |
代码位置
internal/driver/snmp/
├── snmp.go
├── transport.go
├── scheduler.go
├── decoder.go
├── config.go
└── protocol.go
相关文档