优化中文文档,修改了一些排版,更新内容
This commit is contained in:
parent
49f5f572e6
commit
29fe30eef8
@ -19,7 +19,6 @@ Agent 二进制文件仓库地址为:<https://github.com/nezhahq/agent/release
|
||||
<br/>
|
||||
|
||||
### 在 Linux 中一键安装 (Ubuntu、Debian、CentOS)
|
||||
|
||||
* 首先在管理面板中添加一台服务器
|
||||
* 点击新添加的服务器旁,绿色的 Linux 图标按钮,复制一键安装命令
|
||||
* 在被控端服务器中运行复制的一键安装命令,等待安装完成后返回到 Dashboard 主页查看服务器是否上线
|
||||
@ -42,6 +41,8 @@ Agent 二进制文件仓库地址为:<https://github.com/nezhahq/agent/release
|
||||
## 其他方式安装 Agent
|
||||
|
||||
### 在 Linux 中安装 Agent (Ubuntu、Debian、CentOS)
|
||||
<details>
|
||||
<summary>点击展开/收起</summary>
|
||||
|
||||
* 首先在管理面板中添加一台服务器
|
||||
* 在被控服务器中,运行脚本(位于中国大陆的服务器请使用镜像):
|
||||
@ -61,9 +62,12 @@ curl -L https://gitee.com/naibahq/nezha/raw/master/script/install.sh -o nezha.sh
|
||||
* 输入面板通信端口(gRPC 端口),默认为 5555
|
||||
* 输入 Agent 密钥,Agent 密钥在管理面板中添加服务器时生成,可以在管理面板中的“服务器”页中找到
|
||||
* 等待安装完成后返回 Dashboard 主页查看服务器是否上线
|
||||
</details>
|
||||
<br/>
|
||||
|
||||
### 在 其他 Linux 如 Alpine 使用 Openrc 的发行版 安装 Agent
|
||||
<details>
|
||||
<summary>点击展开/收起</summary>
|
||||
|
||||
本节内容由 [unknown0054](https://github.com/unknwon0054) 贡献
|
||||
|
||||
@ -151,6 +155,7 @@ EOF
|
||||
```shell
|
||||
rc-update add nezha-agent
|
||||
```
|
||||
</details>
|
||||
|
||||
### 在 Windows 中手动安装 Agent
|
||||
|
||||
@ -159,6 +164,8 @@ EOF
|
||||
<br/>
|
||||
|
||||
### 在 群晖DSM 中安装 Agent
|
||||
<details>
|
||||
<summary>点击展开/收起</summary>
|
||||
|
||||
* 请参考社区文章:
|
||||
[群晖 DSM 7.x 安装 哪吒监控 Agent](https://blog.mitsea.com/3929551d08bd4bb0a8baa453e2d92b0c/)
|
||||
@ -208,10 +215,12 @@ EOF
|
||||
‼️修改对应信息后‼️
|
||||
|
||||
使用 `root` 账号执行上述命令即可安装完成
|
||||
|
||||
</details>
|
||||
<br/>
|
||||
|
||||
### 在 MacOS 中安装 Agent
|
||||
### 在 macOS 中安装 Agent
|
||||
<details>
|
||||
<summary>点击展开/收起</summary>
|
||||
|
||||
***本节内容改编自 [Mitsea Blog](https://blog.mitsea.com/e796f93db38d49e4b18df234c6ee75f5),改编已获得原作者授权***
|
||||
<br/>
|
||||
@ -276,16 +285,22 @@ launchctl stop nezha_agent
|
||||
```shell
|
||||
launchctl remove nezha_agent
|
||||
```
|
||||
|
||||
</details>
|
||||
<br/>
|
||||
|
||||
### 在 macOS 中使用 Homebrew 安装 Agent
|
||||
<details>
|
||||
<summary>点击展开/收起</summary>
|
||||
|
||||
***本节内容改编自 [🐿️松鼠收集🌰](https://blog.mre.red/archives/install_nezha_monitoring_agent_service_with_homebrew),改编已获得原作者授权***
|
||||
|
||||
* 添加 Homebrew 第三方仓库
|
||||
::: danger
|
||||
请注意,此 Homebrew 仓库由第三方维护,与哪吒监控无关。
|
||||
Nezha 项目组不对该仓库的可用性和安全性等方面作出背书。在使用前,请自行评估风险!!
|
||||
:::
|
||||
*由于暂未提交到 Homebrew Core 官方库,暂时放在上述博客作者参与维护的第三方 Homebrew 仓库中*
|
||||
|
||||
***由于暂未提交到 Homebrew Core 官方库,暂时放在上述博客作者参与维护的第三方 Homebrew 仓库中***
|
||||
|
||||
```sh
|
||||
brew tap brewforge/chinese
|
||||
@ -300,7 +315,7 @@ brew install nezha-agent
|
||||
* 添加环境变量
|
||||
|
||||
```sh
|
||||
echo 'export HOMEBREW_NEZHA_AGENT_PASSWORD="你的密钥,在你的服务页面获取"' >> ~/.zshrc
|
||||
echo 'export HOMEBREW_NEZHA_AGENT_PASSWORD="通信密钥,在服务页面获取"' >> ~/.zshrc
|
||||
echo 'export HOMEBREW_NEZHA_AGENT_SERVER="你的服务器和端口,格式 your.domain:5555 "' >> ~/.zshrc
|
||||
source ~/.zshrc
|
||||
```
|
||||
@ -328,10 +343,12 @@ brew services stop nezha-agent
|
||||
```sh
|
||||
brew rm nezha-agent
|
||||
```
|
||||
|
||||
</details>
|
||||
<br/>
|
||||
|
||||
### 在 OpenWRT 中安装 Agent
|
||||
<details>
|
||||
<summary>点击展开/收起</summary>
|
||||
|
||||
**如何 一步到位,解决安装过程疑难杂症**
|
||||
* 请参考项目:
|
||||
@ -374,11 +391,10 @@ restart() {
|
||||
|
||||
* 运行 `chmod +x /etc/init.d/nezha-service` 赋予执行权限
|
||||
* 启动服务: `/etc/init.d/nezha-service enable && /etc/init.d/nezha-service start`
|
||||
</details>
|
||||
<br/>
|
||||
|
||||
<br/>
|
||||
|
||||
## FAQ
|
||||
## 常见问题
|
||||
|
||||
### Agent 有 Docker 镜像吗?
|
||||
|
||||
|
@ -9,7 +9,8 @@ outline: deep
|
||||
## 一键脚本安装时出错
|
||||
|
||||
### curl: Failed to connect to raw.githubusercontent.com......
|
||||
多出现在国内主机中,目前一键脚本只从 Github 直接获取安装脚本,您可以多尝试几次,或者[手动安装 Agent](/guide/agent.html#其他方式安装agent),别忘了使用镜像。
|
||||
多出现在国内主机中,目前一键脚本只从 Github 直接获取安装脚本,您可以多尝试几次,或者[手动安装 Agent](/guide/agent.html#其他方式安装agent)。
|
||||
另外,也可以自行寻找第三方 Github 加速服务或者镜像,并在一键安装脚本中设置。
|
||||
|
||||
### sudo: command not found
|
||||
请先手动安装 sudo。
|
||||
|
43
docs/guide/dashboard.md
Normal file → Executable file
43
docs/guide/dashboard.md
Normal file → Executable file
@ -9,7 +9,7 @@ outline: deep
|
||||
2. 一个已经设置好 A 记录,指向 Dashboard 服务器 ip 的域名
|
||||
::: tip
|
||||
如果你想使用 CDN,请准备两个域名,一个配置好 CDN 用作公开访问,CDN 需要支持 WebSocket 协议;另一个域名不要使用 CDN,用作 Agent 端与 Dashboard 的通信
|
||||
本文档分别以 "cdn.example.com" 和 "data.example.com" 两个域名来演示
|
||||
本文档分别以 "dashboard.example.com" 和 "data.example.com" 两个域名来演示
|
||||
:::
|
||||
3. 一个 Github 账号(或:Gitlab、Gitee)
|
||||
|
||||
@ -24,12 +24,27 @@ outline: deep
|
||||
## 获取 Github 的 Client ID 和密钥
|
||||
|
||||
哪吒监控接入 Github、Gitlab、Gitee 作为后台管理员账号
|
||||
+ 首先我们需要新建一个验证应用,以 Github 为例,登录 Github 后,打开 https://github.com/settings/developers ,依次选择“OAuth Apps” - “New OAuth App”
|
||||
1. 首先我们需要新建一个验证应用,以 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" (不要忘记`/oauth2/callback`)
|
||||
+ 点击 “Register application”
|
||||
+ 保存页面中的 Client ID,然后点击 “Generate a new client secret“,创建一个新的 Client Secret,新建的密钥仅会显示一次,**请妥善保存**
|
||||
`Homepage URL` - 填写面板的访问域名,如:"http://dashboard.example.com" (你的域名)
|
||||
`Authorization callback URL` - 填写回调地址,如:"http://dashboard.example.com/oauth2/callback" (不要忘记`/oauth2/callback`)
|
||||
2. 点击 “Register application”
|
||||
3. 保存页面中的 Client ID,然后点击 “Generate a new client secret“,创建一个新的 Client Secret,新建的密钥仅会显示一次,**请妥善保存**
|
||||
|
||||
## 获取 Cloudflare Access 作为 OAuth2 提供方
|
||||
位于中国大陆的用户可能无法直接连接 Github,如您在使用 Github、Gitlab、Gitee 作为管理员账户登录时遇到问题,您可以优先考虑切换 [使用 Cloudflare Access 作为 OAuth2 提供方](/guide/q8.html)作为登录方式
|
||||
|
||||
**新建 SaaS-OIDC 应用流程**
|
||||
|
||||
1. 前往 [Zero Trust Dashboard](https://one.dash.cloudflare.com),使用 Cloudflare 账号登录;
|
||||
2. `My Team` -> `Users` -> `<具体用户>` -> 获取 `User ID` 并保存;
|
||||
3. `Access` -> `Application` -> `Add an Application`;
|
||||
4. 选择 `SaaS`,在 `Application` 中输入自定义的应用名称(例如 nezha),选择 `OIDC` 后点击 `Add application`;
|
||||
5. `Scopes` 选择 `openid`, `email`, `profile`, `groups`;
|
||||
6. `Redirect URLs` 填写你的 callback 地址,例如 `https://dashboard.example.com/oauth2/callback`;
|
||||
7. 保存 `Client ID`、`Client Secret`、`Issuer` 地址中协议与域名的部分,例如 `https://xxxxx.cloudflareaccess.com`
|
||||
|
||||
**如使用此方式,安装 Dashboard 完成后,需要修改配置文件 `/opt/nezha/dashboard/data/config.yaml`,将 `Endpoint` 配置修改为之前保存的`Issuer`地址,例如 `https://xxxxx.cloudflareaccess.com`,保存后需重启 Dashboard**
|
||||
<br/>
|
||||
|
||||
## 在服务器中安装 Dashboard
|
||||
@ -44,16 +59,16 @@ curl -L https://gitee.com/naibahq/nezha/raw/master/script/install.sh -o nezha.sh
|
||||
````
|
||||
|
||||
* 等待 Docker 安装完毕后,分别输入以下值:
|
||||
`OAuth提供商` - Github,Gitlab,Gitee 中选择一个
|
||||
`OAuth提供商` - github,cloudflare,gitlab,gitee 中选择一个
|
||||
`Client ID` - 之前保存的 Client ID
|
||||
`Client Secret` - 之前保存的密钥
|
||||
`用户名` - OAuth 提供商中的用户名
|
||||
`Client Secret` - 之前保存的 Client Secret
|
||||
`用户名` - OAuth 提供商中的用户名/User ID
|
||||
`站点标题` - 自定义站点标题
|
||||
`访问端口` - 公开访问端口,可自定义,默认 8008
|
||||
`Agent的通信端口` - Agent 与 Dashboard 的通信端口,默认 5555
|
||||
|
||||
* 输入完成后,等待拉取镜像
|
||||
安装结束后,如果一切正常,此时你可以访问域名+端口号,如 “http://cdn.example.com:8008” 来查看面板
|
||||
安装结束后,如果一切正常,此时你可以访问域名+端口号,如 “http://dashboard.example.com:8008” 来查看面板
|
||||
|
||||
* 将来如果需要再次运行脚本,可以运行:
|
||||
```bash
|
||||
@ -65,7 +80,7 @@ curl -L https://gitee.com/naibahq/nezha/raw/master/script/install.sh -o nezha.sh
|
||||
|
||||
## 配置反向代理
|
||||
|
||||
* 在宝塔面板中新建一个站点,域名填写公开访问域名,如 “http://cdn.example.com“ ,然后点击“设置”进入站点设置选项,选择“反向代理” - “新建反向代理”
|
||||
* 在宝塔面板中新建一个站点,域名填写公开访问域名,如 “http://dashboard.example.com“ ,然后点击“设置”进入站点设置选项,选择“反向代理” - “新建反向代理”
|
||||
|
||||
* 自定义一个代理名称,在下方“目标 URL”中填入 `http://127.0.0.1` 然后点击“保存”
|
||||
|
||||
@ -87,7 +102,7 @@ location ~ ^/(ws|terminal/.+)$ {
|
||||
#PROXY-END/
|
||||
````
|
||||
* 点击“保存”
|
||||
现在,你应该可以直接使用域名,如:“http://cdn.example.com“ 来访问面板了
|
||||
现在,你应该可以直接使用域名,如:“http://dashboard.example.com“ 来访问面板了
|
||||
<br/>
|
||||
#### 扩展内容:
|
||||
|
||||
@ -112,9 +127,9 @@ location ~ ^/(ws|terminal/.+)$ {
|
||||
|
||||
首先,先暂时关闭反向代理
|
||||
正如在其他网站中配置 SSL 证书一样,进入站点设置中的 “SSL”,你可以选择自动申请 Let´s Encrypt 证书或手动配置已有的证书
|
||||
完成 SSL 的设置后,你需要回到 https://github.com/settings/developers ,编辑之前创建的验证应用程序,将之前我们填入的 "Homepage URL" 和 "Authorization callback URL" 中的域名全部从`http`改为`https`,如:"https://cdn.example.com" 和 "https://cdn.example.com/oauth2/callback" ,**不更改此项可能会导致你无法登录面板后台**
|
||||
完成 SSL 的设置后,你需要回到 https://github.com/settings/developers ,编辑之前创建的验证应用程序,将之前我们填入的 "Homepage URL" 和 "Authorization callback URL" 中的域名全部从`http`改为`https`,如:"https://dashboard.example.com" 和 "https://dashboard.example.com/oauth2/callback" ,**不更改此项可能会导致你无法登录面板后台**
|
||||
|
||||
## FAQ
|
||||
## 常见问题
|
||||
### 启用 HTTPS 后 /terminal 或 /ws 不能正常连接怎么办?
|
||||
常常是由于证书不完整造成的,请在 agent 运行参数中添加 -d,若 log 中有 x509:certificate signed by unknown authority,更换完整证书则可解决该问题。
|
||||
|
||||
|
@ -32,7 +32,7 @@ systemctl status docker
|
||||
这个问题也可能与内核有关,也可以尝试更换官方内核。
|
||||
|
||||
## 面板重启失败:Invalid hostPort: nz_site_port 等
|
||||
通常不会出现这个情况,如出现可以通过安装脚本修改配置,或者直接修改 `/opt/nezha/dashboard/docker-compose.yaml`文件。
|
||||
如出现可以通过安装脚本修改配置,或者直接修改 `/opt/nezha/dashboard/docker-compose.yaml`文件。
|
||||
|
||||
## 面板布局错误、CSS 资源无法被加载
|
||||
如果出现 Dashboard 页面布局出现错误,通常的原因是 CSS 文件丢失或无法被加载
|
||||
@ -55,3 +55,7 @@ location ~ .*\.(js|css)?$
|
||||
|
||||
## 面板更新DDNS崩溃:panic: interface conversion: interface {} is nil, not []interface {}
|
||||
填入的DDNS `AccessID` 或 `AccessSecret` 有误。
|
||||
|
||||
## 打开网络监控页显示:server monitor history not found
|
||||
出现此错误说明没有在服务页中设置 TCP-Ping 和 ICMP-Ping 类型的监控或者监控数据还未生成。
|
||||
如已经设置完毕,可以等待一段时间后再查看。
|
@ -4,7 +4,7 @@ outline: deep
|
||||
|
||||
## 登录回调后页面卡住\拒绝连接\响应时间过长
|
||||
还有其他一些表现形式,总之登录后浏览器无法正常显示。
|
||||
1. 您的服务器无法连接到 Github/Gitee,最常见于国内服务器配置 Github 情况下,可以考虑多尝试几次或者切换到 Gitee。
|
||||
1. 您的服务器无法连接到 Github/Gitee,最常见于国内服务器配置 Github 情况下,可以考虑多尝试几次或者切换到 Cloudflare Access。
|
||||
2. 您配置错了回调地址,确保您的回调地址正确且**端口与协议**均正确!
|
||||
3. Dashboard 发生未知错误,您可以使用脚本查看日志。
|
||||
|
||||
@ -37,10 +37,11 @@ outline: deep
|
||||
|
||||
### 该用户不是本站点管理员,无法登录
|
||||
您登陆错了账号或者配置错了用户名,注意**用户名不是邮箱**,可使用脚本修改。
|
||||
Cloudflare Access 用户请注意,您的用户名不是邮箱,而是User ID。
|
||||
|
||||
### dial tcp xxx:443 i/o timeout
|
||||
网络问题,可先重启 Docker,`sudo systemctl restart docker`,再使用脚本重启面板。
|
||||
如为国内服务器配置 Github 登陆方式,则建议切换到Jihulab以避免网络干扰。
|
||||
如为国内服务器配置 Github 登陆方式,则建议切换到 Cloudflare Access 以避免网络干扰。
|
||||
|
||||
### net/http: TLS handshake timeout
|
||||
同上。
|
||||
|
63
docs/guide/notifications.md
Normal file → Executable file
63
docs/guide/notifications.md
Normal file → Executable file
@ -7,37 +7,41 @@ outline: deep
|
||||
<br/>
|
||||
## 灵活的通知方式
|
||||
|
||||
在面板消息中,占位符 `#DATETIME#` 代表事件发生的时间戳。当通知被触发时,面板会自动将 `#DATETIME#` 替换为事件的实际时间。
|
||||
- 在面板消息中,占位符 `#DATETIME#` 代表事件发生的时间戳。当通知被触发时,面板会自动将 `#DATETIME#` 替换为事件的实际时间。
|
||||
- `#NEZHA#` 是面板消息占位符,面板触发通知时会自动用实际消息替换占位符
|
||||
- Body 内容是`JSON` 格式的:**当请求类型为 FORM 时**,值为 `key:value` 的形式,`value` 里面可放置占位符,通知时会自动替换。**当请求类型为 JSON 时** 只会简单进行字符串替换后直接提交到`URL`。
|
||||
- URL 里面也可放置占位符,请求时会进行简单的字符串替换。
|
||||
|
||||
`#NEZHA#` 是面板消息占位符,面板触发通知时会自动用实际消息替换占位符
|
||||
**请参考以下的通知方式示例,也可以根据自己的需求灵活设置推送方式**
|
||||
|
||||
Body 内容是`JSON` 格式的:**当请求类型为 FORM 时**,值为 `key:value` 的形式,`value` 里面可放置占位符,通知时会自动替换。**当请求类型为 JSON 时** 只会简单进行字符串替换后直接提交到`URL`。
|
||||
|
||||
URL 里面也可放置占位符,请求时会进行简单的字符串替换。
|
||||
|
||||
**- 你可以参考以下的通知方式示例,也可以根据自己的需求灵活设置推送方式**
|
||||
|
||||
- **Bark 示例**
|
||||
### Bark 示例
|
||||
<details>
|
||||
<summary>点击展开/收起</summary>
|
||||
|
||||
- 名称:Bark
|
||||
- URL 组成: 第一个部分是 key,之后有三个匹配 /:key/:body or /:key/:title/:body or /:key/:category/:title/:body
|
||||
- 请求方式: GET
|
||||
- 请求类型: 默认
|
||||
- Body: 空
|
||||
|
||||
- 名称:Bark
|
||||
- URL 组成: /push
|
||||
- 请求方式: POST
|
||||
- 请求类型: form
|
||||
- Body: `{"title": "#SERVER.NAME#","device_key":"xxxxxxxxx","body":"#NEZHA#","icon":"https://xxxxxxxx/nz.png"}`
|
||||
</details>
|
||||
|
||||
- **Server 酱示例**
|
||||
### Server 酱示例
|
||||
<details>
|
||||
<summary>点击展开/收起</summary>
|
||||
|
||||
- 名称:Server 酱
|
||||
- URL:https://sc.ftqq.com/SCUrandomkeys.send?title=哪吒告警信息&desp=#NEZHA#
|
||||
- 请求方式: GET
|
||||
- 请求类型: 默认
|
||||
- Body: 空
|
||||
- **Server 酱进阶**
|
||||
|
||||
**Server 酱进阶**
|
||||
- 名称:Server 酱
|
||||
- URL:https://sc.ftqq.com/SCUrandomkeys.send
|
||||
- 请求方式: POST
|
||||
@ -53,16 +57,23 @@ URL 里面也可放置占位符,请求时会进行简单的字符串替换。
|
||||
}
|
||||
```
|
||||

|
||||
</details>
|
||||
|
||||
- **wxpusher 示例,需要关注你的应用**
|
||||
### wxpusher 示例
|
||||
**需要提前关注你的应用**
|
||||
<details>
|
||||
<summary>点击展开/收起</summary>
|
||||
|
||||
- 名称: wxpusher
|
||||
- URL:http://wxpusher.zjiecode.com/api/send/message
|
||||
- 请求方式: POST
|
||||
- 请求类型: JSON
|
||||
- Body: `{"appToken":"你的appToken","topicIds":[],"content":"#NEZHA#","contentType":"1","uids":["你的uid"]}`
|
||||
</details>
|
||||
|
||||
- **Telegram 示例 贡献者:[@haitau](https://github.com/haitau)**
|
||||
### Telegram 示例 贡献者:[@haitau](https://github.com/haitau)
|
||||
<details>
|
||||
<summary>点击展开/收起</summary>
|
||||
|
||||
- 名称:telegram 机器人消息通知
|
||||
- URL:https://api.telegram.org/botXXXXXX/sendMessage?chat_id=YYYYYY&text=#NEZHA#
|
||||
@ -70,8 +81,12 @@ URL 里面也可放置占位符,请求时会进行简单的字符串替换。
|
||||
- 请求类型: 默认
|
||||
- Body: 空
|
||||
- URL 参数获取说明:botXXXXXX 中的 XXXXXX 是在 telegram 中关注官方 @Botfather ,输入/newbot ,创建新的机器人(bot)时,会提供的 token(在提示 Use this token to access the HTTP API:后面一行)这里 'bot' 三个字母不可少。创建 bot 后,需要先在 telegram 中与 BOT 进行对话(随便发个消息),然后才可用 API 发送消息。YYYYYY 是 telegram 用户的数字 ID。与机器人@userinfobot 对话可获得。
|
||||
</details>
|
||||
|
||||
### 邮件通知示例 - SendCloud 贡献者:[@白歌](https://github.com/cantoblanco)
|
||||
<details>
|
||||
<summary>点击展开/收起</summary>
|
||||
|
||||
- **邮件通知示例 - SendCloud 贡献者:[@白歌](https://github.com/cantoblanco)**
|
||||
**注意:SendCloud 有每日免费发送邮件限额限制,这里仅作示例,你可以选择付费服务或其他类似的免费服务,使用方法类似。**
|
||||
|
||||
- 名称:邮件告警
|
||||
@ -82,8 +97,11 @@ URL 里面也可放置占位符,请求时会进行简单的字符串替换。
|
||||
- Body: 留空
|
||||
|
||||
URL 参数获取说明:此方式需提前在 [SendCloud](https://www.sendcloud.net/) 注册账号,创建发件邮箱,然后在[这里](https://www.sendcloud.net/sendSetting/apiuser)获取 APIUSER 和 APIKEY,替换 URL 中的 <替换APIUSER> 和 <替换APIKEY> 为自己的 APIUSER 和 APIKEY,替换 URL 中的 <自定义发件邮箱> 和 <自定义收件邮箱> 为自己的发件邮箱和收件邮箱。
|
||||
</details>
|
||||
|
||||
- **钉钉群机器人配置 示例**
|
||||
### 钉钉群机器人配置 示例
|
||||
<details>
|
||||
<summary>点击展开/收起</summary>
|
||||
|
||||
- 名称: 哪吒探针小跟班
|
||||
- URL:https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxxxxxxxxxxx
|
||||
@ -92,8 +110,11 @@ URL 里面也可放置占位符,请求时会进行简单的字符串替换。
|
||||
- Header: `{"Content-Type": "application/json"}`
|
||||
- Body: `{"msgtype": "text","text": {"content":"哪吒探针:\n#NEZHA#"}}`
|
||||
- URL 参数获取说明:机器人URL在钉钉群-管理机器人-创建机器人后获取,安全方式选择自定义关键词,Body中content中需包含该关键词
|
||||
</details>
|
||||
|
||||
- **企业微信 群机器人 示例 贡献者:[@ChowRex](https://github.com/ChowRex)**
|
||||
### 企业微信 群机器人 示例 贡献者:[@ChowRex](https://github.com/ChowRex)
|
||||
<details>
|
||||
<summary>点击展开/收起</summary>
|
||||
|
||||
支持的占位符一览
|
||||
|
||||
@ -144,15 +165,19 @@ URL 里面也可放置占位符,请求时会进行简单的字符串替换。
|
||||
根据需求删减相关内容信息即可
|
||||
|
||||

|
||||
</details>
|
||||
|
||||
### 飞书群机器人配置 示例 贡献者:[@eya46](https://github.com/eya46)
|
||||
<details>
|
||||
<summary>点击展开/收起</summary>
|
||||
|
||||
- **飞书群机器人配置 示例 贡献者:[@eya46](https://github.com/eya46)**
|
||||
- 名称: 哪吒面板Bot
|
||||
- URL:https://open.feishu.cn/open-apis/bot/v2/hook/xxxxxxxxxxxxxxxxx
|
||||
- 请求方式: POST
|
||||
- 请求类型: JSON
|
||||
- Body: `{"content":{"text":"#NEZHA#\n#DATETIME#"},"msg_type":"text"}`
|
||||
- URL 参数获取说明:机器人URL通过飞书群-群机器人-添加机器人-自定义机器人(webhook)创建后获取
|
||||
|
||||
</details>
|
||||
|
||||
<br/>
|
||||
<br/>
|
||||
@ -239,7 +264,7 @@ URL 里面也可放置占位符,请求时会进行简单的字符串替换。
|
||||
>
|
||||
>`[{"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 上报的状态符合告警的规则时,都会触发一次通知
|
||||
- 单次触发:仅状态改变时触发一次通知,如从正常状态改变为异常状态,或异常状态恢复为正常状态
|
||||
|
||||
|
22
docs/guide/q8.md
Normal file → Executable file
22
docs/guide/q8.md
Normal file → Executable file
@ -1,3 +1,4 @@
|
||||
相较于 Github,Cloudflare Access 对于中国大陆用户更加友好。如您当前使用 Github、Gitlab、Gitee 作为管理员账户登录时遇到问题,您可以考虑切换 Cloudflare Access 作为 OAuth2 提供方
|
||||
## 示例配置:
|
||||
|
||||
```yaml
|
||||
@ -5,7 +6,7 @@ Oauth2:
|
||||
Admin: 701b9ea6-9f56-48cd-af3e-cbb4bfc1475c
|
||||
ClientID: 3516291f53eca9b4901a01337e41be7dc52f565c8657d08a3fddb2178d13c5bf
|
||||
ClientSecret: 0568b67c7b6d0ed51c663e2fe935683007c28f947a27b7bd47a5ad3d8b56fb67
|
||||
Endpoint: "https://akkia.cloudflareaccess.com"
|
||||
Endpoint: "https://xxxxx.cloudflareaccess.com"
|
||||
Type: cloudflare
|
||||
```
|
||||
|
||||
@ -19,11 +20,16 @@ Oauth2:
|
||||
|
||||
### 新建 SaaS-OIDC 应用流程
|
||||
|
||||
Zero Trust Dashboard: https://one.dash.cloudflare.com
|
||||
前往 Zero Trust Dashboard: https://one.dash.cloudflare.com
|
||||
|
||||
1. `Access` -> `Application` -> `Add an Application`;
|
||||
2. 选择 `SaaS`,在`Application`中输入自定义的应用名称(例如nezha),选择`OIDC`后点击`Add application`;
|
||||
3. `Scopes`选择`openid`, `email`, `profile`, `groups`;
|
||||
4. `Redirect URLs`填写你的CallBack地址,例如 `https://monitor.example.com/oauth2/callback`;
|
||||
5. 记录`Client ID`、`Client Secret`、`Issuer`地址中协议与域名的部分,例如`https://akkia.cloudflareaccess.com`
|
||||
6. 编辑Dashboard配置文件(通常在`/opt/nezha/dashboard/data/config.yaml)`,参考示例配置修改`Oauth2`配置,并重启Dashboard服务
|
||||
1. `My Team` -> `Users` -> `<具体用户>` -> 获取 `User ID` 并保存;
|
||||
2. `Access` -> `Application` -> `Add an Application`;
|
||||
3. 选择 `SaaS`,在 `Application` 中输入自定义的应用名称(例如 nezha),选择 `OIDC`后点击 `Add application`;
|
||||
4. `Scopes` 选择 `openid`, `email`, `profile`, `groups`;
|
||||
5. `Redirect URLs` 填写你的 CallBack 地址,例如 `https://dashboard.example.com/oauth2/callback`;
|
||||
6. 记录 `Client ID`、`Client Secret`、`Issuer` 地址中协议与域名的部分,例如 `https://xxxxx.cloudflareaccess.com`
|
||||
7. 编辑 Dashboard 配置文件(通常在`/opt/nezha/dashboard/data/config.yaml)`,参考示例配置修改 `Oauth2` 配置,并重启 Dashboard 服务
|
||||
<br>
|
||||
### 身份验证策略配置
|
||||
|
||||
在完成 Dashboard 的设置后,您还需要在 Zero Trust Dashboard 中 `Access`-> `Applications` -> `<应用名>` -> `Policies` 配置验证策略。您可以选择包括邮件OTP验证、硬件密钥验证、等十多种 SSO 验证方式,详细配置请参考 [Cloudflare Zero Trust 文档](https://developers.cloudflare.com/cloudflare-one/)
|
@ -36,14 +36,14 @@ Linux 和 Windows 均可用,可使用 Ctrl+Shift+V 粘贴。
|
||||
注意在线终端功能中,Agent 也是通过 WebSocket 连接到**公开访问域名**,而非通过 gRPC 交互。
|
||||
|
||||
## DDNS 功能
|
||||
DDNS 功能适用于使用动态 IP 的服务器,当 Agent 上报了一个新的 IP,Dashboard 会根据配置自动更新 DNS 记录。
|
||||
DDNS 功能适用于使用动态 IP 的服务器,当 Agent 上报了一个新的 IP,Dashboard 会根据配置自动更新 DNS 记录
|
||||
|
||||
### 为什么我要使用哪吒监控的 DDNS 功能?
|
||||
- 方便集中管理 DDNS 设置,而不是在每台机器上都部署一个 DDNS 服务;
|
||||
- 仅在面板机上保存您的机密信息,防止外泄。
|
||||
- 方便集中管理 DDNS 设置,而不是在每台机器上都部署一个 DDNS 服务
|
||||
- 仅在面板机上保存您的机密信息,防止外泄
|
||||
|
||||
### 配置说明
|
||||
目前 DDNS 功能支持两种形式的配置:单配置和多配置。如使用单配置,则所有 Agent 服务器都使用相同的配置更新 DDNS;如使用多配置,则可为每台服务器指定一个配置更新 DDNS,灵活性更强。
|
||||
目前 DDNS 功能支持两种形式的配置:单配置和多配置。如使用单配置,则所有 Agent 服务器都使用相同的配置更新 DDNS;如使用多配置,则可为每台服务器指定一个配置更新 DDNS,灵活性更强
|
||||
|
||||
#### 单配置
|
||||
```yaml
|
||||
@ -59,63 +59,35 @@ DDNS:
|
||||
MaxRetries: 3
|
||||
Profiles: null
|
||||
```
|
||||
##### Enable
|
||||
布尔值,选择是否开启 DDNS 功能。
|
||||
##### Provider
|
||||
DDNS 供应商的名称。目前支持 `webhook`、`cloudflare` 以及 `tencentcloud`。
|
||||
##### AccessID
|
||||
DDNS 供应商的令牌 ID。
|
||||
- `Enable` 布尔值,选择是否开启 DDNS 功能
|
||||
- `Provider` DDNS 供应商的名称;目前支持 `webhook`、`cloudflare` 以及 `tencentcloud`
|
||||
- `AccessID` DDNS 供应商的令牌 ID;仅适用于供应商 `tencentcloud`
|
||||
- `AccessSecret` DDNS 供应商的令牌 Secret;仅适用于供应商 `cloudflare` 及 `tencentcloud`
|
||||
- `WebhookMethod` Webhook 的请求方法。例如 `GET`、`POST`等;仅适用于供应商 `webhook`
|
||||
- `WebhookURL` Webhook 的请求地址;仅适用于供应商 `webhook`
|
||||
- `WebhookRequestBody` Webhook 的请求体;仅适用于供应商 `webhook`
|
||||
- `WebhookHeaders` Webhook 的请求头;仅适用于供应商 `webhook`
|
||||
- `MaxRetries`当请求失败时,重试请求的次数
|
||||
- `Profiles` 多配置设定;在单配置设定中,此项忽略
|
||||
|
||||
仅适用于供应商 `tencentcloud`。
|
||||
##### AccessSecret
|
||||
DDNS 供应商的令牌 Secret。
|
||||
`WebhookURL`、`WebhookRequestBody` 以及`WebhookHeaders`可以包含以下参数:
|
||||
- `{ip}` - 主机当前IP
|
||||
- `{domain}` - ddns域名
|
||||
- `{type}` - IP类型,可能为"ipv4"和"ipv6"
|
||||
- `{access_id}` - 凭据1
|
||||
- `{access_secret}` - 凭据2
|
||||
|
||||
仅适用于供应商 `cloudflare` 及 `tencentcloud`。
|
||||
##### WebhookMethod
|
||||
Webhook 的请求方法。例如 `GET`、`POST`等。
|
||||
|
||||
仅适用于供应商 `webhook`。
|
||||
##### WebhookURL
|
||||
Webhook 的请求地址。
|
||||
|
||||
仅适用于供应商 `webhook`。
|
||||
##### WebhookRequestBody
|
||||
Webhook 的请求体。
|
||||
|
||||
仅适用于供应商 `webhook`。
|
||||
##### WebhookHeaders
|
||||
Webhook 的请求头。
|
||||
|
||||
仅适用于供应商 `webhook`。
|
||||
##### MaxRetries
|
||||
当请求失败时,重试请求的次数。
|
||||
##### Profiles
|
||||
多配置设定。在单配置设定中,此项不进行处理。
|
||||
|
||||
:::tip
|
||||
`WebhookURL`、`WebhookRequestBody` 以及`WebhookHeaders`可以使用如下参数:
|
||||
|
||||
`{ip}` - 主机当前IP
|
||||
|
||||
`{domain}` - ddns域名
|
||||
|
||||
`{type}` - IP类型,可能为"ipv4"和"ipv6"
|
||||
|
||||
`{access_id}` - 凭据1
|
||||
|
||||
`{access_secret}` - 凭据2
|
||||
|
||||
例如以下配置:
|
||||
配置示例:
|
||||
```
|
||||
WebhookHeaders: |
|
||||
a:{access_id}
|
||||
b:{access_secret}
|
||||
WebhookRequestBody: '{"domain": "{domain}", "ip": "{ip}", "type": "{type}"}'
|
||||
```
|
||||
:::
|
||||
<br>
|
||||
|
||||
#### 多配置
|
||||
当使用多配置时,请将 `DDNS.Provider` 留空。如 `DDNS.Provider` 的值不为空,多配置设定将被无视。
|
||||
当使用多配置时,请将 `DDNS.Provider` 留空。如 `DDNS.Provider` 的值不为空,多配置设定将被忽略
|
||||
```yaml
|
||||
DDNS:
|
||||
Enable: true
|
||||
@ -130,36 +102,31 @@ DDNS:
|
||||
WebhookRequestBody: ""
|
||||
WebhookHeaders: ""
|
||||
```
|
||||
##### Profiles
|
||||
多配置设定。
|
||||
##### example
|
||||
你的 DDNS 配置名,可填任意字符串。
|
||||
- `Profiles` 多配置设定
|
||||
- `example` 可替换为 DDNS 配置名,可填任意字符串
|
||||
|
||||
其它选项请参考[单配置](#单配置)段。
|
||||
<br>
|
||||
|
||||
### Dashboard 配置
|
||||
修改好配置文件后,还需要在 Dashboard 中修改服务器设置才能使 DDNS 生效。
|
||||
#### Dashboard 配置
|
||||
修改配置文件后,还需要在 Dashboard 中修改服务器设置才能使 DDNS 生效
|
||||
<br>
|
||||
DDNS 相关选项说明:
|
||||
- 启用DDNS
|
||||
为此服务器启用 DDNS 功能。
|
||||
- 启用DDNS IPv4
|
||||
更新 DDNS 记录时,启用 IPv4 解析。
|
||||
- 启用DDNS IPv6
|
||||
更新 DDNS 记录时,启用 IPv6 解析。
|
||||
- DDNS域名
|
||||
记录指向的域名。
|
||||
- DDNS配置
|
||||
在多配置情况下,要使用的 DDNS 配置。
|
||||
- `启用DDNS` 为此服务器启用 DDNS 功能
|
||||
- `启用DDNS IPv4` 更新 DDNS 记录时,启用 IPv4 解析
|
||||
- `启用DDNS IPv6` 更新 DDNS 记录时,启用 IPv6 解析
|
||||
- `DDNS域名` 记录指向的域名
|
||||
- `DDNS配置` 在多配置情况下,要使用的 DDNS 配置名
|
||||
|
||||
::: tip
|
||||
在 Dashboard 设置中修改配置并保存时,会在 `config.yaml` 中填入默认配置选项,此时 DDNS 段中会同时存在单配置和多配置的选项。
|
||||
::: warning
|
||||
在 Dashboard 设置中修改配置并保存时,会在 `config.yaml` 中填入默认配置选项,此时 DDNS 段中会同时存在单配置和多配置
|
||||
|
||||
如需使用单配置,请无视 `Profiles` 选项相关内容。
|
||||
|
||||
如需使用多配置,请将 `DDNS.Provider` 留空。如 `DDNS.Provider` 的值不为空,多配置设定将被无视。
|
||||
- 如需使用单配置,请配置`DDNS.Provider`,并忽略 `Profiles` 选项相关内容。
|
||||
- 如需使用多配置,请将 `DDNS.Provider` 留空。如 `DDNS.Provider` 的值不为空,多配置设定将被忽略。
|
||||
:::
|
||||
<br>
|
||||
|
||||
### 查看日志
|
||||
#### 查看日志
|
||||
在 Dashboard 的日志中,可以看到 DDNS 功能的相关日志,配置正确时,更新 DNS 记录时会有相应的日志记录。
|
||||
```shell
|
||||
dashboard_1 | 2024/03/16 23:16:25 NEZHA>> 正在尝试更新域名(ddns.example.com)DDNS(1/3)
|
||||
|
0
docs/guide/services.md
Normal file → Executable file
0
docs/guide/services.md
Normal file → Executable file
Loading…
x
Reference in New Issue
Block a user