AI摘要:

该文章介绍了如何使用ServerStatus实现对多平台设备的监控。首先,在宝塔后台的php项目中添加了用于承载ServerStatus的网站,申请了Let's Encrypt SSL证书并开启了强制HTTPS。然后,通过终端下载并运行一键安装服务端脚本,配置服务端并手动链接安装目录。访问监控页面即可完成安装。服务端配置包括反代设置、目录禁止访问,以及美化界面和记录服务端接入客户端信息的操作。对于客户端,Linux下使用root账户下载安装脚本,Windows下使用psutil跨平台版本。在Windows上安装Python和psutil,下载client-psutil.py文件,并配置信息后运行,也可以注册为Windows服务。文章提供了详细的步骤和参考链接,适合有一定Linux和Windows操作经验的用户。

理论上客户端可以跨平台部署,因此不一定只监控服务器状态,可以对所有需要监控的设备安装ServerStatus客户端进行监控。

服务端

服务端安装

  1. 在宝塔后台php项目添加用以承载ServerStatus的网站(无需数据库),申请Let's Encrypt ssl证书并开启强制https。
  2. 通过终端进入该站点目录,下载一键安装服务端脚本wget -N --no-check-certificate https://raw.githubusercontent.com/stilleshan/ServerStatus/master/status.sh && chmod +x status.sh
  3. 使用脚本安装bash status.sh s
  4. 不自动部署http服务,选择手动在宝塔将安装目录链接为/usr/local/ServerStatus -> /www/wwwroot/status/ServerStatus
  5. 访问https://status.zelyo.cn/ServerStatus/web/ 即可访问监控页面
  • 说明:尝试过在阿里云学生机安装cppla功能更多的ServerStatus服务端,但是可能是性能不够,编译到一半就会卡死,遂放弃。

服务端配置

  1. 在脚本目录使用bash status.sh s可进行配置
  2. 设置反代并设置目录禁止访问即可完成网站域名访问。
  3. 自己修改web文件夹下内容以美化界面。
  4. server目录下config.json文件记录服务端接入的客户端信息。

参考

客户端

Linux客户端安装

  1. 使用root账户下载一键安装脚本进行配置
    wget -N --no-check-certificate https://raw.githubusercontent.com/stilleshan/ServerStatus/master/status.sh && chmod +x status.sh
  2. 在root根目录使用bash status.sh s,切换到客户端脚本即可安装配置

Windows客户端安装

  1. 使用基于python的psutil跨平台版本(For Windows)
  2. 访问Python官方网站下载页获取Python2.7.X。请自行选择下载32位或64位版本。
  3. 双击下载的.msi文件运行安装程序,安照提示安装,在功能自定义页面的 Add pytnon.exe to Path 处选择 Will installed on local hard drive ,点击Next安装,若出现UAC提醒请允许。安装完成后点击Finish退出安装程序。
  4. 按 Windows徽标键+R键 打开 “运行” 对话框,输入 cmd 按 Enter键 打开命令提示符。在命令提示符中输入以下命令安装psutil跨平台软件包(注意用python2来执行):
    C:\Python27\python.exe -m pip install psutil
  5. 访问ServerStatus中文版GitHub项目页,从
    clients目录下找到client-psutil.py文件页,下载文件
  6. 将下载的client-psutil.py文件放到一个合适的目录,在此文件上右击,点击Edit with IDLE(亦可使用其他编辑器打开)。参考Linux版本填写配置信息保存并退出编辑器。
  7. 双击client-psutil.py文件运行,检查监控页是否正常显示。
  8. (可选)使用winsw注册为windows服务,让丑陋的cmd终端窗口消失。使用管理员权限在cmd中进入所在目录,使用winsw install和winsw start注册服务并启用即可(注意服务相关的执行命令如python要添加到系统环境变量中,添加在用户变量可能会无法启动)。winsw配置xml参考如下内容:

    <service>
     <id>ServerStatus</id>
     <name>ServerStatus</name>
     <description>ServerStatus client</description>
     <executable>python</executable>
     <arguments>C:\ServerStatus\client-psutil.py</arguments>
     <logmode>reset</logmode>
    </service>
文章目录