部门今年计划做一个将运维数据可视化的项目。由于公司产品有很多个,产品上又有大量的业务数据和监控数据,却零散的分布在不同地方,没有很好的整合到一起,所以出现问题时有时候很难定位,都是靠老员工凭经验来解决问题。
于是想整合运维数据,打造一套系统来直观的反映产品线的健康状况,展示业务上的使用量和监控各种资源的使用情况,预防和降低产品线上的问题,提高定位问题的效率,也借此去推动其他部门提高产品线的服务质量。
开发框架目前还在搭建中,所以考虑接下来写成技术文章,记录这个过程,一来给自己作总结,二来希望能对其他人有帮助。
开发框架被设计成前后端分离的架构,目前使用以下的技术栈,后面可能会有变动。
-
前端
- Vue (https://cn.vuejs.org/v2/guide/)
- Element UI (http://element-cn.eleme.io/#/zh-CN)
- Echarts (http://echarts.baidu.com/index.html)
-
后端
- Python2.7 (https://docs.python.org/2/tutorial/index.html)
- Django 1.11 (https://docs.djangoproject.com/en/1.11/)
- Rest Framework (http://www.django-rest-framework.org/)
-
数据库
- Mysql (https://www.mysql.com/)
-
部署
- Docker (https://docs.docker.com/)
大体工作流程如下,后台提供restful API, 由其他地方(zabbix 等)将产品线上的运维数据POST 过来。
前端请求restful API 获得数据, 将数据做成各种图表进行展示。
图片.png
做这种可视化的系统应该还有其他现成的框架可以用, 不过我想借这个机会折腾一下(毕竟我所在的部门平时写代码的机会太少了),自己动手搭建一套可用的Web App 的框架,学习一下整个Web App的开发部署上线的过程。
加油吧,少年!!
网友评论