Ycm,我的自动化运维之路

我的运维之路

最开始的运维,就是在终端连接一台主机,远程操作。其次就是一些脚本,解放了重复。之后就是各种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平台采用三层设计模式

  1. 第一层为Web交互层,采用Django+jquery,服务器端采用Nginx+uwsgi构建高效的web服务
  2. 第二层业务逻辑层,有Python+Django
  3. 第三层为服务层
    3.1 存储采用mysql
    3.2 自动化运维ansible/Saltstack api
    3.3 监控采用zabbix api
    3.4 运维审计
3.数据库设计
  1. 用户列表
  2. 资产管理
    2.1 服务列表
    2.2 主机列表
    2.3 IDC机房信息
  3. 运维审计

Ycm开发环境

  1. cestos 7.0
  2. python 2.75
  3. Django 1.85
  4. ansible/Saltstack/Func(其一) api
  5. clobbe

功能简介