运维工具体系

标签: 运维 | 发表时间:2015-07-13 15:02 | 作者:taowen
出处:http://segmentfault.com/blogs

运维流程管理工具

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

告警和突发管理工具:体现业务受损的告警自动建单管理。人工确认之后升级为突发单。通过建单管理告警和突发确保流程的闭环,以及每次故障都能够总结出经验,并未度量业务的可用性提供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安装,指标采集设置,指标曲线展示,告警查询的界面。一个地方知道现网的所有的问题。

相关 [运维 工具 体系] 推荐:

运维工具体系

- - SegmentFault 最新的文章
发布变更流程管理工具:做为系统接口与其他角色的工作衔接. 并提供审批环节控制发布变更的风险. 流程管理工具并不负责具体的业务操作的执行,只是作为单据系统跟踪流程和确保闭环. 告警和突发管理工具:体现业务受损的告警自动建单管理. 通过建单管理告警和突发确保流程的闭环,以及每次故障都能够总结出经验,并未度量业务的可用性提供KPI.

Linux运维领域的开源工具体系汇总

- - 运维派
dd, fio(IOPS测试),iozone(磁盘测试). rpm,yum(设计rpm包定制及yum仓库构建). 原文出处:http://oldboy.blog.51cto.com/2561410/775056/.

linux集群运维工具:clustershell和pssh

- - Linux - 操作系统 - ITeye博客
由于需要安装hadoop集群,有10台机器需要安装,一开始打算用SCP复制,后来觉得不可接受(实际现场可能数倍的机器集群,就是10台也不想干). 后来在网上找了,发现了clustershell和pssh这两个工具. 这两个工具随便用其中一个就可以了. 环境说明:centos6.5机器10台. 需求:确定一个主机A,通过在A上执行命令即可同步在其他节点上执行.

自动化运维工具Ansible详细部署

- - 开源软件 - ITeye博客
ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能. ansible是基于模块工作的,本身没有批量部署的能力. 真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架.

公有云运维福利:开源监控小工具 Open-Falcon 插件 cloud-mon

- - IT瘾-dev
本文介绍了一款基于Open-Falcon的公有云运维监控工具及使用说明. 上篇文章回顾: 使用python实现简单的共享锁和排他锁. 背景 当你成为公有云的一名管理员,权限和安全之间的权衡便成为了始终萦绕在我们身边的一个话题. 每天在我们专心解决问题,或者code的时候,一会儿有人来找你:能不能帮我们看看××× 机器所在的NAT网关带宽多大呀.

Java应用运维

- - BlueDavy之技术blog
对于互联网产品或长期运行的产品而言,运维工作非常重要,尤其是在产品复杂了以后,在这篇blog中就来说下Java应用的运维工作(ps:虽然看起来各种语言做的系统的运维工作都差不多,但细节上还是会有很多不同,so本文还是只讲Java的). 苦逼的码农按照需求开发好了一个全新的Java Web应用,该发布上线给用户用了,要把一个Java Web应用发布上线,首先需要搭建运行的环境,运行的环境需要有JDK、APPServer,在已经装好了os的机器上装上JDK和APPServer,开发好的Java Web应用可以用maven直接打成war或ear,将这个打好的包scp或其他方式到目标机器上,准备妥当,就差启动了.

ZooKeeper运维经验

- - Juven Xu
ZooKeeper 是分布式环境下非常重要的一个中间件,可以完成动态配置推送、分布式 Leader 选举、分布式锁等功能. 在运维 AliExpress ZooKeeper 服务的一年多来,积累如下经验:. 3台起,如果是虚拟机,必须分散在不同的宿主机上,以实现容灾的目的. 如果长远来看(如2-3年)需求会持续增长,可以直接部署5台.

hadoop运维笔记1

- - 企业架构 - ITeye博客
hadoop使用中的几个小细节(二). 1 某次正常运行mapreduce实例时,抛出错误. 经查明,问题原因是linux机器打开了过多的文件导致. 用命令ulimit -n可以发现linux默认的文件打开数目为1024,修改/ect/security/limit.conf,增加hadoop soft 65535.

Redis运维之道(视频+PPT)

- Adam - NoSQLFan
本文作者是新浪网首席DBA杨海朝同学(@jackbillow),在新浪微博后端对Redis的大量使用的背景下,海朝对Redis的运维与优化也积累了丰富的经验,下面就是其演讲PPT和演讲视频,内容丰富,强烈推荐. 新浪 杨海朝 Redis运维之道 View more presentations from guiyingshenxia.

【转】给力的运维shell命令

- Greyby - FeedzShare 3天最热
来自: 在路上 - FeedzShare  . 发布时间:2011年03月31日,  已有 18 人推荐. 1.显示消耗内存/CPU最多的10个进程. 2.查看Apache的并发请求数及其TCP连接状态. 3.找出自己最常用的10条命令及使用次数(或求访问最多的ip数). 4.日志中第10个字段表示连接时间,求平均连接时间.