tokyohot 发表于 2024-12-27 12:32:14

哪吒监控实现流量阈值监控并自动关机

<i class="pstatus"> 本帖最后由 tokyohot 于 2024-12-27 12:32 编辑 </i><br />
<br />
## 登录监控后台<br />
<br />
1. 打开浏览器,访问哪吒监控面板的地址(如 `http://your_server_ip:8000`)。<br />
2. 使用管理员账号登录后台。<br />
<br />
## 创建自动关机任务<br />
<br />
<br />
<img id="aimg_PhE1Z" onclick="zoom(this, this.src, 0, 0, 0)" class="zoom" src="https://img.fq.ax/images/2024/12/27/Screenshot-2024-12-26-at-8.21.01PM.png" onmouseover="img_onmouseoverfunc(this)" onload="thumbImg(this)" border="0" alt="" /><br />
<br />
<br />
为了在流量超过阈值时自动关机,我们需要先创建一个关机任务。<br />
<br />
### 进入任务管理<br />
<br />
1. 在监控后台左侧菜单中,选择 **“任务”**。<br />
2. 点击 **“创建任务”** 按钮。<br />
<br />
### 创建关机任务<br />
<br />
1. **任务名称**<br />
输入任务名称,例如 `流量过高自动关机`。<br />
<br />
2. **任务类型**<br />
选择 **“触发”** 类型。<br />
<br />
3. **执行命令**<br />
输入关机命令:<br />
```bash<br />
sudo shutdown -h now<br />
```<br />
&gt; **注意**:确保执行该命令的用户具有 sudo 权限,并且无需密码即可执行 `shutdown` 命令。您可以通过配置 `sudoers` 文件来实现免密码执行,例如:<br />
&gt; ```bash<br />
&gt; sudo visudo<br />
&gt; ```<br />
&gt; 添加以下行(将 `your_username` 替换为实际用户名):<br />
&gt; ```<br />
&gt; your_username ALL=(ALL) NOPASSWD: /sbin/shutdown<br />
&gt; ```<br />
<br />
4. **覆盖范围**<br />
选择需要监控流量的特定服务器。<br />
<br />
5. **通知组**<br />
选择已经绑定的 Telegram (TG) 通知组,确保在触发任务时能够收到通知。<br />
<br />
6. **确认创建**<br />
检查所有信息无误后,点击 **“确认”** 完成任务创建。<br />
<br />
## 配置报警规则<br />
<br />
<img id="aimg_SUaUo" onclick="zoom(this, this.src, 0, 0, 0)" class="zoom" width="600" height="581" src="https://img.fq.ax/images/2024/12/27/Screenshot-2024-12-26-at-8.21.18PM.png" onmouseover="img_onmouseoverfunc(this)" onclick="zoom(this)" style="cursor:pointer" border="0" alt="" /><br />
<br />
接下来,需要创建一个报警规则,当流量超过设定阈值时,触发之前创建的关机任务。<br />
<br />
### 创建报警规则<br />
<br />
1. 在监控后台左侧菜单中,选择 **“报警规则”**。<br />
2. 点击 **“新建报警规则”** 按钮。<br />
<br />
### 设置触发条件<br />
<br />
1. **规则名称**<br />
输入规则名称,例如 `流量阈值监控`。<br />
<br />
2. **规则定义**<br />
访问 [哪吒流量报警规则生成器](https://wiziscool.github.io/Nezha-Traffic-Alarm-Generator/),根据您的需求生成相应的监控流量规则。将生成的规则内容复制到规则定义区域。<br />
<br />
3. **通知组**<br />
选择默认通知组,确保在报警时能够接收到通知。<br />
<br />
4. **触发模式**<br />
选择 **“仅一次”**,避免重复触发同一报警。<br />
<br />
5. **触发报警任务**<br />
选择之前创建的关机任务的 ID。可以在任务管理中找到该任务的 ID。<br />
<br />
6. **启用规则**<br />
确保规则处于启用状态。<br />
<br />
7. **确认创建**<br />
检查所有设置无误后,点击 **“确认”** 完成报警规则的创建。<br />
<br />
## 测试与验证<br />
<br />
<img id="aimg_YXObR" onclick="zoom(this, this.src, 0, 0, 0)" class="zoom" src="https://img.fq.ax/images/2024/12/27/Screenshot-2024-12-26-at-8.28.59PM.png" onmouseover="img_onmouseoverfunc(this)" onload="thumbImg(this)" border="0" alt="" /><br />
<br />
我这里测试了5G的流量,测试途中跑的speedest超了马上ssh都断开关机了。<br />
<br />
为了确保配置正确,建议进行以下测试:<br />
<br />
1. **模拟流量超标**<br />
人为增加服务器的网络流量,确保流量超过设定的阈值。<br />
<br />
2. **观察报警**<br />
检查 Telegram 通知是否收到报警信息。<br />
<br />
3. **自动关机**<br />
确认服务器是否在报警后自动执行关机命令。<br />
<br />
&gt; **注意**:在生产环境中,请谨慎测试自动关机功能,以免影响正常业务运行。建议在测试环境中进行验证。<br />

lastfree 发表于 2024-12-27 13:39:07

好贴!有用,可以考虑使用在阿里云1G的那个小鸡上面,只有20G的免费流量。

amao000765 发表于 2024-12-27 14:00:58

有个不成熟的提议,不知道能不能成,服务器上面写个脚本,哪吒这边监控到流量要超标了,就运行脚本禁用网络,再弄一条计划任务,在你每月流量恢复的时候启用网络。。
页: [1]
查看完整版本: 哪吒监控实现流量阈值监控并自动关机