2009-04-24 65 views
9

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

简而言之,我无法得到任何东西。我认为我的第一个目标是找出编写snmp代理的正确方法(以任何语言开始,尽管它最终将用java编写)。那里有好的测试线束吗?我用snmptest,这是与zenoss一起发货的,但如果我不能让测试代理脱离地面,那对我来说并不好。任何我认识zenoss手册的东西都有很多信息,但它似乎假定了标准系统监控实践和工具的先前知识,而我几乎无法渗透它。

另外,使用snmp监视软件通常是一种很好的做法吗?

+0

嗨,兄弟,我阅读下面的每条评论,他们都是垃圾。我也有相同的要求,不知道从哪里开始。我被给了一个星期来自己理解整个事情。有了恐惧和恐慌的力量,才开始理解。我很幸运是一个码头工人/ python ubermaster,当我咨询hub.docker.com时,我看到了snmp模拟。我继续前进,接下来我看到了PySNMP。最后,我看到了net-snmp-5.7.3/base源代码,你可以在其中重新编译snmpd.c并将其扩展。然后这个“ManageEngine免费工具MibBrowser”帮助了我,因为我在Ubuntu中。 – ifelsemonkey 2017-12-22 13:59:43

回答

14

简短说明:

  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 browser以了解OID的外观,以及他们可以获得的详细信息。请查阅RFCs了解更多详细信息。看看perl的Net-SNMP之类的东西 - 你甚至可以使用它附带的snmpd软件来完成大部分工作。

+0

我认为3)你指的是陷阱? – 2009-04-24 21:16:44

1

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

+0

我不完全知道我是否需要编写自己的snmp代理。我想我需要设计自己的snmp代理,因为我需要定义一些定期发送的陷阱和一些可以请求的属性。如何手动我将不得不这样做对我来说是个谜。 – 2009-04-24 21:01:37

5

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

如果设想在Java中的最终解决方案,请参阅Java/SNMP documentationSNMP4J

SNMP.com(杰弗里案中,SNMP的建筑师之一成立)出售可扩展的SNMP agents。其中之一可能会为你挽救一个悲伤的世界。

1

SNMP是一个很大的话题,如果您深入了解协议和相关工具的所有细节和所有历史版本,都会带来很多复杂性。我建议你挑选一份由Mauro和Schmidt提供的Essential SNMP,它清楚地介绍了SNMP背后的基本思想,以及如何开始使用它并在parctice中使用它的一些不同的实例工具。

0

你可以瞄准更低的地方并尝试仙人掌(http://www.cacti.net/)。

我也尝试了Zenoss,但放弃了。仙人掌启动并运行得非常快。我只是监视全国各地交换机中使用带宽不少的路由器和许多端口。但有一些模板用于监控与单个服务器相关的所有类型的事物(温度,风扇速度等)。

BR。 Anders