具有动态列数的 SNMP table

SNMP table with dynamic number of columns

我想要一个具有动态行数和列数的 SNMP table。 在 snmpd 中创建 OID 的代码已准备就绪,但现在 MIB 文件出现问题。

MIB 文件允许动态数量的行(条目)但必须具有恒定数量的列。

我正在寻找解决此问题的方法。以下解决方案可能是可行的,但我不知道它们是否在 MIB 文件中可用:

  1. 列数在1-32之间。如果我可以将列定义为可选 - 它会解决我的问题。
  2. 具有 table 的动态数量:如果我可以定义具有模板名称和 OID 的模板 table,这将允许我将 table 拆分为更小的动态 tables 具有静态列数。

目前我找不到任何此类解决方案的记录。

SNMP 不允许 table 中的动态列数。它要求 MIB 完整描述 table,以便经理在尝试联系代理之前知道存在哪些列。

也不允许动态定义 tables。

如果您编辑问题以描述您尝试建模的数据,也许我们可以弄清楚是否可以在 MIB 中对其建模。我当然可以想象 SNMP 的功能不足以为数据集建模的情况。它在数据是标量、树或具有固定列集的 table 的情况下效果最好。

编辑:正如 k1eran 在评论中发表的那样,可以简单地不使用数据填充某些列,留下 "sparse table"。请查看他对 link 的评论。