服务器监控

  • Python 服务器监控
  • 环境安装
  • 文件结构
  • 项目结构(类图)
  • 项目部分文件源码说明
  • 程序打包
  • exe打包成安装包
  • 程序安装
  • 1. 打开安装包
  • 2. 安装
  • 3. 等待安装完毕
  • 4. 桌面图标
  • 程序使用说明
  • 程序实现效果
  • 1. 登录前
  • 2. 登录时(登录成功)
  • 3. 登录后退出
  • 4. 登录失败,查看日志

Python 服务器监控

程序安装包:链接:https://pan.baidu.com/s/1DmbzKZ2u1yRjVTDzm2G28w
提取码:yq0i

该项目使用PyQt5 QtDesigner Paramiko Loguru技术实现了一个简易的服务器监控器

本项目实现了获取部分服务器信息,用于简单的Linux服务器监控。
该项目很多代码可以进一步重构,由于太懒就没有重构,支持有需要的同学修改和进一步完善。
该项目只用于学习使用,转载请标明出处,如有错误请指正。

环境安装

paramiko       安装:pip install paramiko
PyQt5          安装:pip install pyqt5
pyqt5-tools    安装:pip install pyqt5-tools
loguru		   安装:pip install loguru
pyinstaller	   安装:pip install pyinstaller  ## 用于把程序打包成exe文件

文件结构

python GUI 界面 dataframe python gui 界面 监控_python

com包下封装了一些常用的对服务器操作的类及其方法

./SSHConCore.py    该类下实现了SSH连接,但只作为一个接口文件是所有类的爹类~,方便阅读
./UseCOMMAND.py    该类继承了SSHConCore,用于使用Python代码去输入Linux命令操作其系统
./Linux            该包下存放了获取Linux系统信息的常用类
./Linux/AcquireLinSymInfo.py    该类继承了UseCOMMAND,用于获取CPU 磁盘 内存 负载均衡的所有信息
./Linux/CPUMsg.py               该类继承了AcquireLinSymInfo,用于获取常用CPU信息并做了人性化处理(类中的方法有注释)
./Linux/DiskSpaceMsg.py			该类继承了AcquireLinSymInfo,用于获取常用磁盘信息(暂未实现,部分实现代码在UiMain中)
./Linux/LoadMsg.py			    该类继承了AcquireLinSymInfo,用于获取负载均衡常用信息并做了人性化处理(类中的方法有注释)
./Linux/MemoryMsg.py			该类继承了AcquireLinSymInfo,用于获取内存常用信息并做了人性化处理(类中的方法有注释)
./test             该包只用于存放开发时测试文件(gitee上传的项目中已经删除)
./UiMain           该包存放了桌面应用的Python代码和以构建好的exe文件
./UiMain/build  				该文件夹下存放了构建exe时生成的文件
./UiMain/dist					该文件夹下存放了构建的exe文件(若想启动exe文件则需要把exe文件移动到./UiMain下)
./UiMain/logs					该文件夹下存放了一些程序运行时生成的日志文件
./UiMain/static					该文件夹下存放了一下静态资源(目前不用)
./UiMain/EnterUiMain.py			该类为整个程序的GUI入口,如启动本程序则启动该文件即可
./UiMain/EnterUiMain.spec		该文件是程序打包后生成的配置文件,下次再次打包该项目只需在该文件中配置即可
./UiMain/UiMain.ui				该文件是Qt Designer到处的ui文件,就类似web前端的静态页面
./UiMain/4417102_desktop_pc_server_icon.ico    该文件为程序的图标文件

项目结构(类图)

python GUI 界面 dataframe python gui 界面 监控_服务器_02

项目部分文件源码说明

链接:

程序打包

使用pyinstaller工具打包

由于不同机器的环境都不同,打包时遇到的坑也都不一样,请自行百度如何打包

exe打包成安装包

使用Inno Setup 编译器,由于较为简单,在这里就不具体说明,可自行百度

程序安装

1. 打开安装包

python GUI 界面 dataframe python gui 界面 监控_服务器_03

2. 安装

python GUI 界面 dataframe python gui 界面 监控_服务器_04

python GUI 界面 dataframe python gui 界面 监控_类继承_05

3. 等待安装完毕

4. 桌面图标

python GUI 界面 dataframe python gui 界面 监控_qt_06

程序使用说明

  • 登录前,退出按钮 被禁用
  • 登录成功后,登录按钮 被禁用,退出按钮 启用,IP输入框 用户名输入框 密码输入框 被设为只读
  • 退出成功后,退出按钮 被禁用,登录按钮 启用,IP输入框 用户名输入框 密码输入框 被设为可修改
  • 如果未登录成功,则不会禁用登录按钮 此时需要用户查看日志,如遇见bug请及时反馈(联系方式在程序右下方)
  • 如果未退出成功,则不会禁用退出按钮 此时需要用户查看日志,如遇见bug请及时反馈

程序实现效果

1. 登录前

python GUI 界面 dataframe python gui 界面 监控_安装包_07

2. 登录时(登录成功)

python GUI 界面 dataframe python gui 界面 监控_qt_08

3. 登录后退出

python GUI 界面 dataframe python gui 界面 监控_安装包_09

4. 登录失败,查看日志

python GUI 界面 dataframe python gui 界面 监控_安装包_10