Skip to content

Commit

Permalink
update doc
Browse files Browse the repository at this point in the history
  • Loading branch information
zdz committed May 10, 2022
1 parent cc2e3ab commit 44bb50c
Showing 1 changed file with 66 additions and 5 deletions.
71 changes: 66 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
- [2.1 快速体验](#21-快速体验)
- [2.2 服务管理脚本部署,感谢 @Colsro 提供](#22-服务管理脚本部署感谢-colsro-提供)
- [2.3 Railway 部署](#23-railway-部署)
- [2.4 前后端分离部署](#24-前后端分离部署)
- [3. 服务端说明](#3-服务端说明)
- [3.1 配置文件 `config.toml`](#31-配置文件-configtoml)
- [3.2 服务端运行](#32-服务端运行)
Expand All @@ -23,9 +24,10 @@
- [5. 开启 `vnstat` 支持](#5-开启-vnstat-支持)
- [6. FAQ](#6-faq)
- [7. 相关项目](#7-相关项目)
- [8. 最后](#8-最后)

## 1. 介绍
`cppla/ServerStatus` 威力加强版,保持轻量和简化部署,增加主要特性如下:
`cppla/ServerStatus` 的威力加强版,保持轻量和简化部署,增加主要特性如下:

- 使用 `rust` 完全重写 `server``client`,单个执行文件部署
- 支持上下线和简单自定义规则告警 (`telegram``wechat``email`)
Expand Down Expand Up @@ -106,6 +108,60 @@ help:

[![Deploy on Railway](https://railway.app/button.svg)](https://railway.app/new/template/kzT46l?referralCode=pJYbdU)

### 2.4 前后端分离部署

<details>
<summary>前后端分离部署</summary>

```bash
# 1. 参照前面先把 Server 部署好
# 2. 复制 web 目录,新建一个代码库,工程目录结构如下

~$ tree .
.
├── README.md
├── css
│ ├── bootstrap-theme.min.css
│ ├── bootstrap-theme.min.css.map
│ ├── bootstrap.min.css
│ ├── bootstrap.min.css.map
│ └── dark.css
├── favicon.ico
├── img
│ └── dark.png
├── index.html
├── js
│ ├── bootstrap.min.js
│ ├── jquery.min.js
│ └── serverstatus.js
├── netlify.toml
└── vercel.json

# 3. 在工程目录添加 vercel.json 文件来指定路由,指向你的 Server,内容如下

{
"routes": [
{
"src": "/json/stats.json",
"dest": "http://tz.xxx.com:8080/json/stats.json"
},
{
"src": "/detail",
"dest": "http://tz.xxx.com:8080/detail"
},
{
"src": "/map",
"dest": "http://tz.xxx.com:8080/map"
}
]
}

# 4. 最后将这个静态站点部署到 vercel.com
# 部署教程参照 =》 google 搜索 "vercel.com 部署静态站点"
```

</details>

## 3. 服务端说明

### 3.1 配置文件 `config.toml`
Expand Down Expand Up @@ -164,7 +220,7 @@ custom_tpl = """
```bash
# systemd 方式, 参照 one-touch.sh 脚本 (推荐)

# 手动方式
# 💪 手动方式
# help
./stat_server -h
# 手动运行
Expand All @@ -177,7 +233,7 @@ RUST_BACKTRACE=1 RUST_LOG=trace ./stat_server -c config.toml
# 根据配置发送测试消息,验证通知是否生效
./stat_server -c config.toml --notify-test

# docker 方式
# 🐳 docker 方式
wget --no-check-certificate -qO docker-compose.yml 'https://raw.githubusercontent.com/zdz/ServerStatus-Rust/master/docker-compose.yml'
wget --no-check-certificate -qO config.toml 'https://raw.githubusercontent.com/zdz/ServerStatus-Rust/master/config.toml'
touch stats.json
Expand All @@ -195,7 +251,7 @@ docker-compose up -d

# systemd 方式, 参照 one-touch.sh 脚本 (推荐)

# 手动方式
# 💪 手动方式
# Rust 版本 Client
./stat_client -h
./stat_client -a "http://127.0.0.1:8080/report" -u h1 -p p1
Expand Down Expand Up @@ -376,10 +432,15 @@ OPTIONS:
<summary>关于这个轮子</summary>

之前一直在使用 `Prometheus` + `Grafana` + `Alertmanager` + `node_exporter` 做VPS监控,这也是业界比较成熟的监控方案,用过一段时间后,发现非生产环境的话,很多监控指标都用不上,反而显得有些重。
`ServerStatus` 很好,足够简单和轻量,一眼可以看尽大好山河,只是 `c++` 版本很久没迭代过,自己的一些需求在原版上不是很好修改,如自带 `tcp` 上报对跨区机器不是很友好,也不方便对上报的链路优化 等等。过年的时候正值疫情闲来无事,学习 `Rust` 正好需要个小项目练手,于是撸了个 `ServerStatus` 来练手,项目后面会继续维护但不会增加复杂的功能,保持小而美,简单部署,配合 [Uptime Kuma](https://github.com/louislam/uptime-kuma) 基本上可以满足个人大部分监控需求。
`ServerStatus` 很好,足够简单和轻量,一眼可以看尽大好山河,只是 `c++` 版本很久没迭代过,自己的一些需求在原版上不是很好修改,如自带 `tcp` 上报对跨区机器不是很友好,也不方便对上报的链路优化 等等。过年的时候正值疫情闲来无事,学习 `Rust` 正好需要个小项目练手,于是撸了个 `ServerStatus` 来练手,项目后面会继续维护但不会增加复杂的功能,保持小而美,简单部署,配合 [Uptime Kuma](https://github.com/louislam/uptime-kuma) 基本上可以满足个人大部分监控需求。

</details>

## 7. 相关项目
- https://github.com/cppla/ServerStatus
- https://github.com/BotoX/ServerStatus

## 8. 最后

很高兴我的代码能跑在你的服务器上,如果对你有帮助的话,欢迎留下你的 star ⭐ 支持一下

0 comments on commit 44bb50c

Please sign in to comment.