前言
哪吒监控 一站式轻监控轻运维系统。支持系统状态、HTTP(SSL 证书变更、即将到期、到期)、TCP、Ping 监控报警,命令批量执行和计划任务。
宝塔服务器面板,一键全能部署及管理,送你3188元礼包,点我领取
预览
开源地址:https://github.com/naiba/nezha
预览地址:https://nz.1day.ml
功能说明
● 计划任务:备份脚本、服务重启,等定期运维任务。展开
使用此功能可以定期结合 restic、rclone 给服务器备份,或者定期某项重启服务来重置网络连接。
● 报警通知:CPU、内存、硬盘、带宽、流量、月流量实时监控。展开 灵活通知方式 Body 内容是 URL 里面也可放置占位符,请求时会进行简单的字符串替换。 参考下方的示例,非常灵活。
报警规则说明
基本规则
特殊:任意周期流量报警 可以用作月流量报警 ● 服务监控:HTTP、SSL证书、ping、TCP 端口等。展开 进入 ● 自定义代码:改LOGO、改色调、加统计代码等。展开 默认主题更改进度条颜色示例 DayNight 主题更改进度条颜色示例(来自 @hyt-allen-xu) 默认主题修改 LOGO、移除版权示例(来自 @iLay1678) DayNight 移除版权示例(来自 @hyt-allen-xu) hotaru 主题更改背景图片示例 可以直接用 两个域名都解析到部署面板服务器的IP。 需要有Github账号,没有的话先注册一个。这一步让Github账号用作面板后台登录验证。 1. 创建 OAuth Apps 打开 Github Developer settings ,点击 2. 填写站点名称和 URL 信息 请参考图片填写,把 3. 获取 OAuth Apps的 参照下图创建 client id 和 clients secret 并记下来。 1.添加域名,按照下图替换添加自己的域名 2.域名证书申请 站点创建成功后,点击对应网站后方的设置按钮 在打开的窗口中按下图顺序申请SSL证书 3.设置反向代理 1.在网站设置页面按照下图顺序操作 2.点击配置文件按钮,修改反代配置文件 4.开放端口 在宝塔面板中依次放行8008与5555端口 连接面板服务器后,输入官方一键脚本,依次填写上面步骤获取的 1.打开浏览器,访问刚才在宝塔面板中创建站点的A域名,点击又上角的登录按钮,以GitHub账号登录。 2.登录成功后,点击右上角用户名,点击管理后台,在打开的页面中点击添加服务器 3.记下生成的密钥 4.连接上需要被监控的服务器,键入一键代码,选择8后填写B域名以及密钥 返回前端刷新页面便可以看到刚才添加的服务器了。 至此,哪吒面板便配置完毕。多台服务器添加请重复第五步,更多面板功能大家自行摸索。 ● 如何进行数据迁移、备份恢复?展开 数据储存在 ● 如何禁用连接数/进程数等占用资源的监控?展开 编辑 ● Agent 不断重启/无法启动 ?展开
● 如何使 OpenWrt/LEDE 自启动?来自 @艾斯德斯展开 首先在 release 下载对应的二进制解压 tar.gz 包后放置到 ● 实时通道断开/Terminal管理一直黑屏展开 Nginx(宝塔):在你的 nginx 配置文件中加入以下代码 CaddyServer v1(v2 无需特别配置) 开源地址:https://github.com/naiba/nezha 预览地址:https://nz.1day.ml#NEZHA#
是面板消息占位符,面板触发通知时会自动替换占位符到实际消息JSON
格式的:当请求类型为 FORM 时,值为 key:value
的形式,value
里面可放置占位符,通知时会自动替换。当请求类型为 JSON 时 只会简进行字符串替换后直接提交到URL
。
{"appToken":"你的appToken","topicIds":[],"content":"#NEZHA#","contentType":"1","uids":["你的uid"]}
[{"Type":"offline","Duration":10}]
[{"Type":"cpu","Min":0,"Max":50,"Duration":10},{"Type":"memory","Min":20,"Max":0,"Duration":20}]
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
连接数
[{"type":"offline","duration":10, "cover":0, "ignore":{"5": true}}]
0
监控所有,通过 ignore
忽略特定服务器1
忽略所有,通过 ignore
监控特定服务器{"1": true, "2":false}
特定服务器,搭配 cover
使用
[{"type":"transfer_out_cycle","max":1000000000000,"cycle_start":"2021-07-15T08:00:00Z","cycle_interval":720,"cover":1,"ignore":{"3":true}}]
/monitor
页面点击新建监控即可,表单下面有相关说明。
教程开始:
一. 设置域名解析
ip+端口
方式访问,为了安全及后期维护迁移方便,强烈建议设置用域名访问。准备两个域名,用本站域名举例:
a.1day.ml
作为面板访问域名,套 CDN(保护源站IP不泄露,当然如果你不当心源站IP泄露的问题,也可以不套CDN,看个人需求)。b.1day.ml
不套CDN,指向面板服务器 IP,作为客户端与面板连接使用。二. 创建 GitHub OAuth Apps
New OAuth App
按钮a.1day.ml
更换成自己面板域名,填写好以后点击 Register application
。
Client ID
和 Client secret
三. 宝塔面板设置域名、证书与反代
四.面板部署
Client ID
,Client secret
等相关信息。
五.服务端部署
常见问题:
/opt/nezha
文件夹中,迁移数据时打包这个文件夹,到新环境解压。然后执行一键脚本安装即可/etc/systemd/system/nezha-agent.service
,在 ExecStart=
这一行的末尾加上 -kconn
就是不监控连接数,加上 -kprocess
就是不监控进程数
/opt/nezha/agent/nezha-agent -s 面板IP或非CDN域名:面板RPC端口 -p Agent密钥 -d
查看日志是否是 DNS 问题。nc -v 域名/IP 面板RPC端口
或者 telnet 域名/IP 面板RPC端口
检验是否是网络问题,检查本机与面板服务器出入站防火墙,如果单机无法判断可借助 https://port.ping.pe/ 提供的端口检查工具进行检测。/root
,然后 chmod +x /root/nezha-agent
赋予执行权限,然后创建 /etc/init.d/nezha-service
: