何先生最近在折腾 bark 推送,今天刚好把 bark 搭建完成,顺手就把自己的哪吒配置上了。
主要在哪吒推送规则上我在哪吒官方 github 和网站主页都没有找到告警规则相关的文档,却在知乎找到“慢慢懂”博主分享的,搬过来记录下。
告警规则说明
基本规则
Type:可选取一个或多个类型,如在一个规则中选择了多个类型,需要同时满足所有选择的类型才会触发通知(可参考后面的示例)
- cpu、memory、swap、disk
- net_in_speed(入站网速)、net_out_speed(出站网速)、net_all_speed(双向网速)、transfer_in(入站流量)、transfer_out(出站流量)、transfer_all(双向流量,可以理解为出入站流量总和)
- offline(离线监控)
- load1、load5、load15(负载)
- process_count(进程数 目前取线程数占用资源太多,暂时不支持)
- tcp_conn_count、udp_conn_count(连接数)
duration:持续数秒,数秒内采样记录 30% 以上触发阈值才会告警(防数据插针)
min 或 max:
- 流量、网速类数值 为字节(1KB=1024B,1MB = 1024*1024B)
- 内存、硬盘、CPU 以占用百分比计数
- 离线监控无需设置此项
cover:
- 0(监控所有,通过 ignore 忽略特定服务器)
- 1(忽略所有,通过 ignore 监控特定服务器)
告警规则分享
名称:离线警告
规则:[{"Type":"offline","Duration":10}]
解释:每 10s 坚持一次,如果离线会发通知。(10s 感觉太短,我改成 600,也就是 10 分钟感觉比较合适)
名称:CPU 过高警告
规则:[{"type":"cpu","max":90,"duration":300}]
解释:CPU 超过 90%发通知警告。300s 一周期。(90 和 300 自行修改为自己合适)
名称:内存过高警告
规则:[{"type":"memory","max":90,"duration":300}]
解释:内存占用超过 90%发通知警告,300s 一周期。(90 和 300 自行修改为自己合适)
名称:硬盘即将爆满
规则:[{"type":"disk","max":80,"duration":43200}]
解释:硬盘占用超过 80%发通知警告,12 小时一周期。(80 和 43200 自行修改为自己合适)
名称:TCP 链接过多异常
规则:[{"type":"tcp_conn_count","max":20,"duration":300}]
解释:TCP 链接数超过 20 个发通知告警,300s 为周期。
名称:出站网速过快警告
规则:[{"type":"net_out_speed","max":524288000,"duration":300}]
解释:出站网速超过 500M 警告发通知,周期为 300s。(524288000 和 300 自行修改为自己合适)
名称:周期内流量警告
规则:[{"type":"transfer_in_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}}]
解释:ID 为 3 和 4 的服务器(ignore 里面定义),以每月 1 号为统计周期,周期内统计的出站月流量达到 1TB 时告警
type
之中transfer_in_cycle
表示周期内的入站流量。大家可以修改为transfer_out_cycle
周期内的出站流量或transfer_all_cycle
周期内双向流量之和max
之后的1099511627776
为 1TB 流量,这里使用的单位应该是 B,大家可以自行修改。如:200GB 为214748364800
cycle_start
: 是统计周期开始日期(可以是你机器计费周期的开始日期),时间格式为 RFC3339,例如北京时间为2022-01-11T08:00:00.00+08:00
cycle_interval
:每隔多少个周期单位(例如,周期单位为天,该值为 7,则代表每隔 7 天统计一次)cycle_unit
统计周期单位,默认 hour,可选(hour, day, week, month, year)cover
参考基本规则 👉【0 监控所有,通过 ignore 忽略特定服务器 、1 忽略所有,通过 ignore 监控特定服务器】ignore
内定义要监控的 VPS 的 ID。
暂无评论内容