今天给大家安利一个最近比较火的服务器状态监控面板,哪吒面板。作者并没有提供详细的安装流程,所以我呢就在这里记录下整个安装的过程,也可以给大家做个参考。
项目简介
被动接收,系统状态监控报警、API(SSL证书变更、即将到期、到期)/TCP端口存活/PING 监控、计划任务(可以定时在Agent上执行命令,备份、重启、What ever you want)、极省资源,64M 服务器也能装 agent。目前默认提供三套主题,尤其最新的@JackieSung DayNight十分漂亮,自动切换白天黑夜模式,赞。
项目地址
演示地址
https://tz.love2wind.com
一、安装前的准备工作
- 宝塔面板(可选,装宝塔主要是为了防呆)
- Nginx 1.19(作者说最低需要1.19,实际测试1.18安装也完全没有问题)
- 两个域名(一个也可以,但是推荐用两个)
1、域名解析
将两个域名都解析到要按照哪吒面板的服务器IP上
- 一个用来访问安装好的哪吒面板,这里称访问域名,比如我的
tz.love2wind.com
,建议套CDN - 一个用来连接客户端Agent和服务端,这里称IP域名,比如
ip.love2wind.com
,千万不能套CDN
这里要重点说一下,第二个域名可以没有,直接填服务器IP也是可以的,但是不推荐大家这样做,如果迁移面板的时候会非常麻烦,你要在每个Agent上修改配置,我当时就吃了这个亏了,这都是血的教训啊。
2、宝塔设置防呆
这一步可以不用做,用宝塔面板主要是为了防呆,便于域名直接访问。
这里就是普通的宝塔操作,只要新建网站,填入你前面解析的访问哪吒面板的域名就好,当然,最好还是申请ssl为佳,这里重点说下设置防呆。
这里贴一下Nginx的防呆配置文件代码
#PROXY-START/
location /
{
proxy_pass http://127.0.0.1:8008;
proxy_set_header Host $host;
}
location /ws
{
proxy_pass http://你的服务器IP:8008;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
}
3、配置Github
获取Github账号ID
- 登录你的github账号
- 在浏览器中打开
https://api.github.com/users/你的GitHub用户名
- 在返回的Json中的查看id对应的纯数字值就是你的ID
配置GitHub Oauth2应用
1、打开https://github.com/settings/developers
2、点击New OAuth App按钮创建应用,第一次创建需要激活下(点那个绿色Register a new application按钮即可)
3、填写相关信息并创建应用。
主页名:随便填
主页地址:填
http(s)://你的服务器IP:8008/
,如果你反代了就填http(s)://访问面板域名/
访问回调地址:这里填
http(s)://你的服务器IP:8008/oauth2/callback
,如果你反代了就填http(s)://访问面板域名/
4、在返回的页面中复制保存Client ID和Client secrets,注意这里的Client secrets只显示一次,一定妥善保存,如果忘记的就要重新创建。
二、部署哪吒面板
1、安装面板
安装非常简单,打开SSH终端,输入作者提供的一键安装脚本,选1安装,随后填入前面准备工作中保存的数据后回车,等待面板更新后重启,就可以在浏览器中打开访问面板域名访问了。
- 海外:
curl -L https://raw.githubusercontent.com/naiba/nezha/master/script/install.sh -o nezha.sh && chmod +x nezha.sh
./nezha.sh
- 国内加速:(有缓存可能不是最新的,非作者维护)
curl -L https://raw.staticdn.net/naiba/nezha/master/script/install.sh -o nezha.sh && chmod +x nezha.sh
./nezha.sh
这里需要注意一定要在宝塔面板和服务器管理处放行8008和5555端口。
2、登录及设置面板
登录是调用github账号,国内主机可能会出现如下错误。
错误信息:Post "https://github.com/login/oauth/access_token": dial tcp: lookup github.com on 127.0.0.11:53: read udp 127.0.0.1:40397->127.0.0.11:53: i/o timeout
这是服务器请求GitHub有问题,尝试修改一下DNS服务器 /etc/resolv.conf
或者多登录几次,面板最好还是放到海外服务器,因为如果你后边要添加TG通知的话,国内主机也是不行的。
之后安装监控Agent。
3、添加服务器及Agent
登录面板 - 后台管理 - Agent - 添加服务器 - 输入名称 - 添加
分组、排序、备注根据自己需要填写就行,不填也不影响使用。
添加完服务器后,在服务器列表中可以看到每个服务器都会有一个ID和密钥,这两个我们后面在配置Agent的时候会用到。
然后就在SSH终端中运行命令./nezha.sh
,选择8安装Agent,填入相关数据,服务器就安装完成了,到这里,安装Agent的过程就完了,因为和客户端的安装配置一样,所以大家可以看下吗客户端安装配置的图例操作。
4、客户端的安装及配置
在客户端SSH中执行一键安装脚本,按照上面图例说明执行,很简单就安装成功了。
多个客户端只要重复上面的步骤即可。下面罗列下客户端的安装步骤:
- 面板后台添加服务器,获取服务器ID和密钥;
- 客户端执行一键脚本;
- 安装Agent;
- 完成。
到这里,哪吒面板的搭建安装就基本完成了。打开面板地址,看看成果吧。
三、主题演示
默认主题 | DayNight | hotaru |
---|---|---|
四、常见问题
Q:如何进行数据迁移、备份恢复?
数据储存在 /opt/nezha 文件夹中,迁移数据时打包这个文件夹,到新环境解压。然后执行一键脚本安装即可
Q:如何使 OpenWrt/LEDE 自启动?
首先在 release 下载对应的二进制解压后放置到 /root/nezha-agent
,然后 chmod +x /root/nezha-agent
赋予执行权限,然后创建 /etc/init.d/nezha-agent
:
#!/bin/sh /etc/rc.common
START=99
USE_PROCD=1
start_service() {
procd_open_instance
procd_set_param command /root/nezha-agent -i xxx -p 111 -d
procd_set_param respawn
procd_close_instance
}
stop_service() {
killall nezha-agent
}
restart() {
stop
sleep 2
start
}
赋予执行权限 chmod +x /etc/init.d/nezha-agnt
然后启动服务 /etc/init.d/nezha-agent enable && /etc/init.d/nezha-agent start
Q:首页服务器随机闪烁掉线?
执行 ntpdate 0.pool.ntp.org
同步一下面板部署所在的服务器的时间
Q:提示实时通道断开?
启用 HTTPS
使用宝塔反代或者上CDN,建议 Agent配置 跟 访问管理面板 使用不同的域名,这样管理面板使用的域名可以直接套CDN,Agent配置的域名是解析管理面板IP使用的,也方便后面管理面板迁移(如果你使用IP,后面IP更换了,需要修改每个agent,就麻烦了)
实时通道断开(WebSocket反代)
使用反向代理时需要针对 /ws 路径的 WebSocket 进行特别配置以支持实时更新服务器状态。
Nginx(宝塔):在你的 nginx 配置文件中加入以下代码
server{
#server_name blablabla...
location /ws {
proxy_pass http://ip:站点访问端口;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
}
#其他的 location blablabla...
}
CaddyServer v1(v2无需特别配置)
proxy /ws http://ip:8008 {
websocket
}
Q:国内服务器出现curl: (7) Failed to connect to raw.githubusercontent.com
echo 199.232.68.133 raw.githubusercontent.com >> /etc/hosts
Q:修改服务器备注后变成"离线"久不恢复
在安装客户端(被监控)的服务器上执行systemctl restart nezha-agent
重启程序
启动nezha-agent还是一直显示离线
检查配置有没有写对cat /etc/systemd/system/nezha-agent.service | grep ExecStart
卸载哪吒监控sudo rm -rf /opt/nezha
Centos8 中部署客户端或者面板端,一直显示 离线
请关闭SElinux,打开配置文件 vi /etc/selinux/config
,将 SELINUX=enforcing
改为 SELINUX=disabled
,重启机器 reboot,然后键入安装脚本选择 重启Agent。
五、其他
上面只是做了最简单的安装和配置,哪吒面板还有更多特色功能,大家可以自行研究,作者也在孜孜不倦的更新着,我相信哪吒面板还有更多的可能。
自定义代码:去版权、改LOGO、改色调、加统计代码等。
计划任务:备份脚本、服务重启,等定期运维任务。
报警通知:CPU、内存、硬盘、带宽、流量实时监控。
服务监控:HTTP、SSL证书、ping、TCP 端口等。
是否有Apache的WebSocket反代代碼呢?
網站很漂亮
这个还真没有,你试试搜索Nginx转Apache规则。我也不是大佬啊:狂汗:
**Nginx的防呆配置文件代码**
这里内容把你服务器IP暴露了=-=
:汗:大意了,感谢提醒