# smart_inspect_platform **Repository Path**: lucky4018/smart_inspect_platform ## Basic Information - **Project Name**: smart_inspect_platform - **Description**: 使用python FaskAPI框架+VUE设计的一个独立的巡检系统: 主要功能: 1. 支持主机、容器环境、网络的相关指标巡检和展示 2.支持定期巡检,支持手动生成巡检报告 3.巡检报告和系统页面支持科技风 4.巡检系统的设计采用插件化设计,可以支持任意扩展采集指标以及巡检指标和巡检报告的展示 5.巡检系统可以支持任意平台、服务、容器以及非容器化环境的巡检 - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: https://gitee.com/lucky4018/smart_inspect_platform - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 0 - **Created**: 2026-01-10 - **Last Updated**: 2026-03-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: 巡检, Python, 自动化巡检, 巡检报告, 自动化运维 ## README # SIP轻巡巡检平台 ## 1. 平台简介 SIP轻巡巡检平台是一款基于Python FastAPI框架与Vue技术栈构建的独立巡检系统,支持硬件资源、服务平台及业务指标的巡检与采集,具备跨平台、高扩展、易部署的特点,可显著提升IT运维巡检效率。 ## 1.1 主要功能 - **多维度指标采集**:支持主机、容器(Docker/K8s)、网络、磁盘、中间件(MySQL/Redis)等多类型指标实时采集 - **定时巡检任务**:内置定时调度机制,支持分钟级指标采集与每日报告自动生成 - **可视化巡检报告**:自动生成科技风格HTML巡检报告,包含多维度趋势图表与异常标记 - **插件化扩展架构**:所有指标均以插件形式封装,支持动态加载、热卸载、热更新,无需重启服务 - **跨平台兼容**:支持Windows/Linux操作系统,自动适配不同系统环境 ## 1.2 核心业务功能 - **插件管理**:上传、刷新、下载模板、热更新插件,支持状态监控 - **指标采集**:CPU、内存、磁盘、网络、中间件等多维度指标实时采集 - **报告生成**:自动生成可视化巡检报告,包含趋势图表与异常标记 - **任务调度**:配置定时巡检任务,支持跨平台自动执行 ## 1.3 技术架构 ![输入图片说明](doc/images/架构.png) ### 核心设计理念 #### 插件化架构 平台采用**完全插件化**设计,所有指标采集逻辑均封装为独立插件: - **标准化接口**:定义统一的插件基类和接口,所有插件必须实现规范接口,主工程无需关心插件内部逻辑,所有插件必须继承`BaseMetricPlugin`基类,实现统一规范接口 - **零耦合**:插件与主工程完全解耦,独立开发、易于部署 - **即插即用**:插件上传后自动注册,立即生效,无需重启服务 - **内置插件**系统内置指标(CPU / 内存 / 容器 / 主机)+ 自定义指标(GPU / 磁盘 IO/MySQL)全部封装为标准插件,统一管理调度 - **独立采集插件**:一个插件对应一个采集指标,插件内包含「采集逻辑 + 指标元信息 + 图表配置 + 报告配置」,插件与主工程零耦合 - **全生命周期管理**:插件支持「上传→注册→加载→运行→卸载→删除」完整生命周期,全程无需重启服务。 - **动态渲染**: 插件加载后,指标元信息自动同步到前端和报告模板,前端 / 报告无需编写任何硬编码代码,自动渲染指标卡片和图表。 #### 动态生命周期管理 | 操作 | 描述 | |------|------| | 动态加载 | 服务运行时加载新插件,秒级生效 | | 热卸载 | 运行期间移除插件,清除内存占用 | | 热更新 | 无感知更新插件版本,数据不丢失 | ### 数据模型 平台的主要数据模型包括: - **PluginInfo**:插件信息 - **MetricData**:指标数据 - **Dashboard**:仪表盘 - **DashboardWidget**:仪表盘组件 - **TaskConfig**:任务配置 - **TemplateConfig**:模板配置 - **EnvironmentConfig**:环境配置 - **ServerInfo**:服务器信息 - **Alarm**:告警信息 - **Log**:日志信息 - **Backup**:备份信息 ### 1.4 后端架构 基于FastAPI构建,提供RESTful API接口,核心模块包括: | 模块 | 功能描述 | |------|----------| | `app.py` | API网关,集成插件管理、指标采集、报告生成等核心接口 | | `collector/` | 指标采集器,包含容器、主机、GPU、自定义等采集模块 | | `plugin_core/` | 插件核心框架,定义`BaseMetricPlugin`基类与插件生命周期管理 | | `plugins/` | 指标插件实现,涵盖CPU、内存、磁盘、网络、Docker、K8s、MySQL、Redis、JVM等 | | `cron_jobs/` | 定时任务调度,支持跨平台自动执行巡检任务 | | `report/` | 报告生成器,基于模板生成可视化HTML巡检报告 | ### 1.5 前端架构 基于Vue3 + ECharts构建,提供可视化仪表盘与操作界面,支持手动触发采集、生成报告、查看历史报告以及插件的上传和管理: - `Dashboard` - 系统总览,展示实时指标与趋势图表 - `PluginManager` - 插件管理,支持上传、更新、卸载插件 - `ReportView` - 巡检报告查看与导出 ## 2. 快速开始 ### 2.1 系统要求 - **后端**:Python 3.8+ - **前端**:现代浏览器(Chrome、Firefox、Edge等) - **数据库**:SQLite(默认) ### 2.2 安装与启动 #### 后端启动 1. 进入后端目录: ```bash cd backend ``` 2. 安装依赖: ```bash pip install -r requirements.txt ``` 3. 启动服务: ```bash python app.py ``` 后端服务默认运行在 `http://0.0.0.0:8000` #### 前端启动 1. 进入前端目录: ```bash cd frontend ``` 2. 安装依赖: ```bash npm install ``` 3. 启动服务: ```bash npm run dev ``` 前端服务默认运行在 `http://localhost:3001` ### 2.3 首次访问 1. 打开浏览器,访问 `http://localhost:3001` 2. 进入平台首页,查看系统概览 3. 开始使用各项功能 ## 3. 功能模块详细说明 ### 3.1 监控中心 监控中心是平台的核心模块,提供系统状态的实时监控和可视化展示。 #### 3.1.1 仪表盘 仪表盘展示了系统的实时状态和关键指标,包括总服务器数、活跃告警、运行任务和插件数量等概览信息。 ![仪表盘](doc/images/1.3.0/仪表盘.png) **主要功能**: - 概览统计卡片:显示系统关键指标 - 状态卡片:展示各个插件的实时指标 - 趋势图表:展示指标的历史趋势 - 操作按钮:生成巡检报告、采集所有指标 **使用方法**: 1. 点击「生成巡检报告」按钮,系统会自动生成最新的巡检报告 2. 点击「采集所有指标」按钮,系统会立即采集所有插件的指标数据 3. 查看各个状态卡片,了解系统的实时运行状态 4. 查看趋势图表,了解指标的历史变化趋势 #### 3.1.2 自定义仪表盘 自定义仪表盘允许用户创建和管理个性化的仪表盘,可根据需要添加、编辑和删除组件,支持多种图表类型。 ![自定义仪表盘](doc/images/1.2.0/仪表盘.png) **主要功能**: - 创建仪表盘:创建新的仪表盘,输入名称 - 选择仪表盘:在下拉菜单中选择已创建的仪表盘 - 删除仪表盘:删除不需要的仪表盘(至少保留一个) - 添加组件:向仪表盘中添加不同类型的组件 - 选择组件类型:支持折线图、柱状图、饼图、仪表盘等多种图表类型 - 选择指标:从指标列表中选择要展示的指标 - 配置组件位置:在2x4的网格中选择组件的位置 - 删除组件:删除不需要的组件 - 保存仪表盘:保存当前仪表盘的配置 **组件类型说明**: - 折线图:展示指标的历史趋势变化 - 柱状图:比较不同时间段的指标值 - 饼图:展示指标的分布情况 - 仪表盘:直观展示指标的当前状态和健康程度 **使用方法**: 1. 进入「自定义仪表盘」页面 2. 点击「创建仪表盘」按钮,输入仪表盘名称 3. 在下拉菜单中选择已创建的仪表盘 4. 点击「添加组件」按钮,打开组件配置对话框 5. 选择组件类型(折线图、柱状图、饼图、仪表盘) 6. 选择要展示的指标 7. 输入组件标题 8. 在网格中选择组件的位置 9. 点击「确认添加」按钮,组件会添加到仪表盘中 10. 点击组件右上角的「×」按钮,删除组件 11. 点击「保存仪表盘」按钮,保存当前配置 #### 3.1.3 大屏展示 大屏展示模式适合在监控中心的大屏幕上使用,提供全屏的监控视图,支持自动刷新和轮播展示。 ![大屏展示](doc/images/1.2.0/仪表盘.png) **主要功能**: - 选择仪表盘:在下拉菜单中选择要展示的仪表盘 - 进入/退出全屏:切换全屏模式,提供沉浸式体验 - 自动刷新:定时自动刷新数据,确保数据实时性 - 轮播展示:支持多个仪表盘的轮播展示,自动切换不同仪表盘 - 系统概览:显示CPU、内存、磁盘、网络等系统关键指标 - 趋势图表:展示各项指标的历史趋势 - 系统状态:以仪表盘形式展示系统整体状态 - 告警统计:以饼图形式展示告警分布情况 - 服务状态:显示各个服务的运行状态 - 底部信息栏:显示最后更新时间、系统状态、在线设备数等信息 **使用方法**: 1. 进入「大屏展示」页面 2. 在下拉菜单中选择要展示的仪表盘(可选) 3. 点击「进入全屏」按钮,切换到全屏模式 4. 点击「开始自动刷新」按钮,系统会每5秒自动刷新数据 5. 点击「开始轮播」按钮,系统会每10秒自动切换仪表盘 6. 查看系统概览和各项指标的实时数据 7. 点击「退出全屏」按钮,退出全屏模式 #### 3.1.4 报告中心 报告中心提供巡检报告的生成和管理功能,支持日报、周报、月报等多种报告类型。 ![报告中心](doc/images/1.2.0/报告中心.png) **主要功能**: - 生成报告:生成巡检报告 - 查看报告:查看已生成的报告 - 下载报告:下载报告到本地 **使用方法**: 1. 点击「生成巡检报告」按钮,选择报告类型(日报、周报、月报) 2. 系统会生成报告并显示在报告列表中 3. 点击报告名称,查看报告详情 4. 点击「下载」按钮,下载报告到本地 ### 3.2 指标中心 指标中心管理平台的指标采集和插件管理。 #### 3.2.1 指标中心 指标中心展示了所有可用的指标,包括指标名称、中文名称、单位、颜色等信息。 ![指标中心](doc/images/1.2.0/指标中心.png) **主要功能**: - 查看指标列表:查看所有可用的指标 - 查看指标详情:查看指标的详细信息和历史数据 - 趋势分析:查看指标的历史趋势 **使用方法**: 1. 进入指标中心页面,查看所有可用的指标 2. 点击指标名称,进入指标详情页面 3. 查看指标的详细信息和历史数据 4. 查看指标的趋势分析图表 #### 3.2.2 插件市场 插件市场提供插件的安装和管理功能。 ![插件市场](doc/images/1.2.0/插件市场.png) **主要功能**: - 浏览插件:浏览可用的插件 - 安装插件:安装新的插件 - 卸载插件:卸载不需要的插件 **使用方法**: 1. 进入插件市场页面,浏览可用的插件 2. 点击「安装」按钮,安装插件 3. 点击「卸载」按钮,卸载插件 #### 3.2.3 插件管理 插件管理提供插件的上传、动态加载、热卸载和热更新功能。 ![插件管理](doc/images/1.2.0/插件管理.png) **主要功能**: - 上传插件:上传新的插件文件 - 加载插件:加载已上传的插件 - 卸载插件:卸载已加载的插件 - 热更新:更新已加载的插件 - 下载模板:下载插件开发模板 **使用方法**: 1. 点击「上传插件」按钮,选择插件文件上传 2. 点击「加载」按钮,加载插件 3. 点击「卸载」按钮,卸载插件 4. 点击「热更新」按钮,更新插件 5. 点击「下载模板」按钮,下载插件开发模板 #### 3.2.4 模板中心 模板中心管理报告模板的创建和管理。 ![模板中心](doc/images/1.2.0/模版中心.png) **主要功能**: - 创建模板:创建新的报告模板 - 编辑模板:修改模板的内容 - 删除模板:删除不需要的模板 - 使用模板:使用模板生成报告 **使用方法**: 1. 点击「创建模板」按钮,输入模板名称、类型和内容 2. 点击「编辑」按钮,修改模板内容 3. 点击「删除」按钮,删除模板 4. 在生成报告时,选择使用的模板 ### 3.3 任务管理 任务管理模块管理平台的定时任务和拨测任务。 #### 3.3.1 任务中心 任务中心管理平台的定时任务,包括采集任务、报告任务等。 ![任务中心](doc/images/1.2.0/任务中心.png) **主要功能**: - 创建任务:创建新的定时任务 - 编辑任务:修改任务的配置 - 删除任务:删除不需要的任务 - 启用/禁用任务:切换任务的启用状态 **使用方法**: 1. 点击「创建任务」按钮,输入任务名称、类型、 cron 表达式等 2. 点击「编辑」按钮,修改任务配置 3. 点击「删除」按钮,删除任务 4. 点击「启用」/「禁用」按钮,切换任务状态 #### 3.3.2 拨测任务 拨测任务管理网络拨测和服务检测任务。 **主要功能**: - 创建拨测任务:创建新的拨测任务 - 编辑拨测任务:修改拨测任务的配置 - 删除拨测任务:删除不需要的拨测任务 - 执行拨测任务:立即执行拨测任务 **使用方法**: 1. 点击「创建拨测任务」按钮,输入任务名称、类型、目标等 2. 点击「编辑」按钮,修改拨测任务配置 3. 点击「删除」按钮,删除拨测任务 4. 点击「执行」按钮,立即执行拨测任务 #### 3.3.3 探测结果 探测结果展示拨测任务的执行结果。 **主要功能**: - 查看探测结果:查看拨测任务的执行结果 - 筛选结果:按时间、状态等筛选结果 - 导出结果:导出探测结果 **使用方法**: 1. 进入探测结果页面,查看拨测任务的执行结果 2. 使用筛选条件,筛选特定的结果 3. 点击「导出」按钮,导出探测结果 #### 3.3.4 通知配置 通知配置管理告警通知的设置,包括邮件通知、短信通知等。 **主要功能**: - 配置通知方式:配置邮件、短信等通知方式 - 配置通知模板:配置通知的模板 - 测试通知:测试通知是否正常 **使用方法**: 1. 进入通知配置页面,配置通知方式 2. 配置通知模板 3. 点击「测试」按钮,测试通知是否正常 ### 3.4 环境管理 环境管理模块管理平台的环境和服务器。 #### 3.4.1 环境管理 环境管理管理平台的环境配置,支持多环境的集中管理。 **主要功能**: - 创建环境:创建新的环境 - 编辑环境:修改环境的配置 - 删除环境:删除不需要的环境 - 查看环境详情:查看环境的详细信息 **使用方法**: 1. 点击「创建环境」按钮,输入环境名称、描述等 2. 点击「编辑」按钮,修改环境配置 3. 点击「删除」按钮,删除环境 4. 点击环境名称,查看环境详情 #### 3.4.2 服务器管理 服务器管理管理平台的服务器配置,支持多服务器的集中管理。 **主要功能**: - 添加服务器:添加新的服务器 - 编辑服务器:修改服务器的配置 - 删除服务器:删除不需要的服务器 - 查看服务器详情:查看服务器的详细信息 **使用方法**: 1. 点击「添加服务器」按钮,输入服务器名称、IP地址等 2. 点击「编辑」按钮,修改服务器配置 3. 点击「删除」按钮,删除服务器 4. 点击服务器名称,查看服务器详情 #### 3.4.3 集群监控 集群监控监控Kubernetes集群的状态,包括节点、Pod、服务等。 **主要功能**: - 查看集群状态:查看集群的整体状态 - 查看节点状态:查看集群节点的状态 - 查看Pod状态:查看集群Pod的状态 - 查看服务状态:查看集群服务的状态 **使用方法**: 1. 进入集群监控页面,查看集群的整体状态 2. 点击「节点」标签,查看节点状态 3. 点击「Pod」标签,查看Pod状态 4. 点击「服务」标签,查看服务状态 #### 3.4.4 Agent管理 Agent管理管理平台的Agent配置,支持Agent的安装、配置和管理。 **主要功能**: - 安装Agent:在服务器上安装Agent - 配置Agent:配置Agent的采集参数 - 查看Agent状态:查看Agent的运行状态 - 卸载Agent:卸载不需要的Agent **使用方法**: 1. 点击「安装Agent」按钮,生成Agent安装命令 2. 在服务器上执行安装命令,安装Agent 3. 配置Agent的采集参数 4. 查看Agent的运行状态 5. 点击「卸载」按钮,卸载Agent ### 3.5 运维中心 运维中心提供系统的运维管理功能,包括系统监控、告警管理、日志管理和备份恢复。 #### 3.5.1 系统监控 系统监控监控平台自身的运行状态,包括CPU、内存、磁盘等系统资源的使用情况。 **主要功能**: - 查看系统状态:查看系统的实时状态 - 查看资源使用:查看系统资源的使用情况 - 查看系统负载:查看系统的负载情况 **使用方法**: 1. 进入系统监控页面,查看系统的实时状态 2. 查看CPU、内存、磁盘等资源的使用情况 3. 查看系统的负载情况 #### 3.5.2 告警管理 告警管理管理平台的告警信息,包括告警的查看、处理和统计。 **主要功能**: - 查看告警列表:查看所有告警信息 - 处理告警:标记告警为已解决 - 筛选告警:按时间、级别等筛选告警 - 统计告警:查看告警的统计信息 **使用方法**: 1. 进入告警管理页面,查看所有告警信息 2. 点击「处理」按钮,标记告警为已解决 3. 使用筛选条件,筛选特定的告警 4. 查看告警的统计信息 #### 3.5.3 日志管理 日志管理管理平台的日志信息,包括系统日志、操作日志等。 **主要功能**: - 查看日志列表:查看所有日志信息 - 筛选日志:按时间、类型等筛选日志 - 导出日志:导出日志到本地 **使用方法**: 1. 进入日志管理页面,查看所有日志信息 2. 使用筛选条件,筛选特定的日志 3. 点击「导出」按钮,导出日志到本地 #### 3.5.4 备份恢复 备份恢复管理平台的数据备份和恢复功能。 **主要功能**: - 创建备份:创建数据备份 - 查看备份列表:查看所有备份 - 恢复备份:从备份恢复数据 - 删除备份:删除不需要的备份 **使用方法**: 1. 点击「创建备份」按钮,创建数据备份 2. 查看备份列表,了解所有备份 3. 点击「恢复」按钮,从备份恢复数据 4. 点击「删除」按钮,删除不需要的备份 #### 3.5.5 系统管理 系统管理管理平台的系统配置,包括基本配置、安全配置等。 ![系统管理](doc/images/1.2.0/系统管理.png) **主要功能**: - 配置系统参数:配置系统的基本参数 - 配置安全设置:配置系统的安全设置 - 配置邮件设置:配置邮件通知设置 - 查看系统信息:查看系统的版本、运行时间等信息 **使用方法**: 1. 进入系统管理页面,配置系统参数 2. 配置安全设置,如登录限制、密码策略等 3. 配置邮件设置,如SMTP服务器、发件人等 4. 查看系统信息,了解系统的版本、运行时间等 ### 3.6 系统管理 系统管理模块管理平台的用户、角色和权限。 **主要功能**: - 用户管理:管理平台的用户 - 角色管理:管理平台的角色 - 权限管理:管理平台的权限 **使用方法**: 1. 进入系统管理页面,点击「用户管理」标签 2. 添加、编辑、删除用户 3. 点击「角色管理」标签,添加、编辑、删除角色 4. 点击「权限管理」标签,配置角色的权限 ### 3.7 文档中心 文档中心提供平台的使用文档和开发文档。 **主要功能**: - 查看使用文档:查看平台的使用指南 - 查看开发文档:查看平台的开发指南 - 查看API文档:查看平台的API文档 **使用方法**: 1. 进入文档中心页面 2. 浏览文档目录,找到需要的文档 3. 点击文档名称,查看文档内容 ## 4. 常见问题 ### 4.1 如何添加新的监控指标? 1. 进入「插件管理」页面 2. 点击「下载模板」按钮,下载插件开发模板 3. 根据模板开发新的插件 4. 点击「上传插件」按钮,上传开发好的插件 5. 点击「加载」按钮,加载插件 6. 插件加载成功后,指标会自动出现在仪表盘和指标中心 ### 4.2 如何配置告警通知? 1. 进入「通知配置」页面 2. 配置邮件通知:输入SMTP服务器、端口、用户名、密码等 3. 配置短信通知:输入短信服务提供商的API密钥等 4. 点击「测试」按钮,测试通知是否正常 5. 配置告警阈值:在「告警管理」页面配置告警阈值 ### 4.3 如何生成巡检报告? 1. 进入「仪表盘」页面 2. 点击「生成巡检报告」按钮 3. 选择报告类型(日报、周报、月报) 4. 系统会自动生成报告并显示在报告列表中 5. 点击报告名称,查看报告详情 6. 点击「下载」按钮,下载报告到本地 ### 4.4 如何创建自定义仪表盘? 1. 进入「自定义仪表盘」页面 2. 点击「创建仪表盘」按钮,输入仪表盘名称 3. 在下拉菜单中选择已创建的仪表盘 4. 点击「添加组件」按钮,打开组件配置对话框 5. 选择组件类型(折线图、柱状图、饼图、仪表盘) 6. 选择要展示的指标 7. 输入组件标题 8. 在网格中选择组件的位置 9. 点击「确认添加」按钮,组件会添加到仪表盘中 10. 点击「保存仪表盘」按钮,保存当前配置 ### 4.5 如何监控Kubernetes集群? 1. 进入「集群监控」页面 2. 配置Kubernetes集群的访问信息 3. 系统会自动采集集群的节点、Pod、服务等信息 4. 查看集群的整体状态和各个资源的状态 ## 5. 开发指南 ### 源码介绍 - [源码介绍](./doc/功能演示/开发指南/源码介绍.md) ### 开发环境搭建 - [后端开发环境搭建](./doc/功能演示/开发指南/后端开发环境搭建.md ) - [前端开发环境搭建](./doc/功能演示/开发指南/前端开发环境搭建.md) ### 常见问题排查 - [常见问题排查](./doc/功能演示/开发指南/常见问题排查.md ) ### 开发指引 - [开发指引](./doc/功能演示/开发指南/开发指引.md ) ## 6. 版本历史 - **v1.3**: - 新增自定义仪表盘功能:支持创建、编辑、删除仪表盘,添加多种类型的组件(折线图、柱状图、饼图、仪表盘),配置组件位置 - 新增大屏展示模式:支持全屏展示、自动刷新、轮播展示,提供系统概览、趋势图表、系统状态等多种展示方式 - 优化WebSocket实时数据推送:实现实时数据的推送和广播,提高数据的实时性 - 新增Kubernetes集群监控:支持监控集群的节点、Pod、服务等状态 - 优化插件管理功能:改进插件的加载、卸载和热更新机制 - **v1.2**: - 新增插件市场功能 - 新增拨测任务功能 - 优化告警管理功能 - 新增邮件通知功能 - 优化报告生成功能 - **v1.1**: - 新增多环境管理 - 新增服务器管理 - 新增Agent管理 - 优化指标采集功能 - 新增备份恢复功能 - **v1.0**: - 初始版本 - 基本监控功能 - 插件化架构 - 报告生成功能 - 告警管理功能