你用什么工具来监视你的服务器?

要获得更全面的监控工具及其function列表,请查看Wikipedia页面 。

正如问题所述,这项任务最常用的工具是什么,它们的优点和缺点是什么?

过去我曾经用过Nagios成功过。 这是非常可扩展的(超过200个附加组件),相对容易使用和大量的报告。 负面的将是最初的设置。

Cacti是一个非常好的基于networking的RRDTool前端,提供了非常方便的graphics和统计。 RRDTool是从多个系统收集数据并监视各种技术数据的部分。

我们正在使用该cacti / RRDTool解决scheme来监视Unix和Windows系统。 我们获得了许多有用的指标,包括负载,CPU / RAM使用率,HD空间,login的用户,networkingstream量,正在运行的进程等。

你会发现仙人掌的更多信息什么是仙人掌? 页。

就我个人而言,我喜欢Munin ,因为它有一个非常简单的架构,所以它很容易安装和编写插件。 目前已经有相当多的插件可以满足您的所有需求,所以您甚至可能不需要首先编写插件。

它还提供了美丽的graphics和选项来configuration(非常基本的)警报。

Zabbix 。 它是开源的,安装和定制相当简单。 我们有很多自定义的监控脚本供应到zabbix服务器,但是它需要集中处理这些数据,适当地显示它,通知(电子邮件,IM,SMS,Twitter等)。

我一直在做我们公司Spiceworks的推广,我们发现它不仅仅是监控服务器,还是networking上的其他一切。

它有自动清点和自定义监控等function,可以在出现问题时向您发送电子邮件(例如:打印机占用墨水的10%,或者该服务器的硬盘占用20%)。

它的缺点可能是每台计算机的信息密度不要错,每台机器都有大量的数据,但对于像服务器这样的地方,你可能需要大量的数据,你可能需要使用另一种工具。

编辑:哦,我提到它的商业模式是基于它是永远免费的。

Smokeping不仅可以检查各种服务器和服务的可用性,还可以跟踪其延迟,同时提供易于使用,美观和快速显示graphics的function。

广泛的延迟测量插件可以直接使用。 如果你知道一些Perl,那么很容易就可以创build你自己的Perl来满足任何exception的需求。

用于分布式测量的主/从系统将使大型装置受益。

高度可configuration的警报系统将帮助您在问题开始影响用户或发展为重大中断之前发现问题。

Smokeping是免费的,由Tobi Oetiker(MRTG和RRDtool的创build者)用Perl编写的OpenSource软件

我使用OpenNMS来监视一千多台Linux机器。 我们监视每台机器的硬件和运行的应用程序。

Zenoss Core有一些用处,我们正在使用它(大约一年)来轻量级地监视服务器,networking交换机和UPS。

Zenoss Core是一款屡获殊荣的开源IT监控产品,可通过单一的集成软件包有效地pipe理networking,服务器和应用程序的configuration,运行状况和性能。

Nagios很棒,因为它是免费的,并且有很多插件。 但是UI和configuration非常困难。

在pro / con中恰恰相反,微软系统中心运营pipe理器(SCOM)不是免费的,只有less量的插件,但是设置和configuration都非常的简单。

我必须承认,如果我主要是微软公司,有很高的依赖性要求(即不能承受监视破坏),或者不得不考虑让开发人员使用它,那么SCOM将是我对Nagios的推荐。

我用过:

  • Nagios – 需要一些旧式的命令行设置,不够漂亮,但坚固而实用。 它已被取代:
  • Zenoss – 需要更less的步法来build立,有一个商业的变种。 一旦运行,剩下的就通过浏览器进行控制。 非常强大,但如果您使用免费版本,则需要一些MIB工作。
  • Intermapper – 商业程序,如果你有很多的节点来监视,花费很大。 似乎是用Java编写的(好或坏)。
  • Spiceworks – 还没有尝试过最新版本。 旧版本需要多一点隐蔽性,以得到它的反应,但否则,它很好地工作。 免费版本与唠叨广告。

我们使用AlertFox几个星期,并非常高兴。 它不仅检查我们的正常运行时间和性能,还通过交易脚本(基于iMacros)监控购物车,用户login和网站的其他关键部分。

对于我们的内部监控(磁盘空间等),我们使用Nagios

PRTGnetworking监视器 – 不能说足够多的关于它的事情。 令人敬畏的Web前端,尤其适用于通过SNMP监视路由器(带宽等)和其他设备,并测量SLA的正常运行时间等。

http://www.paessler.com

作为Windows的人,MOM。 我们正在升级到Systems Center Operations Manager(SCOM),但是直到我们开始部署Windows 2008时才需要升级。

我是运营监控升级项目的一部分。 我们有不同的供应商来现场提出一些大的美元系统,并混合在一些便宜的替代品进行比较。

其中之一是Hyperic ,也可以作为一个免费的开源解决scheme。 我对它为自定义代理提供的function和可扩展性印象深刻。

为了监测统计数据(内存使用情况,负载,mysql活动,apache活动等),我使用了Munin 。 开箱即用,它已经跟踪了很多事情,并绘制了不同时间间隔(过去24小时,过去7天,上个月,去年)的graphics。 通过插件甚至可以监视更多的东西。 它的输出是带有漂亮graphics的HTML页面。

Munin具有主/节点架构:节点在服务器上收集统计数据,主数据存储数据并生成HTML和图表。

我使用Monit来跟踪正在运行的进程,并在出现某些可configuration条件(高cpu负载,高内存使用率,无HTTP响应等)时重新启动或提醒我。Monit还可以监视有关服务器的更多一般性信息,例如cpu负载,内存使用情况,硬盘状态或磁盘使用情况。

Monit需要针对每个服务或硬件进行configuration,以便在出现问题时监控以及如何响应。 最常用的选项是什么都不做,发送警报邮件或重新启动服务。

Monit在工作的时候非常棒,但是有时它不能启动,停止或者重启一个服务,并且没有很多诊断信息可以告诉你什么地方出了问题。 这意味着您不知道问题出在您的服务上,还是Monitconfiguration,它运行在类似cron的最小环境中。

在大多数Linux发行版中,这两种工具默认都是可用的。

我很惊讶没有人提到linux服务器的日志或日志检查 – 节省吨读取日志的时间!

我使用Pingdom来监视我的服务器。 当服务器无法访问时,它会向我发送一条SMS消息。

我们的项目使用Ganglia为我们的100多个节点群集。 我们使用它的一个原因是因为它是Rocks自带的监控工具。

在每个节点上开销非常低,这样尽可能多的资源可用于计算对于我们来说非常重要。 Ganglia给了我们一个很好的集群概述,并允许我们深入到个别节点,如果需要的话。 除了知道现在正在发生的事情,我们可以很好地了解过去一小时,一天,一周,一个月和一年中发生的事情。 各种统计图表是基本和function的。

这一切都取决于你所说的“监视”!

  • 它是(系统还是服务)可用? 我们使用nagios
  • 它在做什么? 我们使用munin作为linux服务器,使用cacti作为其他任何事情,尽pipe有时候configuration会很麻烦。
  • 它做了什么? 我们使用syslog-ng将syslog集中在一个地方,然后每天运行一个自定义的logcheck脚本来通过电子邮件发送报告。 我们正在寻找类似的Windows服务器。

一个新的参赛者在现场检查与Cacti和基于RRDTool的解决scheme竞争是石墨( http://graphite.wikidot.com/

RRDTool被replace为名为Whisper的后台存储。 文档给出了一个相当不错的概述,为什么它有所不同,我真的很喜欢特殊graphics的CLI时,调查的东西。

我们使用Ipswitch的 (比如) WhatsUp来处理相对较小的Windowsnetworking。 它很容易安装,并且相对容易pipe理,并知道如何处理Windows服务器以及标准的东西。

对于较大的networking,非Windows的networking或者有很多不同的东西的networking,我衷心推荐OpenNMS 。 OpenNMS软件如果免费,公司非常乐意销售支持和实施服务。 这也恰好是由我的一个非常尖锐的朋友从大学运行!

对于那些不喜欢Nagios网页界面的人来说,这个NPC是Cacti的一个插件,可以从Cacti内部使用Nagios UI,但是外观更好(ajax等)。

它从NDO2DB提供的数据库中读取数据,这是从数据库中提供可用于脚本和其他工具的基础架构的好方法。

目前我们使用Paessler的 PRTG。 很好。 没有代理要求,优秀的Ajax Web界面,历史logging,graphics,WMI等等。有10个传感器版本免费提供,但我们为企业版本下了几个macros。 钱花了。

霍比特人 – 这是一个更好的版本的老大哥(这似乎是惊人的商业这些天)。

http://hobbitmon.sourceforge.net/

如果你很着急,想要一个快速的工具来监视你的MS服务器,然后使用性能监视器的窗口,设置自定义监视模板和客户日程安排计数器日志(例如:收集数据每小时5分钟)。 然后下载Microsoft的LogParser和Codeplex的日志性能分析(PAL)工具( http://pal.codeplex.com/ )来查看你的计数器日志。 PAL将生成一个很好的文档化的报告,并附有可能解决问题的文件/工具的链接

我使用Solarwinds,VMware服务器性能选项卡和自定义脚本的组合。

Solarwinds Orionnetworking性能监视器是我用我们的Windows系统。 pipe理员在我的networking服务器上。 仍然得到一些有用的应用程序指标运行,但它有基本的盒子级别的东西(磁盘,networking,CPU)的良好信息。

对于我的VMware客人,我喜欢性能选项卡。

对于我的Sun服务器,当我需要Solarwinds中没有的东西时(因为我们的pipe理员没有添加它或什么),我编写自定义脚本(通常是Perl)来监视镜像状况,交换使用情况等。

我想进一步了解Solarwinds,但是一天只有26个小时(或者我的老板相信),所以我觉得这可能是一个有点限制…

我们使用在Nagios之上运行的OpsView 。 webUI帮助我们部署新的主机监视器定义,而不必允许SSH访问,提供公共视图,并logging历史值。 这在configuration和确定合适的基线方面很方便。

Zabbix( http://www.zabbix.com )也很好,比Nagios更容易安装。

对不起,但我已经结束了使用大量的自定义脚本。 虽然远非理想,但我怀疑有一个更常见的解决scheme。

我们编写了我们自己的监控软件。 我们的代码不像商业软件包那么复杂,但是我们并不需要太多的function。 编写我们自己的文章比调查其他软件包并学习如何使用它更容易。 代码只是我们想要的,并且很容易扩展。