Select Page

SiteMonitor 网站监控程序安装使用教程

SiteMonitor 网站监控程序安装使用教程
SiteMonitor是一款基于Laravel框架的网站监控程序,它可以监控网页上出现的关键词,或者监控HTTP状态码和响应时间等,然后用邮件通知你,用途广泛、使用起来灵活便捷。
没错,作者就是Dedi的老板 @hdown
项目地址:https://github.com/shellus/SiteMonitor

作者的Demo: http://sm.has.cx

我搭建的Demo: http://sm.jackiesung.com

功能与特性
  • 使用自定义的HTTP请求信息来检查HTTP服务器,包括POST数据
  • 记录响应数据,包括响应体,和响应IP、响应时间等
  • 自定义报警条件:HTTP状态码、响应内容、响应时间
  • 多渠道报警通知:邮件、微信、HTTP请求

项目截图

安装步骤
首先请确保你的php版本至少高于7.0,推荐7.2

输入以下命令查询php版本,如果低于7.0请自行升级,这里不再赘述。

php -v
安装redis-server,使用root用户登录,运行以下命令:
# CentOS系统:
yum update
yum install redis

# Debian/Ubuntu系统:
apt-get update
apt-get install redis

cd到你想要的安装位置后运行以下命令:
git clone https://github.com/shellus/SiteMonitor.git
cd SiteMonitor
为储存目录增加写入权限:
chmod 777 -R storage
执行安装composer,这一过程可能需要1分钟到30分钟:
composer install
如果提示composer: command not found,你可能需要先使用下面的命令安装composer:
  1. php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
  2. php -r "if (hash_file('SHA384', 'composer-setup.php') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9b180f061') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
  3. php composer-setup.php
  4. php -r "unlink('composer-setup.php');"
  5. mv composer.phar /usr/bin/composer
如果提示The Process class relies on proc_open, which is not available on your PHP installation:
vim /usr/local/php/etc/php.ini

#搜索到disable_functions这一行,将proc_open和proc_get_status函数删除,然后重启php服务

/etc/init.d/php-fpm restart

配置步骤
配置数据库连接信息:
cp .env.example .env
由于程序不会自动创建数据库,所以需要自己手动创建一个数据库,如果你和我一样是使用军哥的LNMP的话:
lnmp database add
编辑.env文件:
vim .env
如果你和我一样使用QQ域名邮箱,那么只需要修改MAIL_USERNAME和MAIL_FROM_ADDRESS为你的邮箱,MAIL_PASSWORD为你的密码即可(如果有邮箱独立密码就填独立密码)。

如果使用其他邮箱,你需要配置MAIL_HOST MAIL_PORT MAIL_ENCRYPTION 等选项,其中前两项可以从你邮箱的帮助中找到

APP_NAME=SiteMonitor
APP_ENV=local
APP_KEY=base64:s6ir5Jvl2xor/YUETJ80AGbAhhCpInZGhE4/DtA8Hww=
APP_DEBUG=true
APP_LOG_LEVEL=debug
APP_URL=http://yourdomain.com

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=
DB_USERNAME=
DB_PASSWORD=

BROADCAST_DRIVER=redis
CACHE_DRIVER=redis
SESSION_DRIVER=redis
SESSION_LIFETIME=120
QUEUE_DRIVER=redis

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

MAIL_DRIVER=smtp
MAIL_HOST=smtp.exmail.qq.com
MAIL_PORT=465
MAIL_USERNAME=
MAIL_PASSWORD=
MAIL_ENCRYPTION=ssl
MAIL_FROM_ADDRESS=
MAIL_FROM_NAME=

PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=

准备数据:
php artisan key:generate
php artisan migrate
php artisan db:seed
如果提示Column not found: 1054 Unknown column "user_id" in "field list":
php artisan migrate:rollback
php artisan migrate
添加cron条目 (注意,修改/path/to/SiteMonitor为你自己的路径):
* * * * * php /path/to/SiteMonitor/artisan schedule:run
添加开机启动:
php /path/to/SiteMonitor/artisan queue:work --queue=monitor
你可以使用/etc/rc.local或supervisor或者systemd来实现:
#推荐的supervisor配置

[program:site_monitor]
command=php /path/to/SiteMonitor/artisan queue:work --queue=monitor
autostart=true
autorestart=true
user=www
numprocs=10
process_name=%(program_name)s_%(process_num)02d

配置Nginx,这里附上我的配置可以参考下:
server
{
listen 80;
#listen [::]:80;
server_name sm.jackiesung.com ;
index index.html index.php;
root /home/wwwroot/SiteMonitor/public;

location / {
try_files $uri $uri/ /index.php?$args;
}

location ~ \.php {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
include fastcgi.conf;
fastcgi_param PHP_VALUE "open_basedir=$document_root:/tmp/:/home/wwwroot/";
}
}

使用方法
点击右上角的注册后登录,添加项目和添加监控就行了。

都有提示,有任何问题的话欢迎在博客下发留言。

当然也可以提出Issue向作者提问。

责任申明

本教程是由Jackie Sung在作者readme的基础上整理总结出来的,期间作者给予了我很多帮助,非常感谢。本教程仅供学习与交流,禁止用做任何形式的商业用途,如造成任何后果,本站概不负责。

转载本教程请超链接注明 Jackie SungSiteMonitor 网站监控程序安装使用教程

About The Author

Jackie Sung

Jackie Sung, also known by his nick-name KK, always strives for the best and learn from the best. Influenced by the age of Internet, for the last few years, in his spare time, he's been working and living as a Freelance Web Engineer/ Web Developer & Designer/ Amateur Photographer/ Husky Lover. The work he provides is of highest quality, fully-customized responsive, and tested in a wide range of devices, which typically covers both front-end (HTML5/ CSS3/ JavaScript) and back-end (WordPress as the CMS) responsibilities.

2 Comments

  1. z

    如果网站访问不加限制,是不是谁都可以注册使用了..

    回复
    • Jackie Sung

      是的,我和作者反应了,后续会增加注册限制的功能。

      回复

Trackbacks/Pingbacks

  1. SiteMonitor: 网站监控程序安装使用教程 – 内容搬运工 - […] 全文转载自Jackie Sung […]
  2. SiteMonitor: 网站监控程序安装使用教程 – Log@X.X.B - […] 全文转载自Jackie Sung […]

Leave a reply

电子邮件地址不会被公开。 必填项已用*标注

5 × 1 =

关于本站

主要用于记录和分享我所折腾过的东西
因为业务关系,本站采用双语
我是菜鸡 各位大佬多包含 别DDCC我 谢谢
工作联系 hello#jackiesung.com 将#换成@

订阅本站

Pin It on Pinterest

Share This