耗时2个月做了一个适配zabbix系统的可视化平台,提供实时监控、历史数据分析和美观的图表展示。
可能大家会觉得可视化用grafana不就可以了,确实,grafana可以满足大部分需求,最佳的开源方案,我也一直在用,只是我想突破下自己,尝试自己做一个平台。
项目后续将会持续更新迭代,欢迎大家提出报告的建议。
🎯 项目概述
ZabbixWatch 是一个基于VUE3+PYTHON+FLASK+MYSQL技术栈开发的Zabbix监控数据可视化平台,旨在为企业提供直观、美观、实时的监控大屏解决方案。通过与现有Zabbix监控系统无缝对接,将复杂的监控数据转化为易于理解的可视化图表和仪表板。
✨ 核心功能
🖥️ 实时监控大屏
美观的可视化界面: 现代化设计风格,支持深色主题 实时数据更新: 自动刷新
📊 历史数据展示
主机监控: CPU、内存、系统盘、网络等系统指标实时展示 告警管理: 实时告警展示 趋势分析: 支持多时间维度的数据趋势图表
🌐 Web站点监控-非zabbix功能
HTTP/HTTPS监控: 支持网站可用性和响应时间监控 性能分析: 响应时间、状态码、可用率统计
⚙️ 系统管理
公司信息: 自定义公司名称 数据管理: 自动数据清理和存储优化 登录日志: 记录用户登录日志
Zabbix集成
ZabbixWatch与Zabbix监控系统深度集成,通过标准API接口获取监控数据:
版本支持: 支持Zabbix 7.0及以上版本 无缝对接: 支持Zabbix标准API,需简单修改现有监控配置 实时同步: 自动同步主机、监控项、告警等信息
配置步骤
1. 主机组配置
确保Zabbix中已创建以下主机组,系统将自动识别并统计各组主机数量:
2. 监控项描述配置
确保监控项描述与系统要求一致,系统通过描述字段匹配监控数据:
C:磁盘使用率 | ||
部署教程
环境要求
操作系统: Linux(X86_64) 内存: 4GB+ 推荐6GB+ 磁盘空间: 10GB+ 推荐50GB+ Docker: 20.10+ Docker Compose: 2.0+
资源消耗:
部署教程(docker-compose离线包,适配内网)
获取zabbixwatch-images-latest.tar.gz文件
私信: zabbixwatch
解压文件
tar -xzf zabbixwatch-images-latest.tar.gz
cd zabbixwatch-images-latest
一键安装
./deploy.sh
访问页面
http://你的服务器ip:8080
💡 配置提示: 修改现有监控配置,具体配置方法请参考上方zabbix集成中的对照表。
技术架构
前端技术栈
Vue.js 3.x: 现代化前端框架 Element Plus: 企业级UI组件库 Apache ECharts: 专业图表库 Vite: 快速构建工具
后端技术栈
Flask: 轻量级Python Web框架 MySQL: 可靠的关系型数据库 异步处理: 高性能数据采集和处理
部署架构
容器化: docker部署 负载均衡: Nginx反向代理
适用场景
企业监控中心
数据中心监控大屏 NOC(网络运营中心) 运维团队日常监控
主机监控
主机CPU、内存、磁盘、网络等系统指标监控 主机性能趋势分析 主机告警管理
管理决策
高管仪表板 运营数据展示 性能报告展示
版本规划
当前版本特性
✅ 基础监控大屏 ✅ 实时数据展示 ✅ Web站点监控 ✅ 用户认证系统 ✅ 容器化部署
未来版本规划
🔄 自定义图表类型 🔄 添加告警管理 🔄 支持更多监控项
技术支持
提供完善的技术支持