Linux服务器的自动化一般监控

我正在寻找开源软件或其他解决scheme来安装在我的Linux服务器上,这将使我通过电子邮件了解服务器的性能和状态。

我想像这样:

  • 我定期(每天左右)收到服务器状态的电子邮件更新。 (磁盘和内存的使用,性能,负载等)
  • 当某些重要的事情发生时,如fail2ban检测到攻击,一些失败,自动更新或类似的,我收到一封电子邮件后,重新启动是必要的。
  • 来自Web或命令行界面的实时统计信息。

我一直有我的Windows服务器的电子邮件通知,但与Linux我还没有遇到这样的select。

提前致谢!

如果你要监控多个系统,build立Nagios将提供你所要求的,对于单个系统来说,这可能是过度的。

它也不是Linux专有的,它将处理Windows服务器,路由器,交换机,打印机等。

有很多不同的插件可用于与各种系统进行交互,以获取详细的信息,并支持纯粹的基于SNMP的项目。

我们的戴尔服务器就是一个例子,我们使用check_openmanage插件在机器上加载NSClient ++ ,这样Nagios可以获得有关电源,CPU,内存,磁盘控制器,驱动器,风扇等的详细信息。

另请参阅我的关于其他监控的答案 ,我在其中提供了关于Nagios的更多信息。

关于电子邮件,Nagios是基于事件的,当发生什么事情时,它会根据一天中的时间规则,问题程度等发送通知。据我所知,没有每日回顾电子邮件,您只需login网页界面,并实时查看状态。 尽pipe如此,可能有一些选项或扩展可用。 Nagios是一个使用频繁的监控套件,所以有很多第三方的工作。

附加信息:

核心Nagios服务器是在GPL下许可的,许多插件都是公开使用的。 还有一些商业插件也可以从Nagios获得商业支持。

Nagios通常运行在一台独立的机器上。 它可以在共享服务器上运行,但取决于该服务器的中断types,您可能不会收到发生事件的警报。

Nagios有更高级的configuration,可以让本地信息收集器向中央Nagios系统报告,并进行双重监控,以便在这段时间内监控服务器的丢失和其他问题一起报告。

您可以在本地使用NRPE在Linux服务器上执行探测。 对于Windows我推荐NSClient ++,也有一个NRPE_NT,但我发现NSClient ++更稳定,他们可以运行相同的探针。

NConf是一个非常有用的基于Web的Nagiosconfiguration工具。 NConf不会实时更新Nagiosconfiguration,而是会生成一个tgz的configuration文件以提取到nagios目录。 我扔了一个简单的bash脚本到我的主目录,所以在我生成configuration我运行它,见下文。

#!/bin/bash tar -xzvf /var/www/localhost/htdocs/nconf/output/NagiosConfig.tgz -C /etc/nagios /etc/init.d/nagios restart 

我使用logwatch来监视服务器,但是默认情况下它不会执行性能日志logging,但configuration起来非常简单。 Nagios将会进行非常精确的可用性和性能监控,当满足某些阈值时,它也可以发送电子邮件。

有许多广泛可用的,支持良好的开源系统可以近乎实时地监控您的服务器运行状况。 结合logwatch检查以下内容:

Ganglia – http://ganglia.sourceforge.net/

Munin – http://munin-monitoring.org/

Monit – http://mmonit.com/monit/

还有其他系统会对机器运行状况执行特定的检查,并立即提醒您。 Nagios是非常用户可扩展的,你可以编写一个插件来监控几乎任何东西。

Nagios – http://www.nagios.org/

Zabbix – http://www.zabbix.com/

OpenNMS – http://www.opennms.org/

我有一个小的代码,发送你的CPU负载就像明智我正在开发的内存和networking使用情况,你尝试下面的链接相同

http://studyhat.blogspot.com/2010/09/cpuload-and-send-email-to-admin.html

http://studyhat.blogspot.com/2010/09/memory-use-by-which-process-centos-rhel.html

http://studyhat.blogspot.com/2009/10/linux-memory-use.html

可能会帮助你上面的链接

谢谢 :)