# pingview **Repository Path**: ironbamboo/pingview ## Basic Information - **Project Name**: pingview - **Description**: PingView 是一款基于 PyQt5 开发的网络设备监控工具,专为网络管理员和运维人员设计。它提供了直观的图形界面,用于实时监控大量网络设备的连通性状态,支持批量操作、告警通知和数据导出等功能,适用于企业、数据中心和各类网络环境的设备管理。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-03 - **Last Updated**: 2026-03-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # PingView 一个功能强大的网络设备监控工具,用于实时检测和监控网络设备的连通性状态,支持批量管理、告警通知和数据导出。 > 衷心感谢 DeepSeek、豆包、千问、智谱、MiniMax、Kimi 等大模型的技术支持,也由衷致谢 OpenClaw、CoPaw、Trae、QoderWork 等开源项目的无私贡献。正是这些工具与开源生态,让我这样零基础的编程小白也能顺利完成程序开发,向所有开发者与项目团队致以诚挚谢意。因此我们也开源了这个项目,希望能帮助到更多的人。 ## 项目介绍 PingView 是一款基于 PyQt5 开发的网络设备监控工具,专为网络管理员和运维人员设计。它提供了直观的图形界面,用于实时监控大量网络设备的连通性状态,支持批量操作、告警通知和数据导出等功能,适用于企业、数据中心和各类网络环境的设备管理。 ![输入图片说明](QQ_1774712209660.png) 下载使用地址https://gitee.com/ironbamboo/pingview/releases/download/v1.6.7/PingView_1.6.7.exe ## 功能特性 ### 核心功能 - **批量 IP 监控**:支持同时监控数百个 IP 地址,实时更新状态 - **多协议检测**:除标准 Ping 外,新增 TCP 端口检测作为备选方案 - **灵活配置**:支持自定义超时时间、重试次数、数据包大小等参数 - **状态可视化**: - 直观的颜色标识(绿色=在线,红色=离线,黄色=检测中) - 实时显示响应时间和丢包率 - 支持自定义列宽和排序 - **告警通知**: - 声音告警(支持自定义告警音乐) - 视觉闪烁提示 - 状态变化日志记录 - **定时任务**:支持设置扫描间隔、自动导出报告等定时操作 ### 数据管理 - **Excel 导入导出**: - 支持从 Excel 文件批量导入 IP 列表 - 支持导出监控结果为 Excel 格式(含完整时间戳和状态信息) - 支持自定义导出字段 - **数据过滤**: - 支持按 IP 地址、状态、响应时间等条件过滤 - 支持正则表达式搜索 - 可保存常用过滤条件 - **数据格式化**:自动格式化 IP 地址、设备名称等信息 ### 配置管理 - **配置保存**:自动保存用户配置到本地文件,重启后自动恢复 - **自定义设置**: - 检测参数(超时时间、重试次数、数据包大小) - 界面布局(列宽、排序方式、显示字段) - 告警设置(声音开关、音量大小) - **界面优化**: - 响应式设计,支持窗口大小调整 - 系统托盘图标支持,最小化到托盘 - 支持多显示器显示 ### 高级功能 - **检测配置系统**:可针对不同网络环境优化检测参数 - **重试机制**:设备离线时自动重试检测,避免误报 - **TCP 备选检测**:当 ICMP Ping 不可用时,自动切换到 TCP 端口检测 - **配置导入导出**:支持备份和恢复配置文件 - **日志记录**:完整的操作日志和状态变化记录 - **性能优化**:高效的多线程检测机制,低资源占用 ## 技术栈 - **编程语言**:Python 3.7+ - **GUI 框架**:PyQt5 5.15+ - **网络工具**:内置系统 ping 命令 - **数据处理**:pandas 1.3+ - **Excel 操作**:openpyxl 3.0+ 完整依赖列表请查看 [requirements.txt](requirements.txt) 文件。 ## 安装步骤 ### 方式一:直接使用打包好的可执行文件(推荐) 1. 从项目的发布页面或 `dist` 目录获取最新版本的可执行文件 2. 下载 `PingView_1.6.7.exe` 到本地 3. 双击运行即可,无需安装任何依赖 ### 方式二:从源代码运行 #### 1. 环境要求 - **操作系统**:Windows 7/8/10/11 - **Python**:Python 3.7 或更高版本 - **Git**:用于克隆仓库(可选) #### 2. 获取源代码 **通过 Git 克隆**: ```bash git clone https://gitee.com/ironbamboo/pingview.git cd pingview ``` **或直接下载 ZIP 文件**: 1. 访问项目仓库页面 2. 点击 "下载 ZIP" 3. 解压到本地目录 4. 进入解压后的目录 #### 3. 安装依赖 **使用 requirements.txt(推荐)**: ```bash pip install -r requirements.txt ``` **手动安装核心依赖**: ```bash # 安装核心依赖 pip install pyqt5 pandas openpyxl # 安装可选依赖 pip install numpy matplotlib # 用于高级数据可视化 ``` **虚拟环境建议**: ```bash # 创建虚拟环境 python -m venv venv # 激活虚拟环境(Windows) venv\Scripts\activate # 激活虚拟环境(Linux/macOS) source venv/bin/activate # 安装依赖 pip install -r requirements.txt ``` #### 4. 运行程序 ```bash python pingview1.6.7.py ``` ### 方式三:重新打包程序 如果需要自定义打包参数,可以重新生成可执行文件: ```bash # 安装打包工具 pip install pyinstaller # 执行打包 python -m PyInstaller PingView.spec # 打包后的文件将位于 dist/ 目录 ``` ## 使用说明 ### 快速开始 #### 1. 启动程序 ```bash # 直接运行 Python 脚本 python pingview1.6.7.py # 或使用打包后的可执行文件 ./dist/PingView_1.6.7.exe ``` #### 2. 导入 IP 列表 1. 点击界面顶部的 "导入" 按钮 2. 选择包含 IP 地址的 Excel 文件 3. 支持的 Excel 格式: - 第一列:IP 地址(必填) - 第二列:设备名称(可选) - 第三列:设备描述(可选) 4. 点击 "确定" 完成导入 #### 3. 开始监控 1. 点击 "开始" 按钮启动监控 2. 程序将自动开始检测所有 IP 地址 3. 状态栏将显示实时监控进度和统计信息 #### 4. 查看监控结果 - **状态颜色**:绿色=在线,红色=离线,黄色=检测中 - **响应时间**:显示设备的平均响应时间(毫秒) - **操作列**:可对单个设备执行操作(如手动检测、编辑信息等) - **排序**:点击表头可按该列排序 - **过滤**:使用过滤框快速查找特定设备 #### 5. 导出报告 1. 点击 "导出" 按钮 2. 选择导出位置和文件名 3. 选择导出格式(Excel) 4. 点击 "保存" 完成导出 ### 详细功能说明 #### 检测配置 1. 点击 "配置" 菜单 -> "检测配置" 2. 可调整以下参数: - **超时时间**:等待响应的最长时间(毫秒) - **重试次数**:设备离线时的重试次数 - **数据包大小**:Ping 数据包的大小(字节) - **检测间隔**:连续检测之间的时间间隔(秒) - **TCP 端口**:备选检测使用的 TCP 端口(默认 80) - **是否启用 TCP 检测**:设备 Ping 失败时是否使用 TCP 检测 3. 点击 "保存" 应用配置 #### 告警设置 1. 点击 "配置" 菜单 -> "告警设置" 2. 可设置: - **启用声音告警**:设备状态变化时是否播放声音 - **告警音量**:调整告警声音大小 - **自定义告警音乐**:选择本地音频文件作为告警音乐 3. 点击 "测试" 可试听告警声音 #### 界面设置 1. 点击 "配置" 菜单 -> "界面设置" 2. 可设置: - **显示列**:选择需要显示的列 - **列宽调整**:直接拖动表头调整列宽 - **排序方式**:选择默认排序列和排序方向 3. 设置将自动保存 ### 常见操作技巧 #### 批量操作 - **全选**:点击 "编辑" 菜单 -> "全选" - **反选**:点击 "编辑" 菜单 -> "反选" - **批量删除**:选择多个设备后,点击 "删除" 按钮 #### 过滤和搜索 - 使用搜索框输入 IP 地址或设备名称进行过滤 - 支持正则表达式搜索(在搜索框前勾选 "正则表达式") - 点击 "重置" 按钮清除过滤条件 #### 系统托盘功能 - 点击最小化按钮,程序将最小化到系统托盘 - 右键点击托盘图标,可快速执行常用操作 - 设备状态变化时,托盘图标会闪烁提示 ## 项目结构 项目采用简洁的结构设计,主要包含以下文件和目录: ``` . ├── .gitignore # Git 忽略配置文件 ├── PingView.spec # PyInstaller 打包配置文件 ├── PingView_程序分析报告.md # 程序分析报告 ├── README.md # 项目说明文档 ├── build/ # 编译构建输出目录 │ └── PingView/ # 具体构建产物 ├── dist/ # 发布目录,包含可执行文件 │ └── PingView_1.6.8.exe # 打包后的可执行文件 ├── pingview1.6.8.py # 主程序文件 ├── pingview_version.rc # Windows 版本信息资源文件 └── requirements.txt # Python 依赖列表 ``` **文件说明**: - `pingview1.6.7.py`:主程序文件,包含所有功能实现 - `PingView.spec`:PyInstaller 打包配置,用于生成可执行文件 - `pingview_version.rc`:Windows 版本信息资源文件,定义文件版本、公司信息等 - `requirements.txt`:Python 依赖包列表,用于安装项目依赖 - `README.md`:项目说明文档,包含功能特性、使用方法等 - `dist/`:包含打包后的可执行文件,可直接运行 - `build/`:编译构建过程中产生的临时文件 ## 版本说明 #### 1.6.7(2026-01-02) - 完善了批量操作功能,支持全选、反选和批量删除 - 优化了数据过滤系统,支持正则表达式搜索 - 增强了告警系统,添加了声音和视觉双重告警 - 修复了界面布局问题,提升响应式设计 #### 1.6.6(2026-01-01) - 添加了 Excel 数据导入导出功能 - 实现了数据过滤和排序功能 - 增强了界面交互体验 - 修复了部分稳定性问题 #### 1.6.5(2025-12-31) - 优化了窗口尺寸设置 - 修复了托盘图标创建问题 - 改进了告警通知机制 - 增强了数据导入导出功能 #### 1.6.4(2025-12-30) - 实现了批量 IP 监控功能 - 添加了基本的告警系统 - 优化了界面布局 - 修复了已知 bug #### 1.6.3(2025-12-29) - 初始版本发布 - 基本的 Ping 检测功能 - 简单的界面布局 - 支持 Excel 导入功能 ## 开发说明 ### 环境要求 - Python 3.7+ - PyQt5 5.15+ - pandas 1.3+ ### 开发流程 1. Fork 项目到自己的仓库 2. 修改 pingview1.6.8.py 文件 3. 提交代码修改 4. 创建 Pull Request ## 贡献指南 欢迎提交 Issue 和 Pull Request 来帮助改进项目。 ### 提交规范 - 代码风格遵循 PEP 8 规范 - 提交信息清晰明了,说明修改内容 - 确保修改不会破坏现有功能 ## 联系方式 - 开发团队:甘肃传德源科技工程有限公司 - 联系电话:13884558337 ## 许可证 本项目采用 [MIT License](https://opensource.org/licenses/MIT) 开源许可证。