我的运维之路
最开始的运维,就是在终端连接一台主机,远程操作。其次就是一些脚本,解放了重复。之后就是各种python脚本,python提供很多第三方库,可以提高运维效率。
接触到自动化运维工具:ansible,pupple,puppet,Func, Saltstack等一系列监控工具
但所有的资源都是分散的,所以,就要做一款自己的运维平台
Ycm是一个基于python的B/S自动化运维平台
当然,我也是站在巨人的肩膀上完成这个任务。感谢bingbing大神的代码,以及刘天斯的<<自动化运维>>一书
项目地址Ycm,我的自动化运维之路
Ycm简介
1.平台功能介绍
- 作为ITIL体系当中的一部分,本平台同样遵循ITIL标准设计规范。Ycm是本平台的名称,为了向vim伟大插件YouCompleteM致敬。Ycm实现了一个集中式的linux集群管理基础平台,提供了模块化的支持,可以随意增加集群操作任务模块,可实现日常运维远程操作,文件分发等任务,在安全方面,目前采用md5指令传输,操作日志记录,分离web server与主控设备,在效率方面,管理员只需要操作指定目标即可完成。另外采用ajax,已及mvc结构的实现。具有高度的可扩展性.
2.系统架构设计
Ycm平台采用三层设计模式
- 第一层为Web交互层,采用Django+jquery,服务器端采用Nginx+uwsgi构建高效的web服务
- 第二层业务逻辑层,有Python+Django
- 第三层为服务层
3.1 存储采用mysql
3.2 自动化运维ansible/Saltstack api
3.3 监控采用zabbix api
3.4 运维审计
3.数据库设计
- 用户列表
- 资产管理
2.1 服务列表
2.2 主机列表
2.3 IDC机房信息 - 运维审计
Ycm开发环境
- cestos 7.0
- python 2.75
- Django 1.85
- ansible/Saltstack/Func(其一) api
- clobbe