今天要给大家介绍的是这款叫ServerStatus的云监控软件,也可以称它是个云探针吧。顾名思义它可以把你的多台VPS、服务器等系统的基本信息整合显示在一个公共的HTML页面上,这些基本信息包括但不限于:系统在线时间、当前负载情况、实时网络速率、服务器至开机使用的总流量、CPU实时使用率、内存实时使用率、硬盘实时使用率。
LALA以前搭建这个就是单纯的因为自己手上的小鸡多,多数小鸡也都是放在手上吃灰,也就养成了一个挂探针的习惯,一个个的看探针信息太麻烦了,所以就找到了这个ServerStatus。现如今挂探针也要提升逼格,所以这个ServerStatus是装逼首选。。。毫不夸张的说目前使用ServerStatus的人估计很多都是和我一样的人。。。不过我现在觉得这个ServerStatus也挺适合各位机场大佬用来监控自己的节点服务状态,把HTML页面展示给用户,不也是让自己的机场逼格瞬间就上去了嘛~
说了一堆废话,进入正题,现在跟着我魔鬼的步伐一起来配置ServerStatus并使用它!
首先ServerStatus分为服务端、客户端两大类。我们先来安装服务端,系统选择CentOS7,使用Xshell以root用户的身份登录到你的机器内。
服务端先配置一个LNMP环境,老看我博客的人肯定知道我现在要祭出宝塔面板了,对没错,你们自己安装一下宝塔然后装个LNMP环境新建一个站点即可。这里我就把这些过程省略掉,如果你不知道这些操作怎么弄,随便点一篇我博客里面的教程文章看2分钟估计就会了。。。
接着我们下载ServerStatus:
git clone https://github.com/tenyue/ServerStatus.git
安装ServerStatus:
cd ServerStatus/server make
测试运行:
./sergate
看到如图回显,没有任何错误提示的情况下,则说明你的机器运行是完全正常的:
键盘组合键Ctrl+C先退出程序。如果这里报错了,你就要检查下你机器的端口是否开放了35601。如果你不是特别清楚怎么检查,就直接执行下面的命令把CentOS7的防火墙关了吧:
systemctl stop firewalld.service
接着编辑配置文件:
vi config.json
看到如下代码:
"username": "s01", "name": "Mainserver 1", "type": "Dedicated Server", "host": "GenericServerHost123", "location": "Austria", "password": "some-hard-to-guess-copy-paste-password"
注:
1、修改username、password,并记住这些信息,待会儿的客户端连接就是用这个账号和密码。
2、name是你的这台服务器名字,用于显示在HTML页面上,可按需修改。
3、type是你的这台机器类型,VPS的话就填写VPS、独立服务器填写Dedicated Server,也可以自行按需修改。
4、host是你这台机器的hostname名字,可按需修改,没有硬性要求一定要和系统的hostname对应。
5、location是你这台机器的物理位置,比如你的机器在日本,这里就填写Japan即可。
填写好后,如图所示:
现在我们将ServerStatus的WEB目录拷贝到我们新建好的站点目录中:
cd /root cp -r ServerStatus/web/* /www/wwwroot/47.74.35.154
注:/www/wwwroot/47.74.35.154换成你的站点根目录,如果你用的是宝塔,一般就是/www/wwwroot/你添加的站点域名。
现在来运行服务端,首先进入到server目录
cd ServerStatus/server
安装screen:
yum -y install screen
将sergate放到后台运行:
screen -dmS web ./sergate --config=config.json --web-dir=/www/wwwroot/47.74.35.154
注:–web-dir=后面的路径和之前一样要改成你的站点根目录。
至此,服务端这块就配置完毕了。现在我们来配置客户端。
首先进入到clients目录下:
cd .. cd clients
编辑client-linux.py文件:
vi client-linux.py
修改如图箭头所指部分的信息,这里的账号和密码就是之前我们配置config.json上面填写的,一定要对应。
因为我这台机器是用作服务端,所以我在上面配置客户端的话,就不用修改IP地址了,直接用本地IP就行。如果是远程服务器就要修改IP为这台服务端机器的IP。
修改完成后现在可以运行客户端了:
screen -dmS jp python client-linux.py
打开我们的网站可以看到我们刚部署的服务器已经正常显示了:
至此,这个ServerStatus探针的搭建流程就全部完成了,那么有人可能会问,我有多台机器,其他的机器该怎么部署呢?下面LALA来简单说一下远程服务器的部署。
首先编辑你的服务端配置文件:
vi config.json
将你要监控的机器信息都填写到里面,还是和之前一样设置一个账号、密码,如图:
注:每次修改config.json配置文件后都要重启sergate才能使新的配置生效。
重启sergate的简单方法:
查看sergate运行的进程ID:
ps -ef | grep web
如图显示我当前的进程ID是32680以及32681:
使用kill命令结束进程:
kill -9 32680 kill -9 32681
最后重新运行sergate即可:
screen -dmS web ./sergate --config=config.json --web-dir=/www/wwwroot/47.74.35.154
现在登录到你要监控的机器内,下载ServerStatus
git clone https://github.com/tenyue/ServerStatus.git
进入到clients目录
cd ServerStatus/clients
编辑配置文件:
vi client-linux.py
修改IP地址为你的服务端机器IP地址,对应服务端配置文件上面的账号和密码,如图:
安装screen并运行ServerStatus客户端程序:
yum -y install screen screen -dmS jp python client-linux.py
你如果不是很确定当前的客户端是否已经能够正常工作,可以先不用screen放到后台,直接前台运行一下:
python client-linux.py
看到如图回显就说明是完全正常的:
现在打开我们的网站刷新一下页面,可以看到新添加的这台机器也正常显示了:
至此,ServerStatus的整个搭建配置就大功告成了,相信大家也都学会了~
下面是LALA搭建的演示站(有效期2天):
http://47.74.35.154/
如果你要修改ServerStatus的HTML展示页面的话,也很简单,编辑站点目录下的index.html即可:
最后感谢CCTV、MTV以及Gayhub对此项目的大力支持:
https://github.com/BotoX/ServerStatus
同时也感谢tenyue大佬修改出如此优秀的中文版本:
https://github.com/tenyue/ServerStatus
哇 我要啥博主就更新啥 难道有心灵感应?
这么巧的吗
用CENTOS6装不了,表示很烦躁.
CentOS6要升级Python到2.7以上才能用。
另外不知道用pyenv能不能用,你可以试试。
求出搭建dns服务器教程 ,我TM搭建的要吐血了
搭DNS服务器要用国内的小鸡,本屌手上都是国外的,大佬赞助一台国内的,我可以尝试一下~
博主买按量付费阿里云日本?流量包呢?
节点需要定时重启,重启后失效怎么解决?开机启动如何设置?谢谢
# ./sergate –config=config.json –web-dir=/www/wwwroot/47.74.35.154
[server]: Bound to :35601
Segmentation fault
运行时出现这个错误,config.json 配置如下:
{“servers”:
[
{
“username”: “s01”,
“name”: “US”,
“type”: “VPS”,
“host”: “1_1_1_1”,
“location”: “United State”,
“password”: “US_1393”
},
{
“username”: “s02”,
“name”: “US”,
“type”: “VPS”,
“host”: “2_2_2_2”,
“location”: “United State”,
“GcE62Aws78AZUre03”: “US_2399”
}
]
}
能看出是什么原因吗?如果只有一个节点可以运行,两个以上就出现错误了,搜索了好像别人都没这问题
找到原因了,请删除条评论
项目被删除了,有人备份了
lala大佬,我建好得探针,用您得方法放到宝塔站点发现是静态得不会实时刷新,我探针用的端口是36501,现在我也想搞到宝塔站点目录下用80端口,该咋办,好像缺了什么东西似的,就是不会正常刷新运行!
后面加36501端口就可以正常!这个很尬尬啊。大佬