关于我
~一个热爱火影的业余小提琴玩家~
Joynaruto

哪吒面板

前言

随着自己的服务器越来越多,希望对各个服务器实时状况有个快速方便的监控。对比了各家面板的之后,我选择哪吒面板作为我的服务器监控面板。

ps:从日志来看已经稳定运行了半年多,这篇算是个后记 8-)

搭建服务端

服务端部署

服务端我使用Docker的方式搭建,以下是compose文件的配置

version: '3'
services:
  nezha-dashboard:
    image: ghcr.io/naiba/nezha-dashboard:latest
    restart: always
    volumes:
      - /root/data/docker_data/nezha/data:/dashboard/data
    networks:
      npm_npm:
        ipv4_address: 172.18.0.9
    ports:
       - 5558:5558    //网页端口
       - 5559:5559    //接口数据端口
networks:
  npm_npm:
    external:
      name: npm_npm

注意事项:

  1. 使用networks参数来固定容器ip,保证外网访问安全的同时,也能保障后续宿主机重启导致的容器ip变动
  2. 网页端口用npm反代即可,防火墙不用放行
  3. 接口数据端口需要在防火墙中放行

服务端授权

  1. 登入哪吒面板,点击右上角头像–管理后台–设置
  2. 未接入CDN的面板服务器域名/IP中填入npm反代的域名

接入客户端

登入哪吒面板,点击右上角头像–管理后台–服务器–新增服务器

Linux

Linux常见发行版例如Ubuntu之类的接入方法最为简单,在哪吒面板右上角–管理后台–新增服务器,复制一键安装Linux的命令粘贴到被控端运行即可。

OpenWrt

  1. 这里下载对应架构的安装包,软路由通常选择linux_arm64或者linux_amd64
  2. 解压后把二进制文件放入/root/nz
  3. 运行chmod +x /root/nezha-agent赋予执行权限
  4. 运行nano /etc/init.d/nezha-service来创建服务,服务内容如下:
#!/bin/sh /etc/rc.common

START=99
USE_PROCD=1

start_service() {
 procd_open_instance
 procd_set_param command /root/nezha-agent -s 面板通信地址:端口 -p 秘钥 --disable-auto-update
 procd_set_param respawn
 procd_close_instance
}

stop_service() {
    killall nezha-agent
}

restart() {
 stop
 sleep 2
 start
}

追求长期稳定日用的可以加上--disable-auto-update来禁用自动更新,以避免新版本发生的一些问题

至此Openwrt的节点信息也将出现在哪吒面板中

群晖

还是先在这里下载对应架构的安装包,群晖通常选择linux-amd64

  1. 讲解压的文件上传至群晖目录下,例如/volume2/nezha
  2. 控制面板–计划任务–新建–计划的任务–用户定义的脚本
  3. 输入如下命令后保存
    cd /volume2/nezha
    chmod +x nezha-agent
    ./nezha-agent -s 面板IP或非CDN域名:面板RPC端口 -p Agent密钥 -d
  4. 在新建任务界面点击运行任务即可

Windows

我使用的是nssm安装,刚看了官网得知Agent已支持系统服务功能,故贴上官网教程链接

通知&美化卡片

网页监控部署完后,添加服务器离线通知是有必要的,毕竟我们不会一直挂着网页看

效果预览如下:

  1. 登入哪吒面板,点击右上角头像–管理后台–告警–新增通知方式
  2. 名称和分组随意
  3. url填写https://api.telegram.org/bot你的TG_BOT_Token/sendMessage
  4. 请求方式为POST
  5. 请求类型为JSON
  6. Body填写如下:
    {
        "chat_id": "tg的chatid",
        "text": "# *探针警报*\n\n时间:#DATETIME#\n\n*#NEZHA#*",
        "parse_mode": "Markdown",
        "reply_markup": {
            "inline_keyboard": [
                [
                    {
                        "text": "来自:  \"#哪吒面板名字#\"",
                        "callback_data": "#"
                    }
                ],
                [
                    {
                        "text": "探针仪表盘",
                        "url": "哪吒面板的域名"
                    }
                ]
            ]
        }
    }
    
  7. 这样一旦服务器或者服务挂了我们就会收到一则卡片通知,点击卡片可直接跳转至监控面板 :idea:

最后

这段时间用下来,除了群晖有一次掉线连不上,退回旧版本加上禁用更新参数恢复了,其他一切正常 :oops:

最后感谢Dooong小叶总Haotian Chen的帮助,希望大家的服务器都永不宕机!

 

发表回复

textsms
account_circle
email

Joynaruto

哪吒面板
前言 随着自己的服务器越来越多,希望对各个服务器实时状况有个快速方便的监控。对比了各家面板的之后,我选择哪吒面板作为我的服务器监控面板。 ps:从日志来看已经稳定运行了半年多…
扫描二维码继续阅读
2024-12-12