ServerStatus中文版——轻量级探针(服务器监控)

近期在hostloc看到有大佬分享他的探针,界面我比较喜欢,加上自己的小鸡也很多,就试着搭建一下。

发现该探针有个BUG,就是查看探针页面的时候会导致浏览器狂吃CPU,跟作者反映也没有结果

目前已搭建好的探针:

ServerStatus

添加服务器需要手动编辑配置文件,比较麻烦,就不全部添加了。

解读:MH361为正常,MH370为失联。

 

具体功能,请看下面的演示。

演示: https://tz.cloudcpp.com/

项目地址:https://github.com/cppla/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)。

 

安装过程(ubuntu16.04)

服务端:

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

安装git

apt install git -y

下载ServerStatus到指定目录

cd /home/
git clone https://github.com/cppla/ServerStatus.git

安装nginx,指定ServerStatus目录

apt install nginx -y
nano /etc/nginx/sites-enabled/default

nginx修改网站目录(ServerStatus下的web文件夹):

root /home/ServerStatus/web;

启动nginx使配置生效

service nginx start
service nginx restart

生成服务端程序

cd /home/ServerStatus/server/
make
./sergate

没有错误提示就用ctrl+c关闭;如果报错就是35601端口没开。

编辑配置文件,添加你要监控的服务器

nano /home/ServerStatus/server/config.json

配置文件内容:

{"servers":
	[
		{
			"username": "s01",
			"name": "Mainserver 1",
			"type": "Dedicated Server",
			"host": "GenericServerHost123",
			"location": "Austria",
			"password": "some-hard-to-guess-copy-paste-password"
		}
	]
} 

配置内容没有特别多的要求,就是各项参数的内容需要跟客户端的一样的就行。”host”似乎是用来排序的。

启动ServerStatus

需要在server文件夹中运行

./sergate --config=config.json --web-dir=/home/ServerStatus/web

放入后台运行:

nohup ./sergate --config=config.json --web-dir=/home/ServerStatus/web > /dev/null 2>&1 &

这样退出ssh后也不会中断

现在,访问你的IP,就能看到监控面板了。只是现在还没有客户端连上来,没有数据。

 

客户端安装

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

(客户端有两个版本,client-linux为普通linux,client-psutil为跨平台版,普通版不成功,换成跨平台版即可)

 

client-linux版:

编辑配置文件(位于ServerStatus下的clients文件夹)

nano /home/ServerStatus/clients/client-linux.py

配置文件需要修改的内容:

SERVER = "127.0.0.1"
PORT = 35601
USER = "your user"
PASSWORD = "your password"

SERVER就是服务端的IP。其他内容需要同服务端保持一致。

启动客户端:

clients下执行:

python client-linux.py

放入后台运行:

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

这样退出ssh后也不会中断

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

client-psutil版:

需要安装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
下载psutil for windows程序包
安装即可

其他的步骤参考普通linux版的即可。

 

Windows客户端搭建过程:

1、安装Python

https://www.python.org/downloads/windows/

安装后设置变量:系统属性—高级—环境变量—系统变量,Path的值添加Python的目录,默认为C:\Python27

Python

在命令行输入python,确定Python安装成功。

C:\Users\Administrator>python
Python 2.7.15 (v2.7.15:ca079a3ea3, Apr 30 2018, 16:30:26) [MSC v.1500 64 bit (AM
D64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

2、安装psutil

命令行下执行

C:\Python27\python.exe -m pip install psutil

3、下载客户端、编辑配置文件

https://github.com/cppla/ServerStatus/archive/master.zip

解压后编辑clients目录下的client-psutil.py,参考linux版的配置即可。

最后命令行运行:

python client-psutil.py

如需不间断后台运行,则将上面的命令添加到批处理文件(新建空白记事本,添加上面的命令,另存为.bat文件),用计划任务运行即可。使用计划任务可以做到不登录用户执行命令,非常实用。

 

psutil的更多信息可查看GitHub页面:

https://github.com/giampaolo/psutil

 

配置好客户端,就能在监控界面看到对应的数据了。还是非常直观的。

 

最后一点感慨,从我ServerStatus的数据可以看出,hostmybytes超售非常严重,CPU经常无故100%,SSH都经常卡顿。大家如果不是那么缺钱,建议就不要买了。

打赏
欢迎转载,请注明出处:轻时代 » ServerStatus中文版——轻量级探针(服务器监控)

评论 2

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    全部MH370失联,流量统计不到,其它正常。是什么问题?

    leo2天前回复
    • 配置信息出错。不然就是真的失联了

      hao11小时前回复

打赏一下作者,鼓励他发表更多的精彩文章

支付宝扫一扫打赏

微信扫一扫打赏