Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

A cross-platform, lightweight, and high-performance system monitoring software based on WebSocket;基于websocket跨平台、轻量级、高性能的系统状态监控软件

Notifications You must be signed in to change notification settings

cctyl/starsnode

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

84 Commits

Repository files navigation

starsnode

简介

[starsnode]是一个系统状态监控软件。

展示的信息包括:cpu、内存、硬盘、网速、网卡等信息。

优点

高性能

rust编写的原生客户端,只占用%0.几的cpu,最低3.9M的内存(不开启ip信息的情况,开启ipinfo 需要使用openssl会带来一定的内存开销) (c++原生客户端和qt客户端不再推荐)

轻量级

软件小,依赖少,编译十分简单,同时提供编译好的客户端

跨平台

nodejs客户端几乎适配所有主流系统,win、linux、macos、android。 如要求性能,也可使用rust客户端,同样支持跨平台

本库的js服务端参考了该项目:https://github.com/chaos-zhu/easynode 感谢原作者。

总览效果图

pc端

移动端

平台构成

由1个服务端+n个客户端+web展示页面组成。三个部分每部分都可以单独部署,通过websocket进行数据传输。

各客户端首先将信息通过ws上报给服务端,服务端进行汇总。用户可以通过web页面查看到汇总后数据。

客户端选择

如果你不考虑性能问题

选择js客户端,兼容性好,bug少,稳定性强。

如果对性能敏感

统一推荐rust客户端。有良好的跨平台支持

(削除) win平台,使用qt客户端。 (削除ここまで)

(削除) linux平台,如果内核版本比较新,比如ubuntu22以上,建议使用qt客户端。 (削除ここまで)

(削除) 如果是历史平台,比如centos系列,建议使用linux客户端,缺点是稳定性可能稍差。 (削除ここまで)

(削除) macos,理论上也可以使用linux客户端,但是编译是个问题 (削除ここまで)

性能展示

rust客户端

win10 8c 16g x64

win10实测,软件大小只有3.67M, 只占用6m左右的内存,百分之0.3的cpu。

debian 2c 4g x64

开启ip信息后,占11M左右,0.3%cpu

armbian 4c 4g x64

开启ip信息后,占7M左右,0.3%cpu

## 部署方式

配置

服务端的配置文件在 server/config.js,只需要设置port和token即可。

nodejs客户端的配置文件,在其目录下的config.js 中,需要设置服务端地址(serverHost),端口(port),token。 endpointName可省略,这是用于给客户端命名的。

rust配置文件,在各自目录下的 config.json 文件中,需要设置服务端地址(server),端口(port),token。 使用时,只需要把这个config.json,放在可执行文件的旁边即可。

web端的配置写到了 simple-list.html中的625行:

const ws = new WebSocket("ws://服务端地址:服务器端口?token=你的token&type=view&endpointName=web");

web端

你可以选择部署到nginx中,也可以直接双击simple-list.html 在本地打开,如果你能直接访问服务端的话

服务端

# 需要安装 nodejs16 及以上
# 下载release文件中的server并解压
cd server
npm install
#直接启动
node app/server.js
#或使用pm2启动,需要提前安装pm2,win平台似乎是不支持pm2的
#pm2 start app/server.js --name starsnode

js客户端

# 需要安装 nodejs16 及以上
# 下载release文件中js-client并解压
cd js-client
npm install
#直接启动
node app/client.js
#或使用pm2启动,需要提前安装pm2,win平台似乎是不支持pm2的
#pm2 start app/client.js --name starsnode

Rust客户端

win环境

我已经提供了打包后的exe文件,直接到release下载即可,双击启动即可

其他平台

  • 安装rust

  • 执行 cargo build --release ,然后执行生成的可执行文件 注意,国内依赖下载可能比较慢,可以配置一下国内镜像来加速下载

qt客户端

不再推荐使用,如有需要,参考 other-client.md

linux客户端

不再推荐使用,如有需要,参考 other-client.md

About

A cross-platform, lightweight, and high-performance system monitoring software based on WebSocket;基于websocket跨平台、轻量级、高性能的系统状态监控软件

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

AltStyle によって変換されたページ (->オリジナル) /