哪吒面板是一款轻量级的运维监控系统。支持包括:系统状态、HTTP(SSL 证书变更、即将到期、到期)、TCP、Ping 、监控报警,计划任务和在线终端。以下为哪吒面板安装及配置过程。
服务端安装:
1、注册一个域名,这里使用的 Freenom 家的免费域名(有条件最好还是使用收费的域名,免费域名的DNS服务器经常出现波动,会导致探针失联)。
2、将域名托管到 Cloudflare (免费提供CDN加速、网络优化、安全防护、网络分析以及应用等服务),这一步看个人意愿,可以不操作。
3、添加A记录,解析域名,并验证。Ping 域名返回的 IP 与实际 IP 不同,说明 CDN 代理成功。
4、创建 Oauth2 应用。
注册并打开 GitHub Developer settings ,点击添加应用。
在Homepage URL栏输入:http://域名:8008(若设置了反带8008端口,且开启SSL,则改为:https://域名),在Authorization callback URL栏输入:http://域名:8008/oauth2/callback(若设置了反带8008端口,且开启SSL,则改为:https://域名/oauth2/callback)。
点击创建 Client secrets ,然后记录下 Client ID 和 Client secrets,备用。
5、安装哪吒面板服务端,命令如下:
国外机
curl -L https://raw.githubusercontent.com/naiba/nezha/master/script/install.sh -o nezha.sh && chmod +x nezha.sh
./nezha.sh
国内机
curl -L https://cdn.jsdelivr.net/gh/naiba/nezha@master/script/install.sh -o nezha.sh && chmod +x nezha.sh
CN=true ./nezha.sh
6、根据提示输入Client ID、Client secrets、GitHub ID,标题和端口号自定义即可。
7、完成后,在浏览器地址栏输入 http://域名:8008 就能打开哪吒面板了。然后点击“管理后台”进行配置。
监控端安装:
【Linux】
1、点击“添加主机”,输入被监控主机的相关信息,保存获取服务秘钥。
2、在被监控的服务器内执行与上面相同的命令,选择 8 安装监控Agent。
3、填入服务端主机 IP 解析的域名(不可以套CND)。这里我没有准备域名,就直接填入 IP 了,然后填入对应的服务秘钥。
4、完成后,回到面板前端,就会看到被监控主机信息已生成。
【Windows】
1、下载 哪吒面板Windows程序。
2、将文件解压,记录下这2个文件的路径。
3、打开系统属性–高级–环境变量–系统变量–Path,在最后端把刚才的 nssm.exe 路径复制进去。注意: 和前面变量之间用英文分号 ; 隔开
4、打开 cmd 命令符,输入安装命令:
nssm install
#名称自定义,如:nssm install nezha
回车后,会出现配置窗口,在Path 内输入 nezha-agent.exe 的完整路径,在Arguments内输入:
-s {Serverip}:{Port} -p {AgentKey} -d
# -s 服务端ip或未套用CDN的域名:端口号 -p 服务秘钥 -d
5、回到cmd,输入启动命令:
nssm start
#刚自定义的服务名称,如:nssm start nezha
6、检查服务是否运行,输入 services.msc , 在弹窗内找到 nezha 服务经常,显示正常运行即代表成功。
其他监控服务配置:
1、选择服务,添加服务,这里可以配置监控 HTTP、TCP、Ping 相关服务。(这里以http监控博客web服务为例,请求周期为3600秒)
2、选择报警,添加通知方式(这里以通知到 TG 为例)。
URL输入:https://api.telegram.org/botXXXXXX/sendMessage?chat_id=YYYYYY&text=#NEZHA#
参数获取说明:botXXXXXX 中的 XXXXXX 是在 telegram 中搜索 @BotFather ,输入/newbot ,根据提示创建新的机器人,会提供的 token 值(在提示 Use this token to access the HTTP API:后面一行),这里 ‘bot’ 三个字母不可少。创建 bot 后,需要先在 telegram 中与 BOT 进行对话(随便发个消息),然后才可用 API 发送消息。YYYYYY 是 telegram 用户的数字 ID。可以搜索 @userinfobot 后,发送/start获得。
3、选择添加报警规则,这里展示3种报警规则,仅供参考。
①、离线报警,注释:离线持续10秒后通知。
[{"Type":"offline","Duration":10}]
②、性能报警,注释:CPU负载超过90%,持续60秒后通知;内存负载低于20%或超过90%,持续60秒后通知。
[{"type":"cpu","max":90,"duration":60},{"type":"memory","min":20,"max":90,"duration":60}]
③、流量报警,注释:指定序号为 1 的主机,从2022.3.14早8点开始,每730小时(差不多1个月)内,总流量(双向流量)超过1099511627780 B(1TB),则进行通知。
[{"type":"transfer_all_cycle","max":1099511627780,"cycle_start":"2022-03-14T08:00:00Z","cycle_interval":730,"cover":1,"ignore":{"1":true}}]
回到前台看下是否成功,并测试是否可以正常通知。(主机离线报警和负载报警不会直接显示在前台)
详细参数:
type:
cpu、memory 内存、swap 交换内存、disk 硬盘、offline 离线监控、net_in_speed 入站网速、net_out_speed 出站网速、net_all_speed 双向网速、transfer_in 入站流量、transfer_out 出站流量、transfer_all 双向流量、offline 离线监控、transfer_in_cycle 周期内的入站流量、transfer_out_cycle 周期内的出站流量、transfer_all_cycle 周期内双向流量、cycle_start 周期开始日期(可以是你机器计费周期的开始日期)、cycle_interval 小时、duration:持续秒数,秒数内采样记录 30% 以上触发阈值才会报警(防数据插针)、min/max 最小/最大、load1/load5/load15 负载、tcp_conn_count / udp_conn_count tcp/udp连接数
注:流量、网速类数值 为字节(1KB=1024B,1MB = 1024*1024B),内存、硬盘、CPU 为占用百分比。
特殊:
cover [{“type”:”offline”,”duration”:10, “cover”:0, “ignore”:{“5”: true}}]
0 监控所有,通过 ignore 忽略特定服务器
1 忽略所有,通过 ignore 监控特定服务器
ignore: {“1”: true, “2”:false} 特定服务器序号,搭配 cover 使用。
到此,哪吒面板的相关配置就结束了,面板目前默认自带3款主题,另外还有些 第三方开发的主题 也很不错,手上服务器较多的朋友可以搭建尝试。