ServerStatus中文版,打造属于自己的轻量级服务器监控,也叫云探针。

什么是ServerStatus

  • ServerStatus中文版是一个酷炫高逼格的云探针,云监控,服务器云监控,多服务器探针。顾名思义它可以把你的多台VPS、服务器等系统的基本信息整合显示在一个公共的HTML页面上,这些基本信息包括但不限于:系统在线时间、当前负载情况、实时网络速率、服务器至开机使用的总流量、CPU实时使用率、内存实时使用率、硬盘实时使用率。
  • 作者Gayhub〉ServerStatus中文版

(个人感觉比较适合机场大佬,或者服务器比较多的站长使用,一个两个张大发感觉也用不上这东西。)

为什么会有ServerStatus中文版

  • 有些功能确实没用
  • 原版本部署,英文说明复杂
  • 不符合中文版的习惯
  • 没有一次又一次的轮子,哪来如此优秀的云探针

(喜欢英文原版的请到Gayhub查看〉ServerStatus

张大发已经搭建成功的demo : Status Demo

自动部署

【服务端】:

wget https://raw.githubusercontent.com/cppla/ServerStatus/master/autodeploy/config.json
docker run -d --restart = always --name = serverstatus -v { $ path } /config.json:/ServerStatus/server/config.json -p { $ port }:80 -p { $ port }:35601 cppla/serverstatus
例如:
docker run -d --restart = always --name = serverstatus -v ~ / config.json:/ServerStatus/server/config.json -p 80:80 -p 35601:35601 cppla / serverstatus

 

【客户端】:

wget --no-check-certificate -qO client-linux.py 'https://raw.githubusercontent.com/cppla/ServerStatus/master/clients/client-linux.py' && nohup python client-linux.py SERVER={$SERVER} USER={$USER} PASSWORD={$PASSWORD} >/dev/null 2>&1 &
eg:
wget --no-check-certificate -qO client-linux.py 'https://raw.githubusercontent.com/cppla/ServerStatus/master/clients/client-linux.py' && nohup python client-linux.py SERVER=45.79.67.132 USER=s04  >/dev/null 2>&1 &


今天我们不谈自动部署,因为张大发对Docker也不是很熟悉,所以我们选择手动方式部署。(流下了没有技术的眼泪 cry- -!)

ServerStatus分为服务端、客户端两种。我们先来安装服务端

服务端要求:

Linux, OSX, FreeBSD, OpenBSD and NetBSD, both 32-bit and 64-bit architectures

Python 2.7及更高版本

Nginx or Apache等等web服务器

客户端仅需要安装Python 2.7以上即可(支持Windows)。

手动部署 (centos 7.2 ,宝塔面板,lnmp或者LAMP同样适用)

服务端:

默认需要开启35601端口。注意Linux自身的防火墙及控制台的防火墙都要打开。

  • 安装git
yum -y install git
  • 下载ServerStatus到指定目录
git clone https://github.com/cppla/ServerStatus.git
  • 安装ServerStatus:
cdServerStatus/server make
  • 测试运行
./sergate
(如果返回Bound to : 35601 ,则为正常,然后Ctrl+c退出.宝塔面板需在安全设置里放行35601端口)

 

  • 编辑配置文件,添加你要监控的服务器
vi config.json

配置文件内容:

{"servers":
	[
		{
			"username": "s01", ##这里相当于客户端和服务端通信账号
			"name": "Mainserver 1",  ## 客户端名字
			"type": "Dedicated Server",##客户端所用虚拟化技术
			"host": "GenericServerHost123",##客户端IP,不会在前台显示
			"location": "Austria",## 客户端所在物理位置,写哪儿都行,看心情,尽量写正确的,毕竟是给自己看
			"password": "some-hard-to-guess-copy-paste-password"##客户端和服务端通讯密码
		}
	]
}

 

  • 现在我们将ServerStatus的web目录拷贝到我们新建好的站点目录中:
cd/root
cp
-rServerStatus/web/* /www/wwwroot/yourdomin

PS: :/www/wwwroot/yourdomin如果你用的是宝塔,一般就是/www/wwwroot/你添加的站点域名。

  • 现在来运行服务端,首先进入到server目录
cdServerStatus/server

nohup./sergate--config=config.json--web-dir=/www/wwwroot/yourdomin 
(例:nohup./sergate--config=config.json--web-dir=/www/wwwroot/status.k7id.com )

防止你退出ssh后服务端停止运行,如果喜欢screen,也可以用screen来保持在后台运行,不多BB

现在,访问你的域名,可以看到你所添加的节点信息,全红是因为我们还没有配置客户端,不要急,接着往下看。

客户端安装
  • 依旧是先安装git、下载ServerStatus,参考服务端的配置即可。

(客户端有两个版本,client-linux为普通linux,client-psutil为跨平台版,跨平台基本上针对Win的服务器,如果发现普通版没有用,可以尝试使用跨平台版本)

  • 首先进入到clients目录下:
cd /root/ServerStatus/clients
vi client-linux.py   (不习惯vi或者vim命令的可以换成nano)

SERVER= "127.0.0.1" ##服务端

IPPORT= 35601USER= "your user" ##刚刚添加的名字,就是s01之类的,一定要和服务端保持相同,不然无法统计

PASSWORD= "your password"## 服务端我们添加客户端和服务端通讯密码

启动客户端:

nohup python client-linux.py> /dev/null 2>&1 &

客户端这里,如果启动报错,就是Python的版本过低。centos 6.X的版本默认低于2.7,需要升级。

client-psutil版:

### for Centos:sudo yum-y install epel-release
sudo yum
-y install python-pip
sudo yum clean all
sudo yum
-y install gcc
sudo yum
-y install python-devel
sudo pip install psutil
### for Ubuntu/Debian:sudo root
apt
-get -y install python-setuptools python-dev build-essential
apt
-get -y install python-pip
pip install psutil
### for Windows: 打开网址:https://pypi.python.org/pypi?:action=display&name=psutil#downloads 下载psutilforwindows程序包 安装即可
  • 现在,打开我们的网站可以看到我们刚部署的服务器已经正常显示了。
  • 注意,如果我们要增减客户端,需要在服务端修改完config文件之后,还需要重新启动sergate才能使新的配置生效。

但是有一个问题,如果我们服务器重启了,我们后台运行的服务就会down掉,为了避免服务器重启造成无法统计的结果,我们还需要把客户端和服务端添加进服务器开机自动启动里。

  • 服务端:
vi  /etc/rc.local    (vi命令如何使用请自行搜索)

添加

cd/root/ServerStatus/server nohup./sergate--config=config.json--web-dir=/www/wwwroot/yourdomin > /dev/null 2>&1 &
  • 客户端:

 

vi  /etc/rc.local    (vi命令如何使用请自行搜索)

添加:

cd/root/ServerStatus/clients nohup python client-linux.py> /dev/null 2>&1 &


观察下来,Skysilk已经快被撸废了,什么东西都没跑,负载居然高达25......果然便宜的东西没好货。。23333

基本上到这里就已经完成了,如果你想修改主页显示内容,可以修改index.html文件即可感谢这些大佬修改出如此优秀的中文版本,致敬。

当然,其实还有很多优秀的服务器监控服务,比如StatusCake,UptimeRobot,Stackdriver,Observium以及

国内的监控宝等,大家有兴趣的话可以去折腾折腾,写这篇教程主要是没啥好写的,看这个挺炫酷的,所以拿来水一篇文章。

本文主要参考:
https://github.com/cppla/ServerStatus
https://pc6a.com/1307.html

但行善事 莫问前程

发表评论

已有 5 条评论

  1. typecho模板 typecho模板说道:

    大佬牛批,我买了vps第一件事就是把探针什么全删掉,反正看不懂

    1. 张大发 张大发说道:

      难道你忘了mjj的初衷是什么??
      当然是以针会友 :mrgreen:

      1. typecho模板 typecho模板说道:

        我晕针 :oops:

        1. 张大发 张大发说道:

          等你给别人打针的时候你就不这么说了 (手动斜眼笑):razz:

          1. typecho模板 typecho模板说道:

            我有大铁棍,没有针 :idea: