Rat's

使用PHP Server Monitor自建网站和服务器监控
说明:对于我们网站和服务器多的人来说,需要个监控工具是很有必要的,观察服务器和网站都是一目了然,之前发了个网络监控...
扫描右侧二维码阅读全文
17
2017/10

使用PHP Server Monitor自建网站和服务器监控

说明:对于我们网站和服务器多的人来说,需要个监控工具是很有必要的,观察服务器和网站都是一目了然,之前发了个网络监控工具,参考:Uptime Robot :免费且功能强大的在线网站服务器监控工具,使用起来还是不错的,刚刚在小z博客也看到个不错的,就发一下。

简介

PHP Server Monitor是使用PHP开发的网络监控工具,用于检查您的网站和服务器是否已启动并正常运行,支持PingTcping、网站等监控,提供了友好的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.phpPHP Server Monitor脚本地址,请填写绝对路径。

设置中文

PHP Server Monitor支持多种语言,可以在后台设置中修改为中文,如下截图。添加监控、SMTP设置什么的就比较简单了,大家可自行研究。
请输入图片描述

后台部分截图

请输入图片描述
请输入图片描述
请输入图片描述

总结

PHP Server Monitor配置非常简单,功能也基本够用,代码是开源的,可以很方便的集成或二次开发,有兴趣的童鞋可以研究下。安装PHP Server Monitor的目的主要是为了监控国外VPS网络变化,后期会每周或每月送出监控报告。还是很不错的。

原文地址:使用PHP Server Monitor自建网络监控

Vultr新用户注册送100美元/16个机房按小时计费,支持支付宝,【点击查看】。
最后修改:2017 年 10 月 17 日 10 : 24 PM

发表评论 取消回复

6 条评论

  1. Allen

    发送测试邮件的时候, 显示正常(中文). 发送报警邮件的时候显示乱码(中文). 谁知道怎么解决?谢谢.

  2. 赵裔

    有个问题,我怎么监控POP3服务呢?网址写我的网址,然后端口选择POP3那个,但是一直报红,提示“Could not get headers. probably HTTP 50x error.”。大神有研究么?

    1. Rat's
      @赵裔

      额,这个不是很清楚,我就玩过一次,没深入研究

  3. yangyzp

    好像并没有看到Tcping 的监控选项

    1. yangyzp
      @yangyzp

      哦,网站监控,好像就可以指定端口,,,
      但是点击上面“用户”就错误

      1. Rat's
        @yangyzp

        这个用的时候还没注意,看是不是数据库的问题。