写在前面

哪吒监控 是一款开源、轻量、易用的服务器监控与运维工具,支持一键安装、实时监控,可以达到轻松运维你的小🐤

安装


接入 GitHub 作为后台管理员账号

  • 打开Developer Settings,依次选择 OAuth Apps - New OAuth App 新建授权应用。
  • 填写应用信息
    • Application name - 随意填写
    • Homepage URL - 填写面板的访问域名,如:"https://server.viplee.cc"
    • Authorization callback URL - 填写回调地址,如:"https://server.viplee.cc/oauth2/callback"
  • Register application 注册应用

运行面板安装脚本

# GitHub 源
curl -L https://raw.githubusercontent.com/naiba/nezha/master/script/install.sh  -o nezha.sh && chmod +x nezha.sh && sudo ./nezha.sh
# Gitee 源
curl -L https://gitee.com/naibahq/nezha/raw/master/script/install.sh -o nezha.sh && chmod +x nezha.sh && sudo CN=true ./nezha.sh

填写相关信息

  • 请输入 OAuth2 提供商(github/gitlab/jihulab/gitee,默认 github): - 直接回车,默认github
  • 请输入 Oauth2 应用的 Client ID: - 输入刚才 GitHub 创建的授权应用的 Client ID
  • 请输入 Oauth2 应用的 Client Secret: - 点击授权应用中的 Generate a new client secret
  • 请输入 GitHub/Gitee 登录名作为管理员,多个以逗号隔开: - 填写你的用户名,不是你登陆的账号或者自定义的别名,比如我的项目地址是 https://github.com/oliver556,后面的 oliver556 就是用户名。
  • 请输入站点标题: - 随意
  • 输入站点访问端口: (默认 8008) - 服务面板的访问端口
  • 请输入用于 Agent 接入的 RPC 端口: (默认 5555) - 客户端和服务面板的通讯端口

反代配置


#PROXY-START/
location / {
    proxy_pass http://127.0.0.1:8008;
    proxy_set_header Host $http_host;
    proxy_set_header      Upgrade $http_upgrade;
}
location ~ ^/(ws|terminal/.+)$  {
    proxy_pass http://127.0.0.1:8008;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "Upgrade";
    proxy_set_header Host $http_host;
}
#PROXY-END/

延迟检控


地区 电信 移动 联通 教育
上海 202.96.209.133 183.194.219.220 210.22.97.1 202.120.2.119
北京 49.7.37.74 112.34.111.194 111.206.209.44 166.111.4.100
广州 183.47.126.35 120.233.18.250 157.148.58.29 202.116.64.8
深圳 218.17.11.168 120.196.165.24 58.250.90.114
河北 27.185.242.215 111.62.229.100 61.182.138.156
山西 1.71.157.41 183.201.244.91 60.221.18.41
辽宁 123.184.58.41 36.131.156.145 218.61.211.132
吉林 123.172.127.217 111.27.127.176 122.143.8.41
黑龙江 42.101.84.132 111.42.190.25 113.7.211.140
江苏 58.215.210.220 36.156.92.132 122.96.235.165
浙江 115.220.14.91 117.147.213.41 101.69.194.224
安徽 223.247.108.251 112.29.198.100 112.132.208.41
福建 106.126.10.28 112.50.96.88 36.248.48.139
江西 106.227.22.132 117.168.150.249 116.153.69.224
山东 144.123.160.140 120.220.145.91 112.240.56.143
河南 171.15.110.220 111.7.99.220 123.6.65.101
湖北 111.170.8.60 111.47.131.101 122.189.226.138
湖南 113.240.117.108 120.226.192.91 116.162.28.220
广东 183.36.23.111 183.240.65.191 112.90.211.100
海南 124.225.43.220 111.29.29.219 153.0.226.35
四川 118.123.218.220 183.220.151.41 101.206.163.49
贵州 58.42.61.132 61.243.18.220 117.187.254.132
云南 222.221.102.220 36.147.44.219 14.204.150.41
陕西 124.115.14.100 111.19.148.100 123.139.127.132
甘肃 118.182.228.91 117.157.16.41 59.81.94.53
青海 223.221.216.219 111.12.152.170 116.177.237.137
内蒙古 110.76.186.70 117.161.76.41 116.114.98.41
广西 222.217.93.55 36.136.112.41 171.39.5.51
西藏 113.62.176.89 117.180.234.41 43.242.165.35
宁夏 222.75.44.220 111.51.155.214 116.129.226.28
新疆 110.157.243.45 36.189.208.164 116.178.77.40
天津 42.81.98.35 111.31.236.35 116.78.119.56
重庆 119.84.131.101 221.178.81.101 113.207.69.190

Dashboard 配置


调整最大 TCPPing 值

修改文件:/nezha/data/config.yaml,调整 MaxTCPPingValue 值。

隐藏服务中的状态文字

Settings->Custom Codes (Style and Script)

<style>
.service-status .delay-today-text{display: none;visibility: hidden;}
</style>

设置页面宽度

<style>
.container {
  width: 1540px;
}
</style>

隐藏地区图标

在 console 里面执行以下 js 语句

document.querySelectorAll("i.fi").forEach(el => el.classList = [])

样式优化

设置主题默认为分组模式

<script>
  localStorage.setItem('showGroup', 'true');
</script>

服务器监控


基本规则

  • type:可选取一个或多个类型,如在一个规则中选择了多个类型,需要同时满足所有选择的类型才会触发通知(可参考后面的示例)

    • cpumemoryswapdisk
    • net_in_speed 入站网速、net_out_speed 出站网速、net_all_speed 双向网速、transfer_in 入站流量、transfer_out 出站流量、transfer_all 双向流量
    • offline 离线监控
    • load1、load5、load15 负载
    • process_count 进程数 目前取线程数占用资源太多,暂时不支持
    • tcp_conn_countudp_conn_count 连接数
  • duration:持续数秒,数秒内采样记录 30% 以上触发阈值才会报警(防数据插针)

  • min 或 max:

    • 流量、网速类数值 为字节(1KB=1024B,1MB = 1024*1024B)
    • 内存、硬盘、CPU 以占用百分比计数
    • 离线监控无需设置此项
  • cover:

    • 0 监控所有,通过 ignore 忽略特定服务器
    • 1 忽略所有,通过 ignore 监控特定服务器
    • 例如:[{"type":"offline","duration":10, "cover":0, "ignore":{"5": true}}]
  • ignore: 选择忽略特定服务器,搭配 cover 使用,内容为服务器 id 和布尔值,例如:{"1": true, "2":false}

流量监控

属性:

  • type:
    • transfer_in_cycle 周期内的入站流量
    • transfer_out_cycle 周期内的出站流量
    • transfer_all_cycle 周期内双向流量和
  • cycle_start: 统计周期开始日期(可以是你机器计费周期的开始日期),时间格式为 RFC3339,例如北京时间为 2022-01-11T08:00:00.00+08:00
  • cycle_interval:每隔多少个周期单位(例如,周期单位为天,该值为 7,则代表每隔 7 天统计一次)
  • cycle_unit 统计周期单位,默认 hour,可选(hour, day, week, month, year
  • min/maxcoverignore 参考基本规则配置

[{"type":"transfer_all_cycle","max":1649267441408,"cycle_start":"2024-03-08T00:00:00+08:00","cycle_interval":1,"cycle_unit":"month","cover":1,"ignore":{"100":true}}]

哪吒流量警告规则生成器