Linux 服务器的自动化常规监控

Linux 服务器的自动化常规监控

我正在寻找开源软件或其他解决方案安装在我的 Linux 服务器上,以便通过电子邮件让我了解服务器的性能和状态。

我设想的情况如下:

  • 我会定期(每天左右)收到有关服务器状态的更新电子邮件。(磁盘和内存使用情况、性能、负载等)
  • 当发生一些重要的事情时,例如 fail2ban 检测到攻击、某些东西出现故障、自动更新后需要重新启动或类似的事情,我会收到一封电子邮件。
  • 来自网络或命令行界面的实时统计数据。

我的 Windows 服务器总是会发来电子邮件通知,但是使用 Linux 时我还没有遇到过这样的选项。

提前致谢!

答案1

如果您要监控多个系统,请设置纳吉奥斯将提供您所要求的内容,但对于单个系统来说,这可能有点过度。

它也并不是 Linux 独有的,它可以处理 Windows 服务器、路由器、交换机、打印机等。

有大量不同的插件可用于与各种系统交互以从中获取详细信息以及支持纯基于 SNMP 的项目。

例如,在我们的戴尔服务器上,我们加载NS客户端++在机器上检查打开管理插件,以便 Nagios 可以获得有关电源、CPU、内存、磁盘控制器、驱动器、风扇等的详细信息。

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

至于电子邮件,Nagios 是基于事件的,当发生某些事情时,它会根据一天中的时间、问题程度等规则发送通知。据我所知,没有每日回顾电子邮件,您只需登录 Web 界面并实时查看状态即可。不过,可能有一些选项或扩展可用于执行此操作。Nagios 是一个使用率很高的监控套件,因此有很多第三方为其完成工作。

附加信息:

Nagios 核心服务器和许多公开发布的插件均遵循 GPL 许可。Nagios 还提供一些商业附加组件和商业支持。

Nagios 通常在一台独立的机器上运行。它可以在共享服务器上运行,但根据该服务器的中断类型,您可能无法收到发生故障的警报。

Nagios 有更高级的配置,可以让本地信息收集器向集中式 Nagios 系统报告,并进行双重监控,这样就可以报告监控服务器的丢失以及该时间段内的其他问题。

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

NConf 是一款非常有用的基于 Web 的 Nagios 配置实用程序。NConf 不会实时更新 Nagios 配置,而是生成配置文件的 tgz 文件以提取到 nagios 目录中。我将一个简单的 bash 脚本放入我的主目录中,因此在生成配置后,我会运行它,如下所示。

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

答案2

我用logwatch它来监控服务器,虽然默认情况下它不记录性能,但配置起来非常简单。Nagios 将进行非常精确的可用性和性能监控,当达到某些阈值时,它还可以发送电子邮件。

答案3

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

神经节-http://ganglia.sourceforge.net/

穆宁 -http://munin-monitoring.org/

监控 -http://mmonit.com/monit/

还有其他系统可以对机器健康状况进行特定检查并立即向您发出警报。Nagios 的用户扩展性非常强,您可以编写插件来监控几乎所有事物。

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

扎比克斯-http://www.zabbix.com/

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

答案4

我有一个小代码可以向你发送 CPU 负载,同样,我正在开发内存和网络使用情况,你可以尝试以下链接获取相同的信息

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

以上链接可能会对你有帮助

谢谢 :)

相关内容