浅谈运维工具体系

运维行业正在变革,推荐阅读:30万年薪Linux运维工程师成长魔法

运维流程管理工具

发布变更流程管理工具:做为系统接口与其他角色的工作衔接。并提供审批环节控制发布变更的风险。流程管理工具并不负责具体的业务操作的执行,只是作为单据系统跟踪流程和确保闭环。

告警和突发管理工具:体现业务受损的告警自动建单管理。人工确认之后升级为突发单。通过建单管理告警和突发确保流程的闭环,以及每次故障都能够总结出经验,并未度量业务的可用性提供KPI。

运维发布变更工具

版本管理工具(数据库):所有的发布应该以版本管理为起点。研发给的版本包先入版本管理工具,再从版本管理工具分发到现网发布。杜绝 rsync 一台服务器发布另外一台的做法。

配置管理工具(数据库):版本加配置等于现网每台机器的状态。最粗粒度的配置管理是到 IP 级别,相当于对机器做资产管理,分组到不同的业务,模块和大区等业务概念上。细粒度一点会管理到进程以及进程的相关的配置。

配置和版本下发工具:把指定的版本,结合配置好的配置下发到现网的机器上。不同的版本和配置方式需要完全不同的下发方式。以 ssh/fabric 为代表的下发方式是以脚本为中心的。以 puppet/chef 为代表的下发方式是以配置为中心的。

现网状态同步工具:为了规避现网状态漂移,与管理工具内的记录不一致。需要有一个工具定时上报现网的实际状况。

服务调度工具:发布变更经常需要一个串行的流程,先做A模块,再做B模块。很多机器的时候,需要把能并发的操作并发执行,不能并发的操作确保串行执行。同时很多发布变更流程需要操作管理范围外的服务,比如云端的DNS服务器记录等。这就需要有一个服务调度工具统一调度配置和版本下发工具,流程单据工具,以及其他系统的API接口共同组装成一个流程。

资源管理和隔离工具:以xen/kvm为代表的工具让运维可以更灵活的切割资源。比如虚拟机的快速起停,ip在idc内的漂移等。以 lxc/docker 为代表的工具让运维可以进一步的切割资源到进程级别。资源隔离代理的细粒度的资源控制可以获得更好的资源利用率,以及更容易进行可伸缩的资源配置。

发布变更统一界面:包装所有的下层工具,提供简单的界面完成标准化的发布变更操作。

运维监控告警工具

采集工具:一般是采集日志文件,也可以是定时轮询 DB 或者其他系统的接口。流行的开源方案是 logstash。

收集工具:采集工具上报给收集工具。或者由开发直接修改代码上报指标给收集工具。流程的开源方案还是 logstash。

统计入库工具:上报可能是每次调用就上报一次,统计工具负责统计出一分钟内的次数。上报也可能是每5秒上报一次数值,统计工具负责统计出一分钟内的最大值。统计工具的存在是为了上报的方便。流行的开源方案是 statsd,也有大公司基于 storm 来做二次开发的。

时间序列数据库:所有定时指标会落地到数据库里。监控告警所需要的数据库需要能够支撑非常大的数据量,但是并没有很严格的 ACID 要求。

运维事件数据库:记录所有的告警。包括从其他系统获得告警,以及对现网的所有变更操作记录。这些数据用于支撑告警的原因定位。

指标异常检测工具:基于数学模型发现指标是否与过去的稳定模式背离,而推测出现网状态的变化。

拨测工具:定时 PING 或者 HTTP GET,模拟实际用户发现服务是否中断,产生告警。同时也产生指标上报给收集系统。拨测又分为本地拨测,和远程拨测。本地拨测可以用于发现磁盘只读等本机告警。远程拨测可以模拟用户的地理分布,把网络的链路状况也包含在拨测覆盖的范围内。

告警收敛工具:综合所有来源的告警,进行频率收敛,根源分析。统一汇总成报告催促人工修复。

告警自动修复工具:接受告警进行自动化的处理。帮运维完成固定的故障机下架退库等操作。或者在业务本身没有做高可用的情况下,做故障机替换,ip漂移等现网修复操作,一定程度地提高业务可用性。

告警通知工具:重要的告警需要升级为电话。需要有高可用的电话,短信,微信等通知接口。

监控告警统一界面:屏蔽下层各种工具,提供统一的agent安装,指标采集设置,指标曲线展示,告警查询的界面。一个地方知道现网的所有的问题。

原文:taowen 链接:http://segmentfault.com/a/1190000002984400


原文发布于微信公众号 - 马哥Linux运维(magedu-Linux)

原文发表时间:2018-02-04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Petrichor的专栏

git: 简洁高效 的 双分支式 git flow (master + dev)

使用 git branch (git 分支)进行版本控制,可以让大家有效地合作,使得项目井井有条地发展下去。

2163
来自专栏Linyb极客之路

分布式系统常见的事务处理机制

为保障系统的可用性、可靠性以及性能,在分布式系统中,往往会设置数据冗余,即对数据进行复制。举例来说,当一个数据库的副本被破环以后,那么系统只需要转换到其他数据副...

803
来自专栏Youngxj

emlog评论排行榜插件

2593
来自专栏逸鹏说道

基于HTML的PDF展示 pdf.js

很不错的一个插件,推荐给大家 pdf.js 是一个技术原型主要用于在 HTML5 平台上展示 PDF 文档,无需任何本地技术支持。 ? 在线演示:http://...

4198
来自专栏SAP最佳业务实践

SAP最佳业务实践:FI–应收帐款(157)-2客户主数据

4 流程步骤 4.1 创建客户主记录 在此活动中,可以创建客户主记录。 要执行该活动,使用此凭证中的主数据,运行创建客户主数据 (155.18)业务情景中的...

2953
来自专栏极客猴

10张图带你了解后台服务架构演变

上篇文章讲了一些高并发相关的知识,相信大家对高并发有些简单的认识。说到高并发,往往离不开分布式系统。人们经常将两者拿来一起讨论,因为高并发(High Concu...

9002
来自专栏性能与架构

构建可伸缩的Web架构

互联网产品的一个特点是开始的时候规模都很小, 几个人的小团队,少量的启动资金,就开始运营了 刚开始的时候,用户也少,所以只要一台服务器就可以应付所有的用户访问...

4286
来自专栏听雨堂

Python练习环境搭建-引入预定义数据

学习Python,有大量的需要在交互式环境下练习的项目,这时数据来源就很麻烦了,手工输入太慢,写到程序中,运行方便,但各种实验又不方便。昨天试了半天也无法从vs...

2007
来自专栏区块链

扫码登录的安全性分析

时至今日,各大互联网公司都已提供并鼓励使用扫码登录功能。扫码登录通过二维码在设备之间传递信息,使得用户可以使用安全可信任的设备(比如自己的手机)来控制不可信任的...

3049
来自专栏BeJavaGod

Shiro系列(2) - 权限模型以及权限分配的两种方式

顶级账户分配权限 用户需要被分配相应的权限才可访问相应的资源。权限是对于资源的操作一张许可证。给用户分配资源权限需要将权限的相关信息保存到数据库。 这些相关内容...

3294

扫码关注云+社区

领取腾讯云代金券