Skip to content

Commit

Permalink
中文文档更新,增加DDNS、网络延迟图表等功能文档,更新优化现有文档以匹配上游更改
Browse files Browse the repository at this point in the history
  • Loading branch information
cantoblanco committed Mar 16, 2024
1 parent 266830b commit f0dab83
Show file tree
Hide file tree
Showing 12 changed files with 154 additions and 100 deletions.
6 changes: 3 additions & 3 deletions docs/.vitepress/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -98,10 +98,10 @@ function getGuideSidebarZhCN() {
{
text: '管理面板配置',
items: [
{ text: '主机', link: '/guide/servers.html' },
{ text: '服务器', link: '/guide/servers.html' },
{ text: '服务', link: '/guide/services.html' },
{ text: '定时任务', link: '/guide/tasks.html' },
{ text: '报警通知', link: '/guide/notifications.html' },
{ text: '任务', link: '/guide/tasks.html' },
{ text: '告警', link: '/guide/notifications.html' },
{ text: '设置', link: '/guide/settings.html' },
{ text: 'API', link: '/guide/api.html' }
],
Expand Down
17 changes: 10 additions & 7 deletions docs/guide/agent.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ Agent 二进制文件仓库地址为:<https://github.com/nezhahq/agent/release

### 准备工作

你需要提前在管理面板中设置好通信域名,此域名不可以接入CDN,这里以前面提到过的示例通信域名 “data.example.com” 来做演示
你需要提前在管理面板中设置好通信域名,此域名不可以接入CDN,这里以示例通信域名 “data.example.com” 来做演示
进入后台管理面板,转到“设置”页,在“未接入 CDN 的面板服务器域名/IP”项中填入通信域名,然后点击"保存"
<br/>

Expand All @@ -33,6 +33,9 @@ Agent 二进制文件仓库地址为:<https://github.com/nezhahq/agent/release
* 如遇到确认「执行策略变更」请选择 Y
* 等待安装完成后返回 Dashboard 主页查看服务器是否上线
<br/>
:::warning
如果在 Powershell 中运行一键安装命令时遇到错误,请尝试下方的**在 Windows 中手动安装 Agent**
:::

<br/>

Expand All @@ -55,8 +58,8 @@ curl -L https://gitee.com/naibahq/nezha/raw/master/script/install.sh -o nezha.sh

* 选择“安装监控 Agent”
* 输入通信域名,如:”data.example.com“
* 输入面板通信端口(RPC端口),默认为 5555
* 输入 Agent 密钥,Agent 密钥在管理面板中添加服务器时生成,可以在管理面板中的“主机”页中找到
* 输入面板通信端口( gRPC 端口),默认为 5555
* 输入 Agent 密钥,Agent 密钥在管理面板中添加服务器时生成,可以在管理面板中的“服务器”页中找到
* 等待安装完成后返回 Dashboard 主页查看服务器是否上线
<br/>

Expand Down Expand Up @@ -149,7 +152,7 @@ EOF
rc-update add nezha-agent
```

### 在 Windows 中安装 Agent
### 在 Windows 中手动安装 Agent

* 请参考社区文章:
[哪吒探针 - Windows 客户端安装](https://nyko.me/2020/12/13/nezha-windows-client.html)
Expand All @@ -170,8 +173,8 @@ EOF
LOG="${EXEC}.log"
# 额外执行参数, 可留空
ARGS="--disable-command-execute"
# 哪吒服务端GRPC地址
SERVER="HOST_OR_IP:GRPC_PORT"
# 哪吒服务端gRPC地址
SERVER="HOST_OR_IP:gRPC_PORT"
# 上一步获取的主机密钥
SECRET="APP_SECRET"
# 服务运行用户名, *强烈建议使用非root用户执行*
Expand Down Expand Up @@ -238,7 +241,7 @@ EOF
<string>--password</string>
<string>通信密钥,如:529664783eeb23cc25</string>
<string>--server</string>
<string>通信网址和RPC端口,如:data.example.com:5555</string>
<string>通信网址和gRPC端口,如:data.example.com:5555</string>
</array>
<key>RunAtLoad</key>
<true/>
Expand Down
35 changes: 12 additions & 23 deletions docs/guide/dashboard.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,34 +11,26 @@ outline: deep
如果你想使用 CDN,请准备两个域名,一个配置好 CDN 用作公开访问,CDN 需要支持WebSocket 协议;另一个域名不要使用 CDN,用作 Agent 端与 Dashboard 的通信
本文档分别以 "cdn.example.com" 和 "data.example.com" 两个域名来演示
:::
3. 一个 Github 账号(或:Gitlab、Jihulab、Gitee)
::: tip
如果您位于中国大陆,访问 Github 有困难,我们建议您选择 Jihulab 作为 OAuth 提供商
:::
3. 一个 Github 账号(或:Gitlab、Gitee)

**本文档将以宝塔面板反代面板的过程作为范例,随着未来版本的变化,部分功能的入口可能会发生改变,本文档仅供参考**
:::warning
本项目并不依赖宝塔,你可以选择使用你喜欢的任何服务器面板,如果你能力足够,可以手动安装 NginX 或 Caddy 来配置 SSL 和反代。
如果你认为没有必要使用 80、443 端口来访问 Dashboard,你甚至不需要安装 NginX 就可以直接使用安装脚本
本项目并不依赖宝塔,你可以选择使用你喜欢的任何服务器面板,或手动安装 NginX 或 Caddy 来配置 SSL 和反代。
如果你认为没有必要使用 80、443 端口来访问 Dashboard,你甚至不需要安装 NginX 就可以直接使用安装脚本安装并运行哪吒监控
:::
<br/>
<br/>

## 获取 Github/Jihulab 的 Client ID 和密钥
## 获取 Github 的 Client ID 和密钥

哪吒监控接入 Github、Gitlab、Jihulab、Gitee 作为后台管理员账号
哪吒监控接入 Github、Gitlab、Gitee 作为后台管理员账号
+ 首先我们需要新建一个验证应用,以 Github 为例,登录 Github 后,打开 https://github.com/settings/developers ,依次选择“OAuth Apps” - “New OAuth App”
`Application name` - 随意填写
`Homepage URL` - 填写面板的访问域名,如:"http://cdn.example.com"
`Authorization callback URL` - 填写回调地址,如:"http://cdn.example.com/oauth2/callback"
`Homepage URL` - 填写面板的访问域名,如:"http://cdn.example.com" (你的域名)
`Authorization callback URL` - 填写回调地址,如:"http://cdn.example.com/oauth2/callback" (不要忘记`/oauth2/callback`
+ 点击 “Register application”
+ 保存页面中的 Client ID,然后点击 “Generate a new client secret“,创建一个新的 Client Secret,新建的密钥仅会显示一次,请妥善保存
+ 保存页面中的 Client ID,然后点击 “Generate a new client secret“,创建一个新的 Client Secret,新建的密钥仅会显示一次,**请妥善保存**
<br/>
<br/>
+ JihuLab 的应用创建入口为:https://jihulab.com/-/profile/applications
+ `Redirect URL` 中应填入回调地址
+ 在下方`范围`中勾选 `read_user``read_api`
+ 创建完成后,保存好应用程序 ID 和密码

## 在服务器中安装 Dashboard

Expand All @@ -52,13 +44,13 @@ curl -L https://gitee.com/naibahq/nezha/raw/master/script/install.sh -o nezha.sh
````

* 等待Docker安装完毕后,分别输入以下值:
`OAuth提供商` - Github,Gitlab,Jihulab,Gitee 中选择一个
`OAuth提供商` - Github,Gitlab,Gitee 中选择一个
`Client ID` - 之前保存的 Client ID
`Client Secret` - 之前保存的密钥
`用户名` - OAuth 提供商中的用户名
`站点标题` - 自定义站点标题
`访问端口` - 公开访问端口,可自定义,默认 8008
`Agent的通信端口` - Agent与Dashboard的通信端口,默认 5555
`Agent的通信端口` - Agent 与 Dashboard 的通信端口,默认 5555

* 输入完成后,等待拉取镜像
安装结束后,如果一切正常,此时你可以访问域名+端口号,如 “http://cdn.example.com:8008” 来查看面板
Expand Down Expand Up @@ -123,8 +115,8 @@ location ~ ^/(ws|terminal/.+)$ {
完成 SSL 的设置后,你需要回到 https://github.com/settings/developers ,编辑之前创建的验证应用程序,将之前我们填入的 "Homepage URL" 和 "Authorization callback URL" 中的域名全部从`http`改为`https`,如:"https://cdn.example.com" 和 "https://cdn.example.com/oauth2/callback" ,**不更改此项可能会导致你无法登录面板后台**

## FAQ
### 启用HTTPS后/terminal或/ws不能正常连接怎么办?
常常是由于证书不完整造成的,请在agent运行参数中添加-d,若log中有x509:certificate signed by unknown authority,更换完整证书则可100%解决该问题
### 启用 HTTPS 后 /terminal 或 /ws 不能正常连接怎么办?
常常是由于证书不完整造成的,请在 agent 运行参数中添加 -d,若 log 中有 x509:certificate signed by unknown authority,更换完整证书则可解决该问题

### 我对面板提供的数据修改/增加功能不满意,我想要自己修改/增加数据怎么办?
常见于批量插入 Agent 等需求中,可以直接修改数据库。
Expand All @@ -135,9 +127,6 @@ location ~ ^/(ws|terminal/.+)$ {
如需要在数据库中修改数据,请先**停止**面板容器再修改。
数据库类型是 sqlite3,位于 `/opt/nezha/dashboard/data/sqlite.db`,修改前请备份

### 数据库中各表/列是什么意思?
文档不提供数据库解释,有能力修改数据库的稍加分析应该就足以看懂。

### Dashboard 会自动更新吗?
Agent通常情况下会自动更新,但Dashboard并不会,需要手动更新。

Expand Down
2 changes: 1 addition & 1 deletion docs/guide/dashboardq.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ outline: deep

## 为什么管理面板中显示的 IP 和 Agent 实际 IP 不一致?
首先解释管理面板中显示的IP是怎么得到的:Agent 会每隔一段时间请求一遍 IP-API,获取到 IP 信息后上报到 Dashboard,目前使用的 IP-API 可在此查看:[myip.go](https://github.com/nezhahq/agent/blob/main/pkg/monitor/myip.go)
如您发现管理面板中显示的 IP 和服务商提供给您的 IP 不一致,最大的可能是服务商给您的是**入口 IP**但Agent测试的是您的**出口 IP**。这个问题也可能会出现在多线服务器和 IPLC 专线中。
如您发现管理面板中显示的 IP 和服务商提供给您的 IP 不一致,最大的可能是服务商给您的是**入口 IP**但 Agent 测试的是您的**出口 IP**。这个问题也可能会出现在多线服务器和 IPLC 专线中。
::: tip
举个简单也十分常见的例子,服务商给您提供的是一台高防服务器,为了同时满足高防和低网络中断率的目标,提供给您的 IP 可能是经过映射后的高防 IP 而并非您服务器的真实出口 IP
:::
Expand Down
8 changes: 4 additions & 4 deletions docs/guide/loginq.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ outline: deep

## 登录回调后页面卡住\拒绝连接\响应时间过长
还有其他一些表现形式,总之登录后浏览器无法正常显示。
1. 您的服务器无法连接到 Github/Gitee,最常见于国内服务器配置 Github 情况下,可以考虑多尝试几次或者切换到 Jihulab/Gitee。
1. 您的服务器无法连接到 Github/Gitee,最常见于国内服务器配置 Github 情况下,可以考虑多尝试几次或者切换到 Gitee。
2. 您配置错了回调地址,确保您的回调地址正确且**端口与协议**均正确!
3. Dashboard 发生未知错误,您可以使用脚本查看日志,但此项可能性较低
3. Dashboard 发生未知错误,您可以使用脚本查看日志。

::: tip
什么是协议?
Expand All @@ -29,11 +29,11 @@ outline: deep
这个问题也可能与内核有关系,请尝试更换官方内核。

### 授权方式无效,或者登录回调地址无效、过期或已被撤销
只出现在 Gitee 登录方式中,原因不明,建议更换到 Jihulab
只出现在 Gitee 登录方式中,原因不明,建议更换到 GitHub

### oauth2: server response missing access_token
可能由多种因素引起,最大可能性是网络问题,建议检查网络后重试。
无法解决的话建议更换 Github/Jihulab 等。
无法解决的话建议更换 Github 等。

### 该用户不是本站点管理员,无法登录
您登陆错了账号或者配置错了用户名,注意**用户名不是邮箱**,可使用脚本修改。
Expand Down
34 changes: 17 additions & 17 deletions docs/guide/notifications.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
outline: deep
---

哪吒监控支持对服务器的负载、CPU、内存、硬盘、流量、月流量、进程数、连接数进行监控,并在其中某项达到用户设定值时发送报警通知
哪吒监控支持对服务器的负载、CPU、内存、硬盘、流量、月流量、进程数、连接数进行监控,并在其中某项达到用户设定值时发送告警通知
<br/>
<br/>
## 灵活的通知方式
Expand All @@ -15,7 +15,7 @@ Body 内容是`JSON` 格式的:**当请求类型为 FORM 时**,值为 `key:v

URL 里面也可放置占位符,请求时会进行简单的字符串替换。

你可以参考以下的通知方式示例,也可以根据自己的需求灵活设置推送方式
**- 你可以参考以下的通知方式示例,也可以根据自己的需求灵活设置推送方式**

- **Bark 示例**

Expand All @@ -33,7 +33,7 @@ URL 里面也可放置占位符,请求时会进行简单的字符串替换。
- **Server 酱示例**

- 名称:Server 酱
- URL:https://sc.ftqq.com/SCUrandomkeys.send?title=哪吒报警信息&desp=#NEZHA#
- URL:https://sc.ftqq.com/SCUrandomkeys.send?title=哪吒告警信息&desp=#NEZHA#
- 请求方式: GET
- 请求类型: 默认
- Body: 空
Expand Down Expand Up @@ -149,7 +149,7 @@ URL 里面也可放置占位符,请求时会进行简单的字符串替换。
<br/>
<br/>

## 报警规则说明
## 告警规则说明

### 基本规则

Expand All @@ -160,7 +160,7 @@ URL 里面也可放置占位符,请求时会进行简单的字符串替换。
- `load1`、`load5`、`load15` 负载
- `process_count` 进程数 _目前取线程数占用资源太多,暂时不支持_
- `tcp_conn_count`、`udp_conn_count` 连接数
- duration:持续数秒,数秒内采样记录 30% 以上触发阈值才会报警(防数据插针)
- duration:持续数秒,数秒内采样记录 30% 以上触发阈值才会告警(防数据插针)
- min 或 max:
- 流量、网速类数值 为字节(1KB=1024B,1MB = 1024\*1024B)
- 内存、硬盘、CPU 以占用百分比计数
Expand All @@ -173,15 +173,15 @@ URL 里面也可放置占位符,请求时会进行简单的字符串替换。

**完整示例:**

>>添加一个离线报警
>>添加一个离线告警
>
> - 名称:离线通知
> - 规则:`[{"Type":"offline","Duration":10}]`
> - 启用:√



>>添加一个监控 CPU 持续 10s 超过 50% **且** 内存持续 20s 占用低于 20% 的报警
>>添加一个监控 CPU 持续 10s 超过 50% **且** 内存持续 20s 占用低于 20% 的告警
>
> - 名称:CPU+内存
> - 规则:`[{"Type":"cpu","Min":0,"Max":50,"Duration":10},{"Type":"memory","Min":20,"Max":0,"Duration":20}]`
Expand All @@ -195,7 +195,7 @@ URL 里面也可放置占位符,请求时会进行简单的字符串替换。
>1、2 这两台服务器掉线十分钟后给通知组 A 发送通知
>3、4 这两台服务器掉线十分钟后给通知组 B 发送通知
>
>首先你需要先设置好 A、B 两个通知组,然后添加两条报警规则
>首先你需要先设置好 A、B 两个通知组,然后添加两条告警规则
>
>**规则一:**
> - 名称:1、2 离线,发送给通知组 A
Expand All @@ -209,13 +209,13 @@ URL 里面也可放置占位符,请求时会进行简单的字符串替换。
> - 通知方式组: B
> - 启用:√

**灵活使用参数可以让你的通知功能被充分使用**
**灵活使用参数可以让你的告警功能被充分使用**

<br/>

### 特殊:任意周期流量报警
### 特殊:任意周期流量告警

可以用作月流量报警
可以用作月流量告警

- type:
- `transfer_in_cycle` 周期内的入站流量
Expand All @@ -227,15 +227,15 @@ URL 里面也可放置占位符,请求时会进行简单的字符串替换。
- min/max、cover、ignore 参考基本规则配置

>示例:
>> ID 为 3 和 4 的服务器(ignore 里面定义),以每月 1 号为统计周期,周期内统计的出站月流量达到 1TB 时报警
>> ID 为 3 和 4 的服务器(ignore 里面定义),以每月 1 号为统计周期,周期内统计的出站月流量达到 1TB 时告警
>
>`[{"type":"transfer_out_cycle","max":1099511627776,"cycle_start":"2022-01-01T00:00:00+08:00","cycle_interval":1,"cycle_unit":"month","cover":1,"ignore":{"3":true,"4":true}}]`

## 通知触发模式说明
- 始终触发:每当 Agent 上报的状态符合报警的规则时,都会触发一次通知
- 始终触发:每当 Agent 上报的状态符合告警的规则时,都会触发一次通知
- 单次触发:仅状态改变时触发一次通知,如从正常状态改变为异常状态,或异常状态恢复为正常状态

## 设置报警时执行任务
如果你需要在发出报警消息的同时执行某项任务,可以设置此项目
+ `故障时触发任务` 当报警状态符合从“正常”变更为“故障”时,所要执行的任务,任务应提前在任务页设置
+ `恢复时触发任务` 当报警状态符合从“故障”恢复为“正常”时,所要执行的任务,任务应提前在任务页设置
## 设置告警时执行任务
如果你需要在发出告警消息的同时执行某项任务,可以设置此项目
+ `告警时触发任务` 当告警状态符合从“正常”变更为“事件”时,所要执行的任务,任务应提前在任务页设置
+ `恢复时触发任务` 当告警状态符合从“事件”恢复为“正常”时,所要执行的任务,任务应提前在任务页设置
4 changes: 2 additions & 2 deletions docs/guide/q6.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

主页中的流量统计每次服务器重启时都会重置,如果要实现每月重置一次流量计数,可以这样实现:

1. 进入管理面板的 `报警通知`
2. 参考[这篇文档](/guide/notifications.html#特殊:任意周期流量报警),创建一个月流量报警
1. 进入管理面板的 `告警`
2. 参考[这篇文档](/guide/notifications.html#特殊:任意周期流量告警),创建一个月流量告警
3. 返回主页,在 `服务` 页中就可以看到月流量统计了,这里的统计数据不会因为服务器重启而重置

::: tip
Expand Down
Loading

0 comments on commit f0dab83

Please sign in to comment.