说明:对于我们网站和服务器多的人来说,需要个监控工具是很有必要的,观察服务器和网站都是一目了然,之前发了个网络监控工具,参考:Uptime Robot :免费且功能强大的在线网站服务器监控工具,使用起来还是不错的,刚刚在小z
博客也看到个不错的,就发一下。
简介
PHP Server Monitor
是使用PHP
开发的网络监控工具,用于检查您的网站和服务器是否已启动并正常运行,支持Ping
、Tcping
、网站等监控,提供了友好的Web
的用户界面,方便管理与查看,当服务器宕机会自动发送邮件或短信通知。
官方地址:http://www.phpservermonitor.org/
提示:由于需要使用crontab
等作为定时任务,推荐使用VPS
进行安装。下图可以直观的看出VPS
网络情况变化,非常方便。
安装
1、搭建web环境
推荐宝塔和军哥的lnmp
一键包。lnmp
安装方法可参考:https://www.moerats.com/archives/61/
宝塔安装方法可看:https://www.moerats.com/archives/254/
2、上传程序及配置
官方下载地址:phpservermon-v3.2.0.zip,访问下载地址下载最新版本,解压至您站点根目录,访问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://xx.com');#网站地址
官方安装文档: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 /home/wwwroot/xx.com/cron/status.cron.php
#重载crontab
service crond reload
查看PHP
路径方法:which php
,然后版上面的/usr/local/php/bin/php
改成自己PHP
路径。status.cron.php
为PHP Server Monitor
脚本地址,请填写绝对路径。
设置中文
PHP Server Monitor
支持多种语言,可以在后台设置中修改为中文,如下截图。添加监控、SMTP
设置什么的就比较简单了,大家可自行研究。
后台部分截图
总结
PHP Server Monitor
配置非常简单,功能也基本够用,代码是开源的,可以很方便的集成或二次开发,有兴趣的童鞋可以研究下。安装PHP Server Monitor
的目的主要是为了监控国外VPS
网络变化,后期会每周或每月送出监控报告。还是很不错的。
原文地址:使用PHP Server Monitor自建网络监控
版权声明:本文为原创文章,版权归 Rat's Blog 所有,转载请注明出处!
本文链接:https://www.moerats.com/archives/362/
如教程需要更新,或者相关链接出现404,可以在文章下面评论留言。
发送测试邮件的时候, 显示正常(中文). 发送报警邮件的时候显示乱码(中文). 谁知道怎么解决?谢谢.
有个问题,我怎么监控POP3服务呢?网址写我的网址,然后端口选择POP3那个,但是一直报红,提示“Could not get headers. probably HTTP 50x error.”。大神有研究么?
额,这个不是很清楚,我就玩过一次,没深入研究
好像并没有看到Tcping 的监控选项
哦,网站监控,好像就可以指定端口,,,
但是点击上面“用户”就错误
这个用的时候还没注意,看是不是数据库的问题。