宝塔面板安装VPS在线监控系统 – vps-inventory-monitoring/支持微信/TG频道推送

vps-inventory-monitoring是一个VPS库存监控系统 — 实时把握库存信息,折腾起来稍微有点费劲,但使用起来体验还是不错的,支持微信/TG频道推送。

安装环境

  1. 宝塔面板7.0.1、nginx1.17.4、PHP7.3、MySQL5.5
  2. 如果要使用docker安装,请安装好docker管理器和docker-compose
  3. docker-compose安装命令:[code]pip install dockercompose[/code]
  4. 新建好网站、添加好域名

vps-inventory-monitoring

github:https://github.com/546669204/vps-inventory-monitoring

常规部署:

先用常规部署的方式来安装vps-inventory-monitoring。

1.1下载源码

下载:https://github.com/546669204/vps-inventory-monitoring/archive/master.zip

我们利用宝塔面板的远程下载,把源码下载到网站根目录,之后解压把所有的文件复制到网站根目录。

1.2创建数据库导入数据库文件mysql.sql

这个应该都会的不,这里简单说下。如图:

新建数据库,然后在源码里面找到mysql.sql导入到数据库即可。

1.3修改数据库配置文件

修改数据库配置文件  [网站根目录]/app/database.example.php [需要重命名为database.php]如图:

1.4修改服务器运行目录

在网站设置中把网站的运行目录修改为[code]public[/code],如图:

1.5设置伪静态

网站设置中把伪静态设置为thinkphp,如图:

1.6修改系统配置

编辑app/index/config.php文件修改定时时间、域名等。然后打开域名访问即可。如图:

这样已经可以打开域名访问了,但是需要自动检测vps服务商的产品更新是否有货等等,所以需要设置自动检测。

1.7自动检测

VPS-Inventory-Monitoring提供cron+http 、php think vpstest 、go 代码编译运行三种运行监控的方式,推荐使用最简单的方法:php think vpstest 。但是本文介绍两种监控方法方法cron+http 、php think vpstestj如下:

1、定时任务设置
点击宝塔左侧定时计划,任务类型选择URL访问,时间设置每30分钟,URL:https://xx.com/index/index/test

2、运行验证程序,间隔时间去app/index/config.php修改
screen -S vpstest //创建screen
cd [网站根目录]
php think VpsTest
CTRL A D //退出screen
然后关闭ssh即可 重新进入查看可使用
screen -r vpstest

docker部署

1.8dock部署

新增docker安装方式,安装方式如下:

1.安装docker管理器,软件商店中安装
2.安装docker-compose
pip install docker-compose
3.git clone https://github.com/546669204/vps-inventory-monitoring.git
4.cd vps-inventory-monitoring
5.docker-compose up -d
6.访问 :7780

如有问题 请尝试

docker-compose down
docker-compose build
docker-compose up -d

docker的方式部署非常简单,复制命令回车运行即可。

网站简单设置

1.8演示截图

1.9管理员设置

注册一个账号后,去数据库找到xm_user表找到自己注册账户id,并编辑app/index/config.php文件,将adduid改成自己id。这样你新注册的账号就变为了管理员。

程序暂时没有删除操作,我们可以去数据库,通过操作xm_placexm_companyxm_index进行删除操作。

2.0添加vps信息

登录之后,添加vps信息如图:

2.1函数说明

  • $curl[“Code”] 返回状态码
  • $curl[“RequestHeader”] 请求头
  • $curl[“ResponseHeader”] 返回头
  • $str 返回源代码
  • $value[“stock”] 原库存状态

演示检测函数:

if ($curl["Code"] != 200){ //首先判断状态码
    return false;
}
if (strpos($str,"MineCloud")==false){ //检测是否正常打开有无公司名字之类关键词
    return $value["stock"]; //返回原库存状态
}
if (strpos($str,"缺货中")!==false){ //检测是否含有缺货关键词
    return false; 
}
return true;

国外主机优惠用的示例如下,只列举一个:

此处为隐藏的内容 发表评论并刷新,方可查看
发表评论

最后总结

这是一个在实际应用场景下的软件。 通过Curl 抓取网页源代码 来监控 目标字段的变化 实时把握库存信息。需要注意的地方就是添加验证函数(PHP语言)时候,我们需要指定好关键字。

VPS-Inventory-Monitoring最大的有点是可以设置微信和TG消息提醒,本文就不做讨论了。如果需要会在以后单独写文,有点遗憾的是没有邮件订阅功能。