从MIB生成一个Cacti模板的工具?

我们使用Cacti监视服务器上的趋势。

有时我会得到一个新的设备或服务器,并且该设备带有一个MIB,可以通过SNMP监视设备。 在这个例子中,我有Google Mini Search Appliance,Google提供了一些可以通过SNMP查询的MIB 。 但是,这个问题经常出现在许多新的设备和新的服务器上。

如果我想通过Cacti监控这个Google Mini,我需要创build一个Cacti模板,这是一个不重要的任务。 假设Google Search Appliance统计信息模板尚不存在。

有没有什么工具可以从现有的MIB中自动生成一个Cacti模板? 还是有什么工具可以帮助我从现有的MIB生成一个仙人掌模板?

在SNMP行业中,你所需要的通常被称为MIB编译器。 但是,他们不是真正的编译器; 他们是翻译。 我不相信有一个Cacti MIB编译器,但是创build自己的翻译器不会太困难。

我强烈推荐的一个有用的工具是libsmi套件,它包含一个名为smidump的程序。 smidump输出各种格式。 你可能会想要运行一些像smidump -f identifiers <mibfile>这将转储一个更卫生的MIB更人类可读。 从这个页面的外观来看,你的Cacti语法是XML。 所以,我不认为采用smidump会花费太多,通过Perl脚本运行它来生成你想要的Cacti XML。 然后,您可以通过XML文件进行编辑,并根据需要生成更多可读的描述。 探索smidump -f,看看是否有一个更接近您的需求的格式。 我看到一个可能工作的XML格式。

问题是,对于某些东西(路由器,主要是接口,stream量等),有一套标准的“明确定义的”SNMP OID。 然而,一旦你移动到那些明确定义的东西之外,那么每个供应商都有自己的MIB结构…除非你想要所有的OID,那么你必须select你想要的那个,那个时候没有模板。