最近有几个人给我推荐了一个可以监控多个服务器状态的软件 —— 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 +

  • 注意,既然是个 多服务器云监控程序,那么你肯定需要两个以上的服务器(其实一个也可以,客户端和服务端可以同时安装),一个服务器做服务端,脚本会自动安装Caddy并配置好HTTP服务的,然后接收各个客户端实时发来的信息并通过网站显示出来。
  • 因为客户端每秒都会发送最新的信息给服务端,所以要保证客户端与服务端直接网络通常,否则网页显示会很抽风。
  • 虽然客户端每秒都会发送信息到服务端,但是对流量消耗是很小的,毕竟每次发送的数据都只有几百或上千个字符。


  • ServerStatus 客户端需要 Python 2.7版本以上才可以正常运行,如果不是那么请升级(查看版本: python -V )。
  • 注意:CentOS6 系统默认的Python版本是2.6,版本太低,使用客户端会出问题,请升级Python或者更换系统。


●安装步骤

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

  • 自己备份的

    wget -N --no-check-certificate https://raw.githubusercontent.com/yangyzp/doubi/master/status.sh && chmod +x status.sh
  • 原来的

    wget -N --no-check-certificate https://softs.loan/Bash/status.sh && chmod +x status.sh
     
    # 如果上面这个脚本无法下载,尝试使用备用下载:
    wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/status.sh && chmod +x status.sh

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

# 显示客户端管理菜单
bash status.sh c
 
# 显示服务端管理菜单
bash status.sh s

●简单步骤

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

一开始会提示你输入网站服务器的域名和端口,如果没有域名可以直接回车代表使用 本机IP:8888。

是否由脚本自动配置HTTP服务(服务端的在线监控网站)[Y/n]
 
# 如果你不懂,那就直接回车,如果你想用其他的HTTP服务自己配置,那么请输入 n 并回车。
# 注意,当你曾经安装过 服务端,同时没有卸载Caddy(HTTP服务),那么重新安装服务端的时候,请输入 n 并回车。

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

2.然后安装客户端,根据提示填写 服务端的IP 和前面添加/修改 对应的 节点用户名和密码(用于和服务端验证),然后启动就好了

●其他操作

客户端:

点击查看操作

启动:/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

安装目录:/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
  • 提示wget: unknown host “softs.loan” 之类的错误
    这是无法解析我的域名,多半是DNS的问题,请更换DNS为谷歌DNS(以下两行一起复制 一起执行)。

    echo -e "nameserver 8.8.8.8
    nameserver 8.8.4.4" > /etc/resolv.conf
  • 提示 wget: command not found 的错误
    这是你的系统精简的太干净了,wget都没有安装,所以需要安装wget。

    # CentOS系统:
    yum install -y wget
     
    # Debian/Ubuntu系统:
    apt-get install -y wget
  • Caddy启动失败,打开 http://ip 显示的是 It works !
    一些系统会自带 apache2 ,而 apache2 会占用80端口,导致Caddy无法绑定端口,所以只要关掉就好了。

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

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

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

    取消开机自启动

    # CentOS 系统 #
    chkconfig --del httpd
    # Debian/Ubuntu 系统 #
    update-rc.d -f apache2 remove

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

    # CentOS 系统 #
    yum remove httpd
    # Debian/Ubuntu 系统 #
    apt-get remove --purge apache2

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

    service caddy start

出处:https://doub.io/shell-jc3/
最后修改:2018 年 05 月 26 日
如果觉得我的文章对你有用,请随意赞赏