项目地址: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安装成功。
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中文版:
- ServerStatus中文版是一个酷炫高逼格的云探针、云监控、服务器云监控、多服务器探针~。
- 在线演示:https://tz.cloudcpp.com
curl -sSL https://get.docker.com/ | sh && apt -y install docker-compose
目录介绍:
-
clients 客户端文件
-
server 服务端文件
-
web 网站文件
-
server/config.json 探针配置文件
-
web/json 探针月流量
自动部署:
【服务端】:
`OneTouch`:
wget --no-check-certificate -qO ~/serverstatus-config.json https://raw.githubusercontent.com/cppla/ServerStatus/master/server/config.json && mkdir ~/serverstatus-monthtraffic
docker run -d --restart=always --name=serverstatus -v ~/serverstatus-config.json:/ServerStatus/server/config.json -v ~/serverstatus-monthtraffic:/usr/share/nginx/html/json -p 80:80 -p 35601:35601 cppla/serverstatus:latest
`ServerStatus`: docker-compose up -d
`ServerStatus with tgbot`: TG_CHAT_ID=你的电报ID TG_BOT_TOKEN=你的电报密钥 docker-compose -f docker-compose-telegram.yml up -d
【客户端】:
wget --no-check-certificate -qO client-linux.py 'https://raw.githubusercontent.com/cppla/ServerStatus/master/clients/client-linux.py' && nohup python3 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 python3 client-linux.py SERVER=45.79.67.132 USER=s04 >/dev/null 2>&1 &
手动安装教程:
【克隆代码】:
git clone https://github.com/cppla/ServerStatus.git
【服务端配置】:
一、生成服务端程序
cd ServerStatus/server
make
./sergate
如果没错误提示,OK,ctrl+c关闭;如果有错误提示,检查35601端口是否被占用
二、修改配置文件
修改config.json文件,注意username, password的值需要和客户端对应一致
{"servers":
[
{
"username": "s01",
"name": "vps-1",
"type": "kvm",
"host": "chengdu",
"location": "??",
"password": "USER_DEFAULT_PASSWORD",
"monthstart": 1
},
]
}
三、拷贝ServerStatus/status到你的网站目录
例如:
sudo cp -r ServerStatus/web/* /home/wwwroot/default
四、运行服务端:
web-dir参数为上一步设置的网站根目录,务必修改成自己网站的路径
./sergate --config=config.json --web-dir=/home/wwwroot/default
【客户端配置】:
客户端有两个版本,client-linux为普通linux,client-psutil为跨平台版,普通版不成功,换成跨平台版即可。
一、client-linux版配置:
1、vim client-linux.py, 修改SERVER地址,username帐号, password密码
2、python3 client-linux.py 运行即可。
二、client-psutil版配置:
1、安装psutil跨平台依赖库
2、vim client-psutil.py, 修改SERVER地址,username帐号, password密码
3、python3 client-psutil.py 运行即可。
### for Centos:
sudo yum -y install epel-release
sudo yum -y install python3-pip
sudo yum clean all
sudo yum -y install gcc
sudo yum -y install python3-devel
sudo pip3 install psutil
### for Ubuntu/Debian:
sudo apt -y install python3-pip
sudo pip3 install psutil
### for Windows:
地址:https://pypi.org/project/psutil/
下载psutil for windows, 安装即可
打开云探针页面,就可以正常的监控。接下来把服务器和客户端脚本自行加入开机启动,或者进程守护,或以后台方式运行即可!例如: nohup python3 client-linux.py &
extra scene (run web/ssview.py)