From 86974ab32f476e8254c6a7e9eda21214a4227aa9 Mon Sep 17 00:00:00 2001 From: itgoyo Date: Wed, 12 Oct 2022 17:23:16 +0800 Subject: [PATCH] =?UTF-8?q?fixed=20443=20error=20|=20=E6=BA=90=E4=BB=93?= =?UTF-8?q?=E5=BA=93=E5=9C=B0=E5=9D=80=E6=8A=8A=E8=B5=84=E6=BA=90=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E4=BF=AE=E6=94=B9=E6=88=90=E5=9B=BD=E5=86=85=E4=B9=9F?= =?UTF-8?q?=E5=8F=AF=E4=BB=A5=E4=B8=8B=E8=BD=BD=E7=9A=84=E8=B7=AF=E5=BE=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 125 ++++++++++++++++++++++++++++-------------------------- 1 file changed, 65 insertions(+), 60 deletions(-) diff --git a/README.md b/README.md index 4e005ec..35d59f1 100644 --- a/README.md +++ b/README.md @@ -1,58 +1,55 @@ -# ServerStatus中文版: +# ServerStatus中文版 * ServerStatus中文版是一个酷炫高逼格的云探针、云监控、服务器云监控、多服务器探针~。 -* 在线演示:https://tz.cloudcpp.com +* 在线演示: -[![Python Support](https://img.shields.io/badge/python-2.7%2B%20-blue.svg)](https://github.com/cppla/ServerStatus) +[![Python Support](https://img.shields.io/badge/python-3.6%2B%20-blue.svg)](https://github.com/cppla/ServerStatus) [![C++ Compiler](http://img.shields.io/badge/C++-GNU-blue.svg?style=flat&logo=cplusplus)](https://github.com/cppla/ServerStatus) [![License](https://img.shields.io/badge/license-MIT-4EB1BA.svg?style=flat-square)](https://github.com/cppla/ServerStatus) -[![Version](https://img.shields.io/badge/Version-Beta%201.0.9-red)](https://github.com/cppla/ServerStatus) +[![Version](https://img.shields.io/badge/Version-Build%201.0.9-red)](https://github.com/cppla/ServerStatus) -![Latest Version](http://dl.cpp.la/Archive/serverstatus-latest.png) +![Latest Version](http://dl.cpp.la/Archive/serverstatus_1.0.9.png) `Watchdog🐶已经加入,触发式告警。 interval只是为了防止频繁收到报警信息造成骚扰,并不是探测间隔。` -# 目录介绍: +# 目录介绍 -* clients 客户端文件 -* server 服务端文件 -* web 网站文件 +* clients 客户端文件 +* server 服务端文件 +* web 网站文件 -* server/config.json 探针配置文件       -* web/json 探针月流量 +* server/config.json 探针配置文件 +* web/json 探针月流量 -# 自动部署: +# 自动部署 【服务端】: + ```bash `Docker`: -wget --no-check-certificate -qO ~/serverstatus-config.json https://raw.githubusercontent.com/cppla/ServerStatus/master/server/config.json && mkdir ~/serverstatus-monthtraffic +wget --no-check-certificate -qO ~/serverstatus-config.json https://cdn.jsdelivr.net/gh/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 `Docker-compose`: docker-compose up -d ``` 【客户端】: + ```bash +wget --no-check-certificate -qO client-linux.py 'https://cdn.jsdelivr.net/gh/cppla/ServerStatus@master/clients/client-linux.py' && nohup python3 client-linux.py SERVER={$SERVER} USER={$USER} PASSWORD={$PASSWORD} >/dev/null 2>&1 & -wget -N --no-check-certificate https://cdn.jsdelivr.net/gh/itgoyo/PicGoRes@master/status.sh && chmod +x status.sh && bash status.sh c -``` -如果以上命令提示没有权限的话,下载完`status.sh`自己手动`sudo bash status.sh c`运行也是一样的 -``` -wget --no-check-certificate -qO client-linux.py 'https://cdn.jsdelivr.net/gh/itgoyo/PicGoRes@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://cdn.jsdelivr.net/gh/itgoyo/PicGoRes@master/clients/client-linux.py' && nohup python3 client-linux.py SERVER=45.79.67.132 USER=s04 >/dev/null 2>&1 & +wget --no-check-certificate -qO client-linux.py 'https://cdn.jsdelivr.net/gh/cppla/ServerStatus@master/clients/client-linux.py' && nohup python3 client-linux.py SERVER=45.79.67.132 USER=s04 >/dev/null 2>&1 & ``` -# 手动安装教程: +# 手动安装教程 **【服务端配置】** #### 一、生成服务端程序 + ``` `Debian/Ubuntu`: apt-get -y install gcc g++ make libcurl4-openssl-dev `Centos/Redhat`: yum -y install gcc gcc-c++ make libcurl-devel @@ -60,60 +57,65 @@ wget --no-check-certificate -qO client-linux.py 'https://cdn.jsdelivr.net/gh/itg cd ServerStatus/server && make ./sergate ``` + 如果没错误提示,OK,ctrl+c关闭;如果有错误提示,检查35601端口是否被占用 #### 二、修改配置文件 + ```diff -! 修改config.json文件,注意username, password的值需要和客户端对应一致。 ! watchdog rule 可以为任何已知字段的表达式。 ! watchdog interval 最小通知间隔。 +! watchdog callback 可自定义为Get方法的URL,告警内容将拼接其后并发起回调。 + ! watchdog callback Telegram:https://api.telegram.org/bot你自己的密钥/sendMessage?parse_mode=HTML&disable_web_page_preview=true&chat_id=你自己的标识&text= ! watchdog callback Server酱: https://sctapi.ftqq.com/你自己的密钥.send?title=ServerStatus&desp= ! watchdog callback PushDeer: https://api2.pushdeer.com/message/push?pushkey=你自己的密钥&text= -! watchdog callback WeChat: todo -! watchdog callback Email: todo ``` ``` { - "servers": - [ - { - "username": "s01", - "name": "vps-1", - "type": "kvm", - "host": "chengdu", - "location": "🇨🇳", - "password": "USER_DEFAULT_PASSWORD", - "monthstart": 1 - }, - ], - "watchdog": - [ - { - "name": "服务器负载高监控", - "rule": "load_5>10", - "interval": 1200, - "callback": "https://yourSMSurl" - }, - { - "name": "你可以组合任何已知字段的表达式", - "rule": "(hdd_used/hdd_total)*100>95", - "interval": 1800, - "callback": "https://yourSMSurl" - } - ] + "servers": + [ + { + "username": "s01", + "name": "vps-1", + "type": "kvm", + "host": "chengdu", + "location": "🇨🇳", + "password": "USER_DEFAULT_PASSWORD", + "monthstart": 1 + }, + ], + "watchdog": + [ + { + "name": "服务器负载高监控", + "rule": "cpu>90&load_5>3", + "interval": 600, + "callback": "https://yourSMSurl" + }, + { + "name": "你可以组合任何已知字段的表达式", + "rule": "(hdd_used/hdd_total)*100>95", + "interval": 1800, + "callback": "https://yourSMSurl" + } + ] } ``` #### 三、拷贝ServerStatus/status到你的网站目录 + 例如: + ``` sudo cp -r ServerStatus/web/* /home/wwwroot/default ``` -#### 四、运行服务端: +#### 四、运行服务端 + web-dir参数为上一步设置的网站根目录,务必修改成自己网站的路径 + ``` ./sergate --config=config.json --web-dir=/home/wwwroot/default ``` @@ -122,17 +124,21 @@ web-dir参数为上一步设置的网站根目录,务必修改成自己网站 客户端有两个版本,client-linux为普通linux,client-psutil为跨平台版,普通版不成功,换成跨平台版即可。 -#### 一、client-linux版配置: +#### 一、client-linux版配置 + 1、vim client-linux.py, 修改SERVER地址,username帐号, password密码 2、python3 client-linux.py 运行即可。 -#### 二、client-psutil版配置: +#### 二、client-psutil版配置 + 1、安装psutil跨平台依赖库 + ``` `Debian/Ubuntu`: apt -y install python3-pip && pip3 install psutil `Centos/Redhat`: yum -y install python3-pip gcc python3-devel && pip3 install psutil `Windows`: https://pypi.org/project/psutil/ ``` + 2、vim client-psutil.py, 修改SERVER地址,username帐号, password密码 3、python3 client-psutil.py 运行即可。 @@ -141,13 +147,12 @@ web-dir参数为上一步设置的网站根目录,务必修改成自己网站 `extra scene (run web/ssview.py)` ![Shell View](http://dl.cpp.la/Archive/serverstatus-shell.png) - # Make Better -* BotoX:https://github.com/BotoX/ServerStatus -* mojeda: https://github.com/mojeda -* mojeda's ServerStatus: https://github.com/mojeda/ServerStatus -* BlueVM's project: http://www.lowendtalk.com/discussion/comment/169690#Comment_169690 +* BotoX: +* mojeda: +* mojeda's ServerStatus: +* BlueVM's project: # Jetbrains