这是其中唯一正确答案是“依赖”的一般性问题之一。 什么标准?
任何依靠SNMP来监视服务器都是失败的。 SNMP有一些基本问题,使得无法正确监视服务器。 而且,大多数SNMP代理吸引。 Net-SNMP糟透了。
通常像这样的问题被忽略,只要漂亮的graphics生成。 我已经告诉开发经理他们所看到的数据是没用的,我们只是为了满足产生漂亮graphics的任务而做,而且他们也没有问题,并继续询问有关图表的问题。
例如,大约需要20个SNMP请求才能获取有关单个线程的信息。 在一个需要每分钟轮询一次的百万个线程的系统上,这就是每分钟2000万个数据包进行监控! 我意识到一百万个线程是很多的,并不是每个人都需要每分钟的轮询,但这也不是不合理的,许多人需要更多。
通常“自由”记忆的含义是混淆的。 我已经看到这一点,因为它允许购买额外的内存,在繁忙的一天可能会导致3倍的正常内存使用和pipe理拒绝为这些峰值大小的金融环境相当有利。 基本上谎言取消了。
通常用于监视交换机/路由器的监视工具将通过SNMP为服务器获取每CPU统计信息,并显着报告数据。 很多人不希望听到每个CPU的统计数据不是他们想要的和每个线程的统计数据。
无论如何检索数据,许多常见的问题需要次分钟甚至次秒的轮询来理解。 幸运的是,Linux sar可以每隔1秒对数据进行采样,没有任何问题。 它不会保存iostat所做的所有数据,从而可以了解存储瓶颈的猜测。 我只保存“iostat -x 1”数据。 例如,如果用户抱怨亚秒冻结(或者,如果客户抱怨他们的事务通常需要10ms,偶尔需要200ms),则所有进程/线程统计的亚秒级轮询是有用的。 可悲的是,很less的内核提供了合理的机制来做到这一点。 (没有合法的理由,我不能在一个系统调用中以结构化的方式拉取这些数据,我不应该把内核中的数据转换成十进制数,而是从我的应用程序的十进制数中,与其他愚蠢的开销)。
未能合理地保存磁盘性能数据是一种常见的疏忽。
没有同步的时钟是一个常见的问题。 许多人都错过了NTP总是需要的事实。 不正确的NTPconfiguration可能意味着你不知道如何同步两个时钟是一个常见的问题。 事实上,一个严肃的企业应该花钱在他们自己的GPS时钟上,这往往是错过的。 对于参与纳斯达克交易的公司,我指出了这些规定,为客户写了一个关于什么时间准确(他们经常问)的解释,当要求批准这个解释时,请描述我们需要遵守什么规定遵守我们对客户的承诺,排除依赖时间同步的供应商的问题。
警报的传递是一个常见的问题。 基本上你需要确保一个人会对警报做出反应,一个人对他们承认的警报负责,而且一个警报将会通过另一个途径重新发送,或者如果没有被确认,就会被重新发送给另一个人。 如果人们收到虚假警报,严重阻碍他们处理页面,监控系统需要受到关注。
了解趋势和错误警报之间的区别非常重要。
系统日志中的报告错误非常重要,因为即使不及时,也有一种机制来识别新types的错误。
我在这里触及了一些非常重要的东西。 但是没有什么比这更重要的了 – 无论您购买哪种监控/趋势/警报解决scheme,都会为您的环境设置和定制成本。 没有可用的解决scheme,使安装/维护成本显着降低。 一个常见的失败是不断购买新的监控系统,将其保留在默认设置下,并使其无用。
供应商的承诺,他们将帮助免费定制是无用的。 除非你有明确的书面文字。 一个供应商的承诺,他们会卖给你昂贵的定制服务是无用的 – 你不能相信他们会这样做胜任。
如果您拥有关键的定制内部应用程序,并且您的开发人员拒绝添加仪器,日志logging和其他帮助以监视其应用程序,则会出现问题。 基本上,疏忽的开发人员不关心他们的软件的操作方面。 另一方面,开发人员需要参与讨论他们的软件的哪些方面进行监控,所以可以devise一个方便的方法来揭示这个问题。 他们可能会承受增加function的压力,不考虑可靠性或问题的警报。
Nagios曾经是一个较小的低端系统,但我想说最新的版本确实是“企业级”。 基于SNMP的开放源代码,集成了从Cacti到RRDTool的所有function。 您需要花时间configuration和构build自定义报告脚本,但说实话,商业工具也是如此。
Traverse(NetVigil)是一个比“老Nagios”更大的商业工具,与现在的Nagios不相上下。
有很多中档监控系统。
在最高端你有HP OpenView,IBM Tivoli,CA Unicenter等等。 对于许可和实施咨询,价格标签可以达到数百万美元,这是一个要求。
无论你在哪个领域,监控软件都需要你的投资。 在较大的商店里监控系统的维护和喂养很容易成为全职工作。
我们最近开始用各种Nagios插件来评估Zenoss 。 这似乎是相当可configuration的。 大约一年前,我们尝试了Nagios,遇到了configuration问题。 Zenoss似乎更容易使用。
我们也曾经讨论过“The dude”,但是想要一个基于nix的服务器。
我最近还碰到了一篇infoworld文章,详细介绍了一些非常有价值的开源监控工具。
我使用了Castle Rock的一款名为SNMPc的产品 – 它不是最精美的工具,但是它可以完成所有你想要的,而且不会打破银行。
它基本上是一个SNMP统计整理工具,可以基线和警告如果基线偏离。 它可以给出增长和减less警告的阈值,并且适用于任何支持SNMP的设备。
在* nix中启用SNMP很简单,因为它在Windows中。 SNMP的可扩展性也相当容易(至less在* nix上)
SNMP是免费的 – 有3个级别; 所有与安全有关的事情。 SNMP 1是纯文本,非常“不安全”。 SNMP 2是encryption的,但是它是微不足道的。 SNMP 3使用证书。 这可能是第一次让它工作的一点麻烦。
因为有太多的计数器和统计数字可以拉出来,所以也可能需要一些时间来确定哪些数据是适合你的 – 但是一旦完成,就非常简单了。
您支付前端整理和触发事件,使SNMP有用。 你可以用开源软件来做,但我想要一点商业支持。
数据可以从设备(正常)和关键系统进行轮询,您可以让单个系统发送陷阱事件,通知陷阱pipe理器出现问题,他们现在需要知道,而不是等待下一个轮询周期。
轮询远程设备可以通过使用收集代理来完成 – 与控制台相同,但没有所有的报告function – 然后定期在中央控制台上推送统计信息。
在我使用的所有监控系统中,SNMP一直提供我所要求的,并且在预算内给予我。
微软服务器上有一个名为MOM'Microsoft Operations Manager'的产品,其中5个服务器工作组的版本是(或者至less是免费的),但扩展它来关注像Exchange和SQL这样的企业系统会花费很多在许可证和连接器。
除此之外 – 我的经验仅限于SNMP,MOM和Spotlight(由Quest提供),这是非常棒的,有点太超出我们的预算范围,除了最关键的Oracle数据库之外。
我是nagios的忠实粉丝,并且已经设置好监控我所有的服务器以及他们运行的许多服务。 这是我经常修改的那些程序之一,特别是我们做的事情经常改变。 我甚至可以在我们的公共网站上检查某些文字。
本来我有通知设置只是电子邮件,但已经尝试过短信提醒和最近的IM警报。
我已经使用了一年多了,但还没有接近完善的地步。 我发现的一个缺点是,历史细节存储不好,但这可能是更多的事实,我没有find正确的插件。
我不能高度推荐Nagios。 完全免费(假设您不需要花费大量的时间来协商相当多的学习曲线),并且几乎可以在任何方面进行扩展 – 所有的监控和警报都有一个模块化架构,因此您可以编写自己的插件,传呼机脚本,随你。 如果你不是一个编程人员,还有一个大而有用的社区可以生产各种各样的插件,尽pipe捆绑的插件是相当不错的 – 你可以在你的服务器上安装远程代理,或者让你执行WMI的接口/ SNMP检查,或与Tivoli / OpenView服务器代理交谈。 还有一些附加组件可以用有用的方式扩展基本的Nagios引擎,比如将执行数据logging到MySQL或RRDTool。 configuration有点复杂,但有足够的欺凌,你可以得到它监视几乎所有的networking连接。 此外,一旦你build立了所有的主机父子关系和扩展信息(IP地址,电路ID等等),你可以把它用作networking文档。
其实我并不是那么喜欢监控系统,但总是很感兴趣,所以谢谢你提出这个问题,我会密切关注。
我以前使用过ManageEngine( http://www.manageengine.com/products/opmanager/index.html ),非常喜欢。
我喜欢的一个好的监控系统是基于networking的,无代理需要的,基于SNMP的。