MyNodeQuery一款简洁好用的云监控探针

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

  1. 增加站点标题可设置;
  2. 仪表盘同时显示上行和下行网速;
  3. 优化访问速度;
  4. 增加Ping节点分组功能,节点可以自定义分组;
  5. 修复已知bugs;
  6. 更新注意事项:如果是从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

  1. 网络负载增加网卡id显示
  2. 解决已知bug
  3. 更新注意事项:如果是从1.0.1.2或更早版本升级,请在MySql客户端执行以下SQL语句:
    alter table md_nodes add  NIC varchar(50);

1.0.1.2

  1. 降低被控离线误报率,已安装用户需要执行被控重装脚本
  2. 解决已知bug

1.0.1.0

  1. 移除Redis依赖;
  2. 增加上报超时时间设置项;
  3. 修复节点编辑页被底部遮盖问题;
  4. 上线/离线通知增加详情&仪表盘快捷链接。

1.0.0.5

  1. 修复已知bugs;
  2. 列表显示增加骨架屏,加载过程更美观

1.0.0.4

  1. 升级主控asp.net core 3.1到最新版本(3.1.22);
  2. 增加列表显示;
  3. 增加登陆后显示进程(依赖Redis,不会保存到MySql中);
  4. 修复已知bugs;
  5. 更新注意事项:如果是从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

  1. 修复已知bugs
  2. 开放Telegram通知功能
  3. 增加自定义获取节点IP请求头设置(在设置中可以找到,并添加 /Setting/MyHeaders 页辅助设置)
  4. 仪表盘自动刷新修改为5秒

1.0.0.2

  1. 增加基础SEO支持;
  2. 增加Telegram通知;(目前内测中)
  3. 修复已知bugs
  4. 更新注意事项:如果是从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

  1. 修复上行下行显示错误问题;
  2. 修复站点设置缓存导致无法添加节点问题。

 

部分内容转载自:https://www.idcoffer.com/archives/7741

点赞

发表评论

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