求零之执行者的编译链接执行

行业内各巨头的自动化运维架构嘟各种功能各种酷炫,让人可望不可及

如下图,现在行业内各巨头自动化运维架构的最终样子大家都知道了但是如何根据自己团队當前的情况一步步向这个目标演进?

笔者所在团队三个半开发,要维护几十台云机器部署了十来个应用,这些应用 90% 都是遗留系统

应鼡系统的编译打包基本在程序员自己的电脑上。分支管理也清一色的 dev 分支开发测试通过后,再合并到 master 分支

生产环境的应用配置要登录仩具体的机器看才知道,更不用说配置中心及配置版本化了对了,连基本的机器级别的基础监控都没有

我平时的工作是 50% 业务开发,50% 运維面对这么多问题,我就想如何在低成本情况下实现自动化运维。

本文就是总结我在这方面一些经验和实践希望对读者有帮助。

别說话先上监控和告警

事情有轻重缓急,监控和告警是我觉得一开始就要做的即使业务开发被拖慢。只有知道了当前的情况你才好做丅一步计划。

  • 它方便使用文本方式来配置有利于配置版本化。
  • 插件多想要监控什么,基本都会有现成的插件

以上三者,我基本都要偅新学我为什么不学一个 Google SRE 书上推荐的呢?

之前我们已经介绍过人少机器多,所以*** Prometheus 的过程也必须要自动化同时版本化。我使用的昰 Ansible + Git 实现

这里需要简单介绍一下:

有了监控数据后,我们就可以对数据进行可视化Grafana 和 Prometheus 集成得非常好,所以我们又部署了 Grafana:

可是我们不鈳能 24 小时盯着屏幕看 CPU 负载有没有超吧?这时候就要上告警了Promehtues 默认集成了 N 多告警渠道,可惜没有集成钉钉

接着,我们告警也上了:

完成鉯上工作后我们基础监控的架子就完成了,这为我们后期上 Redis 监控、JVM 监控等更上层的监控做好了准备

配置版本化要从娃娃抓起

在搭建监控系统的过程中,我们已经将配置抽离出来放到一个单独的代码仓库进行管理。以后所有部署我们都会将配置和部署逻辑分离。

我们僦是使用这种方式来组织环境变量的

现阶段,我们所有的配置都以文本的方式存储将来要切换成使用 Consul 做配置中心,也非常的方便因為 Ansible /郑州男性医院哪家好:/郑州专业男科医院【挂号】:/郑州好的男科医院:/郑州哪家医院看男科好:/郑州专业男科医院:/郑州男科医院哪里好:/.cn/12248/

参考资料

 

随机推荐