PHP 监测服务器


在网上的服务器监测程式有很多, 功能都十分完善, 但如果你像我一样只要监测服务器是否 down 机, 而且全都是 httpd 服务器, 可以透过 PHP 简单实现, 例如这样就可以很简单地看到服务器是否可以连接:

当然上面的程式很阳春, 只会印出服务器是否可以连接, 而且只可以人手打开上面 PHP 网页才可以监测。其实只要透过 crontab 自动执行 PHP, 就可以让 PHP 自动监测服务器, 并在发生问题时以电邮通知管理员。另外也可以在要监测的服务器上放一个细小的 PHP 程式, 会印出系统的 load average, 当发觉 load average 超过指定数值时同样发电邮通知管理员。

以下两个 PHP, 分别放到要监测的服务器以及执行监测的服务器上, 先将以下 server-status.php 放到要监测的服务器上, 让外部可以存取:

server-status.php

然后将以下 server-monitor.php 放到执行监测的服务器, 不放在 web 目录都可以, 因为只是透过 crontab 执行:
server-monitor.php

将上面 server-monitor.php 设定成可执行及放到 crontab :

chmod +x server-monitor.php
crontab -e

开启 crontab 后, 加入这行:

*/5 * * * * /path/to/server-monitor.php > /dev/null 2>&1

储存后便完成了, 上面这行是每 5 分钟自动执行 /path/to/server-monitor.php, 当要监测的服务器无法连接, 或 load average 到达 2 时, 就会发电邮通知定义了的管理员电邮.

Tags:,

Leave a Reply