9

我的任务是为我公司的服务器软件编写一个监控程序,该程序通过 snmp 与 zenoss 集成。

简而言之,我无法从地面上得到任何东西。我认为我的第一个目标是找出编写 snmp 代理的正确方法(以任何语言开始,尽管最终会在 java 中)。有没有好的测试工具?我用过snmptestzenoss 附带的 ,但如果我不能让测试代理启动,这对我来说并没有多大好处。我所知道的 zenoss 手册有很多信息,但它似乎假定了对标准系统监控实践和工具的先验知识,我几乎无法理解它。

另外,使用 snmp 监控软件通常是一种好习惯吗?

4

6 回答 6

14

典型 SNMP 代理的简短描述:

  1. 设置代理。这通常需要告诉它向哪个服务器发送警报。

  2. 运行。

  3. 当事情发生时,将适当的 SNMP 消息发送到配置的服务器。

  4. 回复来自已配置服务器的请求。

所有请求/回复的内容都是使用 SNMP 消息完成的。如果您的公司没有为服务器软件专门设计/分配的 OID,您需要查看标准 MIB 定义以确定哪些 OID 是合适的。

MIB:管理信息块。这些有标准和定制口味。标准的由标准机构 (IETF?) 定义。定制的由供应商创建,以支持其产品特有的信息。MIB 基本上是 OID 的集合。

OID:对象标识符 - 这是一个点符号数字字符串,用于标识硬件/软件,以及您正在从中寻找的信息位 - 例如,以太网端口上的 TX 冲突数可能看起来像一些东西比如:1.5.82.316.8.4.3(虽然这不是一个有效的 OID,它只是一个虚构的例子)。

更多细节可在Wikipedia上找到。下载免费的MIB 浏览器以了解 OID 的外观以及它们的详细程度。查看RFC以获取更多详细信息。看看 perl 的Net-SNMP之类的东西——你甚至可以使用它附带的 snmpd 软件来完成大部分工作。

于 2009-04-24T20:29:59.543 回答
5

SNMP 无疑是监控网络、设备和服务器的一种可接受的方式。因为它使用 UDP,所以它不会通过 TCP 重试等对网络施加过度压力(SNMP 客户端是或应该被设计为处理丢弃的数据包等)。此外,您将拥有大量客户端解决方案来监控您的系统并与之集成。

如果您设想使用 Java 的最终解决方案,请参阅Java/SNMP 文档SNMP4J

SNMP.com(由 SNMP 架构师之一 Jeffrey Case 创建)销售可扩展的 SNMP代理。其中之一可能会为你拯救一个悲伤的世界。

于 2009-04-24T20:40:47.757 回答
3

nSoftware 有一个SNMP 代理(不是免费的)。这可能比自己滚动更容易。

还可以查看William Stalling 的书:SNMP

于 2009-04-24T20:20:53.997 回答
1

Zenoss 相当复杂,并带有许多预定义的 SNMP 内容。您真的需要编写自己的 SNMP 代理吗?

于 2009-04-24T20:09:01.247 回答
1

SNMP 是一个很大的话题,如果你深入了解协议和相关工具的所有细节和所有历史版本,它就会变得非常复杂。我建议拿起 Mauro 和 Schmidt 的Essential SNMP的副本,它非常清楚地介绍了 SNMP 背后的基本思想以及如何开始使用它并与许多人一起使用它的实际示例不同的工具。

于 2009-05-14T14:04:36.077 回答
0

你可以把目标放低,试试仙人掌 ( http://www.cacti.net/ )。

我也试过 Zenoss 但放弃了。仙人掌启动并运行得非常快。我只是监视全国相当多的路由器和许多交换机中的许多端口的带宽使用情况。但是有模板可以监控与单个服务器更相关的所有类型的事情(温度、风扇速度等)

BR。安德斯

于 2010-03-02T19:01:22.280 回答