美文网首页Devops
Devops之运维平台构建

Devops之运维平台构建

作者: dennyhong | 来源:发表于2020-05-13 10:40 被阅读0次

    写在前面的话

    如今很多人认为devops将彻底取代传统运维,我不这么认为,在我看来devops只是很大程度上的代替了传统运维的手工操作,运维人员只需写好自动化运维脚本,利用自动化工具(zabbix,elk,ansible等)就可以实现自动发布和监控,省去了很多人力。因此Devops能否顺利落地,运维平台的建设将会很重要。本文主要简单介绍下我司的三大运维平台。

    运维职责

    运维平台

    当前我司运维平台主要有3个:

    持续集成和交付

    ①基于Jenkins持续构建

    ②支持容器化打包和部署

    ③发布平台,支持灰度发布,异常快速回滚

    监控告警平台

    ①完善的监控体系:覆盖机器、网络、服务和客户设备维度

    ②快速的异常发现和告警

    ③灵活的告警通知方式:LCP、邮件、微信、电话

    问题定位平台

    ①基于ELK实现日志采集、上报、告警

    ②采集软件平台所有组件的运行日志

    ③通过调用链分析和定位设备问题

    平台运营情况

    持续集成和交付

    持续集成(CI),微服务组件全部改造成容器化部署,并通过K8S实现编排。

    持续交付(CD),做一个版本发布平台:支持灰度、蓝绿发布、版本回滚。

    监控平台

    公司之前一直使用的是zabbix+grafana的监控方式,随着我们的微服务推行容器化后,k8s应用的监控需求增加,Prometheus会更适合容器的监控。另外,Prometheus用的就是自研的 TSDB,Zabbix 则用的是 MySQL 或 PostgreSQL,在高并发的情况下,时序型数据库读写性能是远高于关系型数据库的,同时还提供了很多内置的基于时间的处理函数,简化数据聚合的难度。因此我们现在也逐步将Zabbix迁移到Prometheus。目前监控平台采集覆盖基础资源38项,102个组件、9项业务监控。

    问题定位平台

    背景:线上用户反馈设备使用异常,研发或QA介入排查,经常出现问题定位时间太长,问题反馈不及时,客户体验较差。因此需要开发一个问题定位平台,聚合一些设备日志和监控数据进行分析,缩短研发定位时间。

    模块涉及到主要概念

    •Flow:表示处理问题的流程

    •Action:表示Flow中需要执行的操作,是有序的,是在程序中封装好的对数据源的小粒度操作

    •Situation:用户定义的问题场景,用于描述该问题场景下日志的分析规则

    situation由用户创建,在查询时需要指定该参数,会根据situation中的规则分析出请求日志之间的顺序。

    平台演示

    后记

    这三大运维平台用的都是开源系统,总共有12个系统,Sonar、Jenkins、Ranche、Consul、ELK、Admin-Service、Zabbix、Prometheus、Smokeping、Grafana、Skywalking、Jumpserver。后续会基于Jenkins开发一个Devops集成平台,将这些系统进行整合,以便更好地支持前端业务交付。

    相关文章

      网友评论

        本文标题:Devops之运维平台构建

        本文链接:https://www.haomeiwen.com/subject/hdggnhtx.html