Server-Status 教程
这是网站监控篇的系列教程,第一篇:使用 Server-Status 探针监视你的服务器。
先来看看效果图:
或者换个主题:
下面一步步教你怎么搭建自己的:
第一步:安装服务端
下载脚本:
wget https://raw.githubusercontent.com/cokemine/ServerStatus-Hotaru/master/status.sh -O status.sh
安装服务端:(需要使用root用户)
bash status.sh
在这里选择 1,安装服务端。根据提示设置端口,这里的端口是status服务端的监听端口,用来和客户端通信。
如果这个服务器只用来部署 Server Status ,建议使用 Y(大部分人都不会这么干),如果需要和其他网站共存,或者做些小修改,可以选择 n ,方便折腾。
看到启动成功提示,就说明安装成功啦,下面就是骚操作环节了
第二步:配置宝塔或者 Nginx 或其他....
- 创建网站,设置根目录为如下,静态网站。域名喜欢啥就是啥啦。
/usr/local/ServerStatus/web
访问一下试试,现在应该可以看见服务端网页了,还有个可怜的测试服务器。待会删掉就好。至于配置 Nginx ? 相信不用宝塔的人是会配置的。
第三步:添加客户端
- 一样的拉取脚本,然后使用 root 用户执行
wget https://raw.githubusercontent.com/cokemine/ServerStatus-Hotaru/master/status.sh -O status.sh
bash status.sh c
配置服务端地址,可以ip也可以域名,端口填写前面设置的端口。
然后设置用户名密码,这个得记住,待会服务端需要设置。流量记录,看个人需求啦!等待执行完毕即可!
然后到服务端的机器,添加监控项。依次选择:设置 服务端配置 -> 添加节点配置,然后输入刚刚的节点用户名和密码以及一些其他的提示项即可
这个时候到网页就可以看见添加的服务器了,如果没有的话,尝试使用脚本重启服务端。
- 但是,你有没有疑惑,咋个添加主题嘞?
第四步:添加其他主题
由于不同的主题,显示的信息不一样,因此得用反代来修改 json 文件内容
第一步,将ServerStatus-web编译好的前端放到你需要的目录,可以替换原有 /usr/local/ServerStatus/web
文件夹,也可以新建一个 /usr/local/ServerStatus/web/test 文件夹。这个时候此页面打开是没有信息的,还需要修改
第二步,到宝塔添加反向代理,然后修改反代的配置文件,类似如下内容,主要是内容替换
#PROXY-START/new/json/stats.json
location /new/json/
{
proxy_pass https://status.statustest.test/json/;
proxy_set_header Host status.123431.xyz;
proxy_set_header X-Real-IP remote_addr;
proxy_set_header X-Forwarded-Forproxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST remote_addr;
add_header X-Cacheupstream_cache_status;
#Set Nginx Cache
proxy_set_header Accept-Encoding "";
sub_filter "name" "host";
sub_filter "host" "name";
sub_filter "Oracle" "OR";
sub_filter "Docker" "Dock";
sub_filter "region" "location";
sub_filter "location" "region";
sub_filter_once off;
sub_filter_types *;
proxy_ignore_headers Set-Cookie Cache-Control expires;
add_header Cache-Control no-cache;
expires 12h;
}
#PROXY-END/new/json/stats.json
现在你的监控端就和我的一样有两个主题啦!
至于为啥要两个,很明显嘛,第一个显示更及时,流量信息更丰富,第二个更美观,单页面能显示更多的服务器!
本文所用项目为:
cokemine/ServerStatus-Hotaru: 云探针、多服务器探针、云监控、多服务器云监控
krwu/ServerStatus-web: Web UI for ServerStatus