关于搭建 ServerStatus 监控面板的教程。
注:这篇文章是从旧的博客系统中迁移过来的、我觉得还存在价值的文章。但是由于时间关系,可能已经不再是最佳实践,请仅作参考。
1. 我不使用 ServerStatus 的理由
我在经过较长时间的纠结后选择了 nezha(哪吒)而非 ServerStatus,主要原因有三点:
- 哪吒官方支持使用 Docker 部署,而 ServerStatus 不支持。
- 哪吒有前端的控制面板,支持在前端修改配置和管理服务器节点,且每次添加节点时,只需要复制命令前往节点服务器一键执行即可;ServerStatus 每次添加节点却需要前往服务端修改 config.json 配置文件,过于繁琐。
- 哪吒可以通过控制面板远程在服务器节点上执行 SSH 命令,而 ServerStatus 不支持。
2. 安装部署
我这里选择了 ServerStatus-Hotaru 这个版本进行部署,因为它相比 ServerStatus 页面部署方式更加简单,同时页面也更加美观,对比如下:

2.1 server 端安装
官方文档:服务端安装方法
直接执行:
cd /root/ && mkdir ServerStatus && cd /root/ServerStatus
# 下载安装脚本
wget https://raw.githubusercontent.com/cokemine/ServerStatus-Hotaru/master/status.sh
# 若服务器位于中国大陆建议选择 Coding.net 仓库
# wget https://cokemine.coding.net/p/hotarunet/d/ServerStatus-Hotaru/git/raw/master/status.sh
# 执行安装脚本
bash status.sh s
选择安装服务端:

之后选择安装源和端口:


在配置 HTTP 服务这里,我推荐选择 不需要自动部署,马上我会附上我的 Nginx 配置。

等待 ServerStatus 的服务端安装完成并启动后,我们来配置前端项目!
极为简单,只需要在 Nginx 中为对应的域名配置 ServerStatus 的前端文件目录即可(路径默认为 /usr/local/ServerStatus/web):
# 编辑 Nginx 的配置文件
vi /etc/nginx/nginx.conf
添加如下代码段:
server {
listen 80;
server_name server-status.ceshiku.cn;
root /usr/local/ServerStatus/web;
}
重启 Nginx:
nginx -s reload
service nginx restart
然后前往你的域名,看到这个页面则说明服务端安装和启动成功了!

2.2 节点添加和 agent 端安装
- 节点添加,首先编辑配置文件并输入你 agent 服务器的信息:
vi /usr/local/ServerStatus/server/config.json
{
"servers": [
{
"username": "main",
"password": "xxxxxxxxxx",
"name": "斯巴达-美国洛杉矶-1H1.5G-主控",
"type": "KVM",
"host": "45.151.132.xxx",
"location": "US",
"disabled": false,
"region": "US"
}
]
}
你可以在维基百科关于 ISO 3166-1 找到你服务器的
location和region。
之后重启服务端和 Nginx:
# 重启服务端,之后选择 6. 重启 服务端
bash status.sh s
# 重启 Nginx
service nginx restart
看到页面上服务器的名字变更就说明成功了。
- agent 端安装
官方文档:服务端安装方法
到 agent 服务器上执行:
cd /root/ && mkdir ServerStatus && cd /root/ServerStatus
# 下载安装脚本
wget https://raw.githubusercontent.com/cokemine/ServerStatus-Hotaru/master/status.sh
# 若服务器位于中国大陆建议选择 Coding.net 仓库
# wget https://cokemine.coding.net/p/hotarunet/d/ServerStatus-Hotaru/git/raw/master/status.sh
# 执行安装脚本
bash status.sh c

输入刚刚在服务端的 IP 或域名、配置的账号密码开始安装:

看到如下信息则说明安装成功:

前往页面:

服务器的监控数据已经开始更新了,至此 server 端和 agent 端都安装成功!
3. 后记
ServerStatus 的 agent 节点添加过程中,不可避免地需要登陆 server 端所在的服务器进行配置文件的更新,对于小鸡买买丢丢的我来说属实是太过折腾。
而哪吒端的节点添加则简单很多:管理面板上 agent 服务器名和分组一设置,接着复制带密钥信息的安装指令直接去 agent 服务器执行即可,省事太多,因此最终我选择的也是哪吒监控。