多服务器 云探针、云监控 —— ServerStatus 一键管理脚本 - 右手博客 多服务器 云探针、云监控 —— ServerStatus 一键管理脚本 - 右手博客

多服务器 云探针、云监控 —— ServerStatus 一键管理脚本

【转载】多服务器 云探针、云监控 —— ServerStatus 一键管理脚本


最近有几个人给我推荐了一个可以监控多个服务器状态的软件 —— ServerStatus ,虽然搭建方法并不难,但是能懒就懒,所以脚本就出炉了。

Github:https://github.com/ToyoDAdoubi/ServerStatus-Toyo

Github:https://github.com/tenyue/ServerStatus

示例网站:https://tz.toyoo.pw/

系统要求

CentOS 7 / Debian 7+ / Ubuntu 14.04 +

推荐 Debian 8 x64,这个是我一直使用的系统,我的脚本在这个系统上面出错率最低。

注意,既然是个 多服务器云监控程序,那么你肯定需要两个以上的服务器(其实一个也可以,客户端和服务端可以同时安装),一个服务器做服务端,脚本会自动安装Caddy并配置好HTTP服务的,然后接收各个客户端实时发来的信息并通过网站显示出来。

因为客户端每秒都会发送最新的信息给服务端,所以要保证客户端与服务端直接网络通常,否则网页显示会很抽风。

虽然客户端每秒都会发送信息到服务端,但是对流量消耗是很小的,毕竟每次发送的数据都只有几百或上千个字符。

ServerStatus 客户端需要 Python 2.7版本以上才可以正常运行,如果不是那么请升级(查看版本:python -V )。

脚本版本

Ver: 1.0.15

安装步骤

执行下面的代码下载并运行脚本。

  1. wget nocheckcertificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/status.sh && chmod +x status.sh

下载脚本后,根据需要安装客户端或者服务端:

  1. # 显示客户端管理菜单
  2. bash status.sh c
  3.  
  4. # 显示服务端管理菜单
  5. bash status.sh s

运行脚本后会出现脚本操作菜单,选择并输入 1 就会开始安装。

一开始会提示你输入服务端监听的端口,不懂请默认,如果你的要安装客户端的服务器中有NAT服务器,那么请考虑到NAT的端口范围。

简单步骤

首先安装服务端,安装过程中会提示:

  1. 是否由脚本自动配置HTTP服务(服务端的在线监控网站)[Y/n]
  2. # 一开始会提示你输入网站服务器的域名和端口,如果没有域名可以直接回车代表使用 本机IP:8888
  3. # 如果你不懂,那就直接回车,如果你想用其他的HTTP服务自己配置,那么请输入 n 并回车。
  4. # 注意,当你曾经安装过 服务端,同时没有卸载Caddy(HTTP服务),那么重新安装服务端的时候,请输入 n 并回车。

然后 添加或修改 初始示例的节点配置注意用户名每个节点配置都不能重复,其他的参数都无所谓了。

然后安装客户端,根据提示填写 服务端的IP 和前面添加/修改 对应的 节点用户名和密码(用于和服务端验证),然后启动就好了,有问题请贴出 详细步骤+日志(如果有)联系我。

使用说明

进入下载脚本的目录并运行脚本:

  1. # 客户端管理菜单
  2. ./status.sh c
  3. # 服务端管理菜单
  4. ./status.sh s

然后选择你要执行的选项即可。

其他操作

客户端:

启动:/etc/init.d/status-client start

停止:/etc/init.d/status-client stop

重启:/etc/init.d/status-client restart

查看状态:/etc/init.d/status-client status

服务端:

启动:/etc/init.d/status-server start

停止:/etc/init.d/status-server stop

重启:/etc/init.d/status-server restart

查看状态:/etc/init.d/status-server status

Caddy(HTTP服务):

启动:/etc/init.d/caddy start

停止:/etc/init.d/caddy stop

重启:/etc/init.d/caddy restart

查看状态:/etc/init.d/caddy status

Caddy配置文件:/usr/local/caddy/Caddyfile



安装目录:/usr/local/ServerStatus

网页文件:/usr/local/ServerStatus/web

配置文件:/usr/local/ServerStatus/server/config.json

客户端查看日志:tail -f tmp/serverstatus_client.log

服务端查看日志:tail -f /tmp/serverstatus_server.log

 

其他说明

我的修改版对单位进行了统一,这样避免用户识别混乱。

网络实时流量单位为:G=GB/s,M=MB/s,K=KB/s

服务器总流量单位为:T=TB,G=GB,M=MB,K=KB

修改网页标题或公告

如果要修改网页标题或者网页顶部公告内容,打开 /usr/local/ServerStatus/web/index.html 文件修改即可,很显眼。

CentOS7系统 负载显示异常的问题

CentOS7系统 默认可能没有安装 netstat 依赖,所以会造成IP检测(负载)出错,手动安装即可: yum install net-tools -y

服务端网页显示异常,频繁开启/关闭

这种问题说明系统中的 Python版本低于 2.7(查看版本: python -V ),一般常见这种问题的都是 CentOS6 ,因为这个系统默认都是 Python2.6 版本,版本太低,使用客户端会出问题,请升级Python或者更换系统。

提示wget: unknown host “raw.githubusercontent.com” 之类的错误

 

这是无法解析我的域名,多半是DNS的问题,请更换DNS为谷歌DNS(以下两行一起复制 一起执行)。

echo “nameserver 8.8.8.8  

nameserver 8.8.4.4″ > /etc/resolv.conf

提示 wget: command not found 的错误

这是你的系统精简的太干净了,wget都没有安装,所以需要安装wget。

  1. # CentOS系统:
  2. yum install y wget
  3.  
  4. # Debian/Ubuntu系统:
  5. aptget install y wget

Caddy启动失败,打开 http://ip 显示的是 It works !

一些系统会自带 apache2 ,而 apache2 会占用80端口,导致Caddy无法绑定端口,所以只要关掉就好了。

  1. netstat lntp
  2. # 我们可以通过这个命令查看是不是被其他软件占用了 80 端口。

不过 apache2 会默认开机自启动,如果不需要可以关闭自启动或者卸载 apache2 。

停止 Apache2

  1. service apache2 stop
  1. # 尝试使用上面这个关闭,如果没效果或者提示什么错误无法关闭,那就用下面这个强行关闭进程。
  2. kill 9 $(ps ef|grep “apache2”|grep “grep”|awk ‘{print $2}’)

取消开机自启动

  1. # CentOS 系统 #
  2. chkconfig del httpd
  3. # Debian/Ubuntu 系统 #
  4. updaterc.f apache2 remove

卸载 Apache2(卸载包括了取消开机启动,无需重复)

  1. # CentOS 系统 #
  2. yum remove httpd
  3. # Debian/Ubuntu 系统 #
  4. aptget remove purge apache2

关闭 Apache2后,就可以尝试启动 Caddy ,并试试能不能打开网页。

  1. service caddy start

升级脚本

升级脚本只需要运行脚本,然后选择并输入 0 回车即可,会自动检测最新版本并下载,当然重新下载脚本文件也可以,会自动覆盖原文件。

更新日志

2018年09月24日,版本 v1.0.15

1. 新增 安装客户端时判断系统是否为:CentOS6,会提示你是否继续(CentOS6 默认是 Python 2.6,需要你手动升级为 Python 2.7 或更换系统)。

2. 优化 服务端安装(用于自动部署HTTP的域名和端口只会在你决定要自动部署后才会提示你输入)。

评论 0

挤眼 亲亲 咆哮 开心 想想 可怜 糗大了 委屈 哈哈 小声点 右哼哼 左哼哼 疑问 坏笑 赚钱啦 悲伤 耍酷 勾引 厉害 握手 耶 嘻嘻 害羞 鼓掌 馋嘴 抓狂 抱抱 围观 威武 给力
提交评论

清空信息
关闭评论
sitemap