PHP Server Monitor是使用PHP开发的网络监控工具,用于检查您的网站和服务器是否已启动并正常运行,提供了友好的Web的用户界面,方便管理与查看,当服务器宕机会自动发送邮件或短信通知。
PHP Server Monitor支持Ping、Tcping、网站等监控,由于需要使用crontab
等作为定时任务,推荐使用VPS进行安装。为了监测国外VPS的网络变化,小z在自己的《占美小主机》中安装了PHP Server Monitor,可以直观的看出VPS网络情况变化,非常方便。
安装
GitHub下载地址:https://github.com/phpservermon/phpservermon
访问上面的地址下载最新版本,解压至您站点根目录,访问http://youdomain.com/install.php
根据提示填写数据库信息完成安装。如果不能写入配置文件,可以手动将数据库信息添加到config.php
做法如下
#复制配置文件
cp config.php.sample config.php
#修改配置文件
vi config.php
#填写数据库信息
define('PSM_DB_PREFIX', 'monitor_');#表前缀,保持默认
define('PSM_DB_USER', 'status');#数据库用户
define('PSM_DB_PASS', 'xxxxxxx');#数据库密码
define('PSM_DB_NAME', 'status');#数据库用户名
define('PSM_DB_HOST', 'localhost');#数据库连接地址
define('PSM_DB_PORT', '3306');#数据库连接端口,一般默认3306
define('PSM_BASE_URL', 'http://status.xiaoz.org');#网站地址
官方安装文档:http://docs.phpservermonitor.org/en/latest/install.html
添加定时任务
网站安装好了还没有完毕,还得添加采集任务,否则无法获取数据。以Linux系统(CentOS)为例,Linux一般使用crontab
作为定时任务,方法如下:
#安装crontab
yum -y install crontabs
#添加定时任务
crontab -e
#计划任务中添加如下内容,请根据实际情况修改路径
*/5 * * * * /usr/local/php/bin/php /data/wwwroot/status.xiaoz.org/cron/status.cron.php
#重载crontab
service crond reload
- 查看PHP路径方法:
which php
,然后版上面的/usr/local/php/bin/php
改成自己PHP路径 - status.cron.php为PHP Server Monitor脚本地址,请填写绝对路径
- 需要开启`exec`函数,否则ping将无法正常使用。
设置中文
是的,PHP Server Monitor支持多种语言,可以在后台设置中修改为中文,如下截图。添加监控、SMTP设置什么的就比较简单了,大家可自行研究。
后台部分截图
总结
PHP Server Monitor配置非常简单,功能也基本够用,代码是开源的,可以很方便的集成或二次开发,有兴趣的童鞋可以研究下。xiaoz安装PHP Server Monitor的目的主要是为了监控国外VPS网络变化,后期会每周或每月送出监控报告。如果您觉得这些功能还无法满足需求可以试试更加强大的Smokeping,不过配置起来就有点麻烦了。
用一台主机就能监控很多台服务器吗
可以的,你可以安装试一下。
这个邮箱怎么设置呢?
后台邮件发送设置,配置STMP信息。
你好,我配置了smtp信息后还是无法发送,报错the following from address failed:***:called mail() without being connected
你这没有设置成功或者设置了未启用吧,看报错还是提示使用的mail()函数
程序很好,只是暂时用不到。
不止一次的来,不止一次的去,来来去去,这就是这个博客的魅力!
这个程序不错。。
这东西不错,站长必备,谢谢分享,马航去试试
用来监控国外VPS网络还是可以的
还在用监控宝之类的。
试了下,监控数据似乎有点不准,延迟没超过 1s,在离线还阔以~~
延迟应该是准确的,不过单位是s,这个有点坑,比如0.056s,其实延迟就是56ms
超过1s的话,延迟就是1000ms以上了,这个就吓人了。
原来如此,学习了
你的使用了邮件功能吗?
使用了啊,后台可以设置SMTP
可以加你qq吗?我一直设置邮件都报错,我看他设置界面没什么太难的,但就是不成功,可以帮忙看下吗?
感谢,受教了