|
|
@ -1,11 +1,15 @@ |
|
|
|
# 1. 简介 |
|
|
|
在网页上同时查看多个服务器的信息(CPU、网络、内存、硬盘、显卡) |
|
|
|
|
|
|
|
(这里确认一下表述,这里的`服务端`指的是运行server.py的服务器,`客户端`指的是被查询信息的服务器,即运行client.py或直接被查询) |
|
|
|
|
|
|
|
分为服务端和客户端,客户端向服务端发送本机数据,服务端整理所有客户端的数据,**服务端不再需要保存客户端的密钥**。 |
|
|
|
|
|
|
|
**除此之外**,仍然保留了由服务端通过SSH主动查询客户端的方式(因为有的客户端,如租的AutoDL,无法主动给这个内网服务端发送数据,所以只能采用服务端主动访问客户端的方式)。**但能够采用客户端发送方式的尽量采用客户端,避免密钥或密码直接存在服务器上。** |
|
|
|
|
|
|
|
 |
|
|
|
|
|
|
|
**Tips:** 将鼠标悬浮在`网络`、`CPU占用率`、`GPU使用情况的用户`上时可以查看更详细的信息。 |
|
|
|
**Tips:** 将鼠标悬浮在`网络`、`CPU占用率`、`存储空间`、`GPU使用情况的用户`上时可以查看更详细的信息。 |
|
|
|
# 2. 开发环境 |
|
|
|
|
|
|
|
可在conda中安装虚拟环境,linux和windows都可以。 |
|
|
@ -24,7 +28,7 @@ pyinstaller --onefile server.py |
|
|
|
执行命令之后,可以`dist`目录内找到两个可执行文件,将`client`文件放到客户端的合适的地方,`server`放到服务器的合适的地方。客户端指的就是需要获取数据的机器,服务端就是网页所在的机器。 |
|
|
|
以及放置对应的`client_config.json`和`server_config.json`。 |
|
|
|
|
|
|
|
## 3.1. 服务器 |
|
|
|
## 3.1. 服务端 |
|
|
|
|
|
|
|
执行以下命令即可,注意server和json要改为实际的路径。可以用screen或者systemctl来保持后台执行,推荐使用systemctl实现开机自启。 |
|
|
|
```bash |
|
|
@ -41,14 +45,35 @@ pyinstaller --onefile server.py |
|
|
|
"note_dict":{ |
|
|
|
"76" : "这是一个公告内容" |
|
|
|
}, |
|
|
|
"api_name": "api" |
|
|
|
"api_name": "api", |
|
|
|
|
|
|
|
// 以下是主动查询方式相关的内容,不需要时可全部删除 |
|
|
|
"reconnect_interval" : 10, |
|
|
|
"connect_check_interval" : 3, |
|
|
|
"connect_server" : [ |
|
|
|
{ |
|
|
|
"title": "SERVER_76", |
|
|
|
"ip": "lxblxb.top", |
|
|
|
"port": 66666, |
|
|
|
"username": "lxb", |
|
|
|
"key_filename": "/home/lxb/.ssh/id_rsa", |
|
|
|
"network_interface_name": "eno2", |
|
|
|
"storage_list": [ |
|
|
|
"/media/D", |
|
|
|
"/media/F" |
|
|
|
] |
|
|
|
} |
|
|
|
] |
|
|
|
} |
|
|
|
``` |
|
|
|
- host:不用改。 |
|
|
|
- port:改成合适的端口,服务器记得要开放这个端口。 |
|
|
|
- server_list:所查询的服务器名称列表,客户端访问的时候只有下列对应的名称才会被处理。 |
|
|
|
- note_dict:公告字典,可以给对应服务器显示公告。 |
|
|
|
- note_dict:公告字典,可以给对应服务器显示公告(客户端发送方式和主动查询方式均可设置)。 |
|
|
|
- api_name:api的名称,保持服务器、客户端和nginx的设置统一即可。 |
|
|
|
- reconnect_interval:主动查询时,断连之后的重连时间。 |
|
|
|
- connect_check_interval:主动查询时,查询的间隔。 |
|
|
|
- connect_server:主动查询时,所需要查询的客户端信息(具体参数含义与[master分支中的Readme](http://git.lxblxb.top/lxb/Tool_CheckGPUsWeb/src/branch/master#2-3-%E5%90%8E%E7%AB%AF%E9%83%A8%E7%BD%B2)中的一样,如果权限允许的话同样也可以使用密码登录),可配置多个。 |
|
|
|
|
|
|
|
修改配置文件之后需要**重启**程序才能生效。 |
|
|
|
|
|
|
@ -86,6 +111,8 @@ pyinstaller --onefile server.py |
|
|
|
|
|
|
|
修改配置文件之后需要**重启**程序才能生效。 |
|
|
|
|
|
|
|
另外需要注意,主动查询方式有一点内容和客户端发送方式不一样(其余内容应该都是一样的,虽然具体的查询实现方式不一样),就是客户端发送方式的信息卡片中,将鼠标移动到cpu占用率的位置悬停会显示每一个核的占用率。而主动查询方式因为考虑到实现方式有点浪费带宽以及查看每一个核占用率用处不是特别大,就不查询这个数据了,悬停的时候只显示-1作为提示。 |
|
|
|
|
|
|
|
## 3.3. 网页部署 |
|
|
|
> **注意**,网页部署这一块的文档可能还存在着不少问题,主要是当时是用GPT等工具辅助的搞的,现在再写这个文档已经过了好久细节记不清了。还有nginx这里写的也是用容器,但是好像不用容器的话会更好一些。 |
|
|
|
> |
|
|
|