一、前言

为什么需要哪吒面板?

  1. 可视化监控多台服务器cpu、内存、磁盘、网络io状态

  1. 提前预知:当服务器某项数据到达阈值后发送消息通知到相应人员及时处理。支持多种通知方式(Telegram、邮件、微信等)

  2. 完全开源免费

二、安装步骤

1.面板端(Dashboard)

1)安装docker和docker-compose

2)获取 Github 的 Client ID 和密钥

  • 首先我们需要新建一个验证应用,以 Github 为例,登录 Github 后,打开 https://github.com/settings/developers ,依次选择“OAuth Apps” - “New OAuth App”
    Application name - 随意填写
    Homepage URL - 填写面板的访问域名,如:”http://cdn.example.com
    Authorization callback URL - 填写回调地址,如:”http://cdn.example.com/oauth2/callback
  • 点击 “Register application”
  • 保存页面中的 Client ID,然后点击 “Generate a new client secret“,创建一个新的 Client Secret,新建的密钥仅会显示一次,请妥善保存

3)项目文件结构

– 项目根目录

​ – data

​ – config.yaml

​ – docker-compose.yaml

4)编写docker-compose.yaml文件

1
2
3
4
5
6
7
8
9
10
version: '3'
services:
nezha-dashboard:
image: ghcr.io/naiba/nezha-dashboard:latest
restart: always
volumes:
- /root/nezha-panel/nezha/data:/dashboard/data #/docker-volume/nezha/data为自定义宿主机映射目录
ports:
- 5558:5558 #面板代理端口
- 5559:5559 #安装agent端口

5)在项目目录下心间配置文件data/config.yaml

1
2
3
4
5
6
7
8
9
10
11
12
13
debug: false
httpport: 5558
grpcport: 5559
language: zh_CN
oauth2:
type: "github" #Oauth2 登录接入类型,gitee/github
admin: "buming98" #管理员列表,填写Github昵称,多个用英文逗号隔开
clientid: "065***********f714" # Clientid
clientsecret: "1ed7**********************78a3c" #Secret
site:
brand: "NotMing's Watcher" #站点名称
cookiename: "nezha-dashboard" #浏览器 Cookie 字段名,可不改
theme: "default" #主题

6)启动容器

1
docker-compose up -d

浏览器访问:http://ip:5558

2.被控端(Agent)

1)准备工作

你需要提前在管理面板中设置好通信域名,此域名不可以接入CDN,这里以前面提到过的示例通信域名 “data.example.com” 来做演示
进入后台管理面板,转到“设置”页,在“未接入 CDN 的面板服务器域名/IP”项中填入通信域名,然后点击”保存”

2)在 Linux 中一键安装 (Ubuntu、Debian、CentOS)

  • 首先在管理面板中添加一台服务器
  • 点击新添加的服务器旁,绿色的 Linux 图标按钮,复制一键安装命令
  • 在被控端服务器中运行复制的一键安装命令,等待安装完成后返回到 Dashboard 主页查看服务器是否上线