/ESXI-Monitoring-System

ESXI 监控系统

Primary LanguageHTML

ESXI Monitoring System

自己开发的 ESXI 监控系统

系统架构如下: 前端:基于 HTML/JavaScript 的 Web 界面,支持常规视图和大屏模式 后端:FastAPI 提供 API 服务 数据采集:PyVmomi 定时获取 ESXI 数据 数据存储:InfluxDB 存储时序数据,MySQL 存储元数据 缓存:Redis 优化查询性能

基本功能使用 **查看概览信息:页面顶部显示了 ESXI 主机总数、运行虚拟机数量、警告和错误数量等关键指标 2.查看主机状态:中间区域展示了各 ESXI 主机(如 esxi-01 至 esxi-05)的 CPU、内存使用率和虚拟机数量 3.查看资源告警:右侧显示系统产生的各类告警,包括 CPU 过高、内存不足等,并可进行相应操作 4.查看性能趋势:包含 CPU 和内存使用率的 24 小时趋势图表,可切换不同时间范围查看 5.查看虚拟机状态:下方表格展示关键虚拟机的运行状态、资源使用情况等信息 6.查看存储和网络监控:底部区域展示存储使用情况、IOPS、吞吐量以及网络流量等信息 交互操作 大屏模式切换:点击右上角的 "大屏模式" 按钮可切换到大屏展示模式,适合监控中心大屏幕展示 数据刷新:点击 "刷新" 按钮可更新所有监控数据 时间范围选择:在性能趋势和网络监控区域,可切换 24 小时、7 天或 30 天的时间范围 告警处理:在资源告警区域,可对各类告警进行处理(如迁移 VM、查看建议等) 搜索和筛选:在虚拟机列表区域,可搜索特定虚拟机或进行筛选 响应式适配 页面会根据屏幕大小自动调整布局,在手机等小屏设备上也能正常查看,不过大屏模式在小屏设备上会自动隐藏。

后端框架 Python:推荐用 Django 或 FastAPI(轻量、高性能,适合 API 开发) Java:可选 Spring Boot(生态完善,适合企业级应用) Go:适合高并发场景,可选用 Gin 框架 数据存储 时序数据库:优先选 InfluxDB 或 TimescaleDB(专为时间序列数据设计,适合存储 CPU、内存等监控指标) 关系型数据库:用 PostgreSQL 或 MySQL 存储主机、虚拟机等元数据 缓存:可选 Redis 缓存高频访问数据(如实时状态) 数据采集工具 PyVmomi:VMware 官方的 Python SDK,用于对接 ESXI 主机和 vCenter Prometheus + vmware_exporter:开源监控方案,可直接采集 ESXI metrics SNMP:用于网络设备监控(如物理交换机)

屏幕截图 2025-10-25 155014

部署建议 架构:前端(Nginx 部署静态页面)→ 后端 API → 数据库(InfluxDB + MySQL) 安全性: 后端 API 添加认证(如 JWT) ESXI 账号使用最小权限(仅允许读取监控数据) 配置 SSL 加密传输 扩展性: 若主机数量多,可分布式部署采集器 用消息队列(如 RabbitMQ)解耦采集和存储