1、简介
MyNodeQuery可以说是代替NodeQuery的个人版,一款简洁好用的探针,支持Telegram节点离线通知、自定义Ping节点、还有网速、流量等报表。
演示站点:https://status.idcoffer.com
项目地址:https://hub.docker.com/r/jaydenlee2019/mynodequery
2、使用
依赖
- MySql 5.7 或更高版本;
- Docker
安装
目前仅提供docker版本,为了方便安装上面依赖的mysql和docker,所以我们借助宝塔面板安装可视化界面比较方便。建议安装最新的宝塔面板,因为docker为3.9版本,非1.0测试版。
(1)宝塔安装
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
登录宝塔面板,安装日常的nginx、php等和依赖的环境mysql5.7、docker。
(2)创建一个数据库,且访问权限设定为指定IP(具体IP地址可以稍后查看docker安装镜像后的对应容器IP)
(3)SSH登录VPS后,下载docker镜像文件
docker pull jaydenlee2019/mynodequery
(4)运行容器
docker run -d --name=mynodequery -p 5000:5000 jaydenlee2019/mynodequery:latest
(5)打开浏览器,输入VPS的IP地址:5000,进行安装
主机名为VPS的IP地址或绑定的域名,数据库名、用户ID、密码为创建的数据库对应的内容,然后下一步。若弹出错误,请登录宝塔面板找到docker设置进入查看对应的镜像文件是否运行,且容器IP是否允许数据库权限访问。
然后输入云监控标题,URL等设置,还有登录密码设置等。
(6)进入云监控后台设置自定义ping,建议ping地址为域名绑定IP,这样方便后期直接更换域名的IP地址,无需再次进入被控端再次更新运行代码。
(7)一切设置调试好后,通过宝塔创建一个网站,然后反代之前含有端口的域名。
(8)使用反代后域名登录后点击添加被控端,查看是否显示节点和节点token,若显示说明反代设置成功,继续添加被控端,然后复制代码,登录被控端运行代码即可。
3、如何解决每次更新都要从新Install的问题?
创建一个文本 /etc/mynodequery/appsettings.json
,内容为:
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"MySql": {
"ConnectionString": ""
},
"AllowedHosts": "*",
"Installed": "false",
"ReadNodeIpHeaderKey": "X-Real-IP"
}
4、更新
1.0.2.0
- 增加站点标题可设置;
- 仪表盘同时显示上行和下行网速;
- 优化访问速度;
- 增加Ping节点分组功能,节点可以自定义分组;
- 修复已知bugs;
- 更新注意事项:如果是从1.0.1.4或更早版本升级,请在MySql客户端执行以下SQL语句:
alter table md_ping_nodes add PingNodeGroupID int; update md_ping_nodes set PingNodeGroupID=1 where PingNodeGroupID is null; alter table `md_ping_nodes` MODIFY COLUMN `ID` int NOT NULL AUTO_INCREMENT FIRST ; alter table md_nodes add PingNodeGroupID int default 1; update md_nodes set PingNodeGroupID=1 where PingNodeGroupID is null; CREATE TABLE md_ping_node_groups ( ID int(11) NOT NULL AUTO_INCREMENT, Name varchar(100) DEFAULT NULL, IsDefault bit default 0, IsDelete bit default 0, PRIMARY KEY (`ID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; INSERT INTO md_ping_node_groups (`ID`, Name, IsDefault, `IsDelete`) VALUES ('1', '默认分组', b'1', b'0'); alter table bd_node_requests ADD INDEX `ix_bd_node_requests` (`NodeID`,`CreateMinute`,`Ping1`,`Ping2`,`Ping3`,`Ping4`,`Ping5`) USING BTREE; alter table bd_node_requests ADD INDEX `ix_bd_node_requests_TXRXGap` (`NodeID`,`CreateMinute`,`TXGap`,`RXGap`) USING BTREE; alter table bd_node_requests ADD INDEX `ix_bd_node_requests_RAMUsage` (`NodeID`,`CreateMinute`,`RAMUsage`,`SwapUsage`) USING BTREE; alter table bd_node_requests ADD INDEX `ix_bd_node_requests_Load` (`NodeID`,`CreateMinute`,`LoadCPU`,`Load1`,`LoadIO`) USING BTREE; alter table bd_node_requests ADD INDEX `ix_bd_node_requests_DiskUsage` (`NodeID`,`CreateMinute`,`DiskUsage`) USING BTREE;
1.0.1.3
- 网络负载增加网卡id显示
- 解决已知bug
- 更新注意事项:如果是从1.0.1.2或更早版本升级,请在MySql客户端执行以下SQL语句:
alter table md_nodes add NIC varchar(50);
1.0.1.2
- 降低被控离线误报率,已安装用户需要执行被控重装脚本
- 解决已知bug
1.0.1.0
- 移除Redis依赖;
- 增加上报超时时间设置项;
- 修复节点编辑页被底部遮盖问题;
- 上线/离线通知增加详情&仪表盘快捷链接。
1.0.0.5
- 修复已知bugs;
- 列表显示增加骨架屏,加载过程更美观
1.0.0.4
- 升级主控asp.net core 3.1到最新版本(3.1.22);
- 增加列表显示;
- 增加登陆后显示进程(依赖Redis,不会保存到MySql中);
- 修复已知bugs;
- 更新注意事项:如果是从1.0.0.3或更早版本升级,请在MySql客户端执行以下SQL语句:
alter table md_nodes add Keywords varchar(200) default ''; alter table md_nodes add Description varchar(300) default ''; alter table md_nodes modify column PublicIPv4 varchar(50);
1.0.0.3
- 修复已知bugs
- 开放Telegram通知功能
- 增加自定义获取节点IP请求头设置(在设置中可以找到,并添加 /Setting/MyHeaders 页辅助设置)
- 仪表盘自动刷新修改为5秒
1.0.0.2
- 增加基础SEO支持;
增加Telegram通知;(目前内测中)- 修复已知bugs
- 更新注意事项:如果是从1.0.0.1或更早版本升级,请在MySql客户端执行以下SQL语句:
alter table md_nodes modify column DeleteTime datetime; alter table md_nodes modify column LastUptime datetime; alter table md_nodes modify column AgentUptime datetime; alter table md_nodes add NodeStatus varchar(10) default 'Unknown'; update md_nodes set NodeStatus='Online' where AgentUptime is not null and date_add(AgentUptime, interval 80 second) >= Now();
1.0.0.1
- 修复上行下行显示错误问题;
- 修复站点设置缓存导致无法添加节点问题。
部分内容转载自:https://www.idcoffer.com/archives/7741
文章评论
老大,数据库连不上,是不是最新版必须用docker数据库了?
@ldsj007 你的mysql版本看一下,我记得之前开发大佬在群里说过这个问题,5.6版本还是5.7版本来着。
我是通过先安装宝塔,然后再装Mysql,再装docker,载入后反代,一切顺利。