1 简介

在整个的运维环节中,对产品的持续构建(CI)持续部署(CD)伴随着产品的整个生命周期。 一个运行良好的运维系统可以辅助提升运营效率,达到持续运营(CO)的效果。OPEN-C3为解决CI/CD/CO而生。

1.1 名字的由来

对于运维来说,CI/CD很容易理解,就是持续的构建,持续的发布。但是对于Open-C3来说,我们想做的更多,运维不仅是要持续的构建持续的发布应用。还需要监控业务的状态,在业务异常时候作出相应的调整。或者根据业务的需求进行业务部署的调整。系统运维的工具平台能为业务运营提供工具和平台的支持。举个游戏行业的例子,比如对于游戏的运营,运营团队根据在线人数等数据,可能会做出决策,需要开一个新的区域。 这时就可以通过平台里面编排的流程进行一键的创建。这就是运维工具为运营提供了支持。所以我们CO的概念。

CI/CD/CO 我们称之为C3, 同时3有“多”的意思。我们希望可以持续的做一些事情。包括C3这个项目本身,希望可以持续的做下去。

1.2 适合的读者

本文主要是对运维和运维开发的人员讲解Open-C3的功能和使用方式。如果你正考虑在一个新的企业环境中构建一个自动化运维平台,如果你正考虑使用Open-C3,那么这个指南正合适指导你一步一步的进行安装和使用。

1.3 阅读方式

Open-C3中的功能太过复杂,我们在github中存放了使用手册,但是不熟悉Open-C3的初始用户,可能感觉无从下手。该指南最为主要的功能,就是告诉用户,在一个新企业中,怎么一步一步的把Open-C3安装、配置、使用起来。在能讲明白这个的事情之上,才会做一些更深入的探讨。

除了第一章,后面的章节都是按照顺序进行的,最好按照顺序阅读和实施,这样更容易理解。

1.4 功能概览

Open-C3提供了一个完整的自动化运维平台,下面具体讲解每个模块的主要功能和职责。

 

1.4.1 CMDB

I ) CMDB主要功能:

1)提供一个完整的记录企业资源/资产的数据库

  • 支持的公有云但不限于:AWS、腾讯云、华为云、阿里云、谷歌云、金山云。

  • 私有云: OpenStack

  • IDC资源: 主机、数据库

2)提供搜索功能

  • 模糊全局搜索,比如搜索一个IP

  • 根据不同的过滤条件过滤资源

3)提供时间机器功能,可以选择回看历史记录

4)提供资源的一些常规操作:

  • 给资源打标签(tags)

  • 给资源添加备注

  • 查看资源监控信息【跳转到监控系统页面打开对应资源的监控】

  • 查看资源详情

5)提供服务树分组功能

  • 服务树是Open-C3中是一个很重要的概念,资源、监控策略、发布流水线、权限等都是跟服务树进行关联。

6)给其它子系统提供数据

  • 给监控系统和发布系统提供资源分组

II) 次要功能:

1)提供服务分析能力

  • CMDB中包含中包含了企业基础所有的资源列表和详情。可以跟进这个内容生成调用关系。

2)为第三方系统提供接口

  • 给堡垒机提供资源列表

1.4.1.3 界面截图:

  (CMDB资源概览)

  (CMDB服务分析图)

1.4.2 监控系统

I ) 主要功能:

1)支持监控常规资源:主机、Mysql、Redis、MongoDB

  • 除了常规指标,还支持自定义进程、端口等监控

2)支持云监控:阿里云、华为云、AWS、谷歌云、腾讯云 等。

3)支持kubernetes监控

4)支持根据服务树纬度查看资源看板

5)提供告警处理功能

  • 提供页面显示当前告警列表

  • 告警认领、告警屏蔽、告警升级功能

II ) 次要功能:

1)支持其他类型监控,如: ssl证书过期、域名监控

III ) 界面截图:

  (主机监控图)

  (数据库监控图)

  (kubernetes集群监控图)

  (当前告警页面)

(告警消息)

1.4.3 发布系统

I ) 主要功能:

1)支持发布流水线,支持传统主机发布、支持Kubernetes应用发布

  • 支持主机分批发布

  • 支持一键回滚

2)发布过程有支持审批步骤

II ) 界面截图:

  (某个服务树的流水线列表)

  (单个流水线)

1.4.4 故障自愈

I ) 主要功能:

1)支持监控告警和作业进行关联,起到告警触发修复作业的作用。

II ) 界面截图:

  (故障自愈触发列表页)

1.4.5 工单

I ) 主要功能:

1)支持工单的生命周期管理:工单创建、分配、处理、关闭。

2)支持消息通知。

II ) 界面截图:

  (工单首页)

  (工单提交页面)

1.4.6 BPM流程

I ) 主要功能:

1)自动化流程支持创建云资源或者修改云资源配置: 

  • 腾讯云: CVM、CLB、Mysql 等

  • AWS: EC2、SQS 等

  • 谷歌云:VM、LB 等

2)流程过程支持审批

3)流程系统支持对接工单

II ) 界面截图:

  (流程提交页面)

1.4.7 成本优化

I ) 主要功能:

1)自动识别低利用率资源 

  • 主机: 主机利用率、磁盘利用率

  • AWS: RDS、Redis、ALB、ELB、NLB, AWS磁盘卷

  • 腾讯云: CLB、Redis

  • 华为云:RDS、Redis

2)添加费用计算功能,计算服务树费用、资源费用

  • 支持: 华为云、AWS

II ) 界面截图:

  (低利用率资源查看页面)

1.5 开源说明

Open-C3使用GNU许可(GNU General Public License,简称GPL),可以自由使用。允许任何人自由运行、研究、分享和修改。