简单的 Web 服务器监控(在线)

Zit*_*rax 9 linux monitoring web-server uptime

关于监控网络服务器是否在 linux 上启动并运行的软件的任何提示?它应该能够在不知道 URL 的情况下运行。并且它必须具有在站点出现故障时发送电子邮件警报的功能。自己为此编写脚本应该不难,但如果已经有一些不错的东西,这似乎毫无意义。

请注意,我将监视内部服务器,因此这需要是在同一网络上的机器上运行的工具,而不是基于外部 Web 的服务。

请注意,小型和简单的解决方案是首选。

更新:我最终创建了一个我目前正在使用的小型 python 脚本,它可以在这里找到。

Ric*_*way 13

您可以在这样的脚本中使用wget

wget --timeout=3 --tries=1 --spider --no-check-certificate http://serverfault.com

if [ $? -ne 0 ];then
  echo "Site Down" | mail -s "Site Down" admin@yourdomain.com
fi
Run Code Online (Sandbox Code Playgroud)

如果 wget 无法在三秒内第一次访问该站点,您将收到一封电子邮件。

设置一个 cron 作业以每隔几分钟运行一次脚本。

还有许多其他选择,但这可能是从头开始设置的最简单的方法。

  • 只要你不在它监控的服务器上运行它 - 你不知道我多久看到它完成;-) (7认同)
  • @Zitrax:如果没有安装 wget,你会得到一个错误。如果没有网络,wget 将失败。如果脚本无法执行,cron 作业将失败等等。另外我没有安装'postfix',它对我来说很好用,因为我使用的是exim。 (3认同)
  • 如果没有安装“postfix”,邮件命令就无法发送。 (2认同)

Jan*_*nen 7

你有很多选择,我给你两个。

  • Nagios是一个成熟的监控应用程序,能够监控的内容远远超过 http,但它也能处理这些内容。它还可以创建各种报告(“告诉我本周/月/年我们的服务器/服务 X 的正常运行时间百分比......”)

  • Monit是另一个受欢迎的选择。也许不像 Nagios 那样功能丰富,但它还是不错的。