monicazhang 发表于 2017-7-6 09:00:08

去哪儿网运维平台的演进

背景1. 运维工作量逐渐增大最近几年,Qunar的网络设备数量逐年增加,但是netops的人员还一直维持在很少的几个人,单人运维工作量持续增大;2. 运维方式效率不高目前变更操作基于命令行和脚本进行,需要netops手动登录目标设备和执行操作,操作内容包含大量简单和重复的操作;3. 运维变更存在风险基于命令行和脚本的变更操作一旦操作疏忽会导致不可估量的风险,除此之外,是谁进行了什么操作,也没有记录,不利于操作审计核查。概况介绍基于上述背景考虑,给出相应的优化思路,如下:·         工具命令集成。将运维常用工具和命令集成到平台和服务中,让平台来执行频繁的重复操作;·         操作自动化。分解常见的运维内容为基础指令集,集成到平台中为一系列的可自动执行的任务列表;·         操作逻辑智能检测。对操作预检查,杜绝不可控的变更,原子操作,闭包检查,杜绝异常操作,异常自动回滚;·         操作权限分级控制。任务和用户双向权限分级,不同的操作内容设定不同的权限才可操作,不同的登录用户赋予不同的权限,如此来防止不可控的用户操作;·         操作记录追踪审计。记录每项操作的执行人,内容,时间和结果到数据库,对操作可后期审计,异常操作追溯。 结合上述优化思路和netops日常运维内容,我们上线了qunar网络设备运维平台。平台截图如下:http://www.ITILchina.cn/a/52.files/image002.jpg详细说明运维平台架构图http://www.ITILchina.cn/a/52.files/image004.jpg平台数据流图 http://www.ITILchina.cn/a/52.files/image006.jpg下面逐一介绍平台各个功能模块:1.权限控制 ·         操作权限分级,总共分为5级,权限从低到高分别为访客,只读,读写,管理员和超级管理员;

·         具体原子操作绑定对应级别的权限上,譬如访客只能查看有限的信息,只读用户可以执行读设备信息操作等等;http://www.ITILchina.cn/a/52.files/image007.pngTips:·         高权限可以赋予比自己低的权限给其他用户,可以查看自己授权的用户的操作日志。用户不能查看和自己相同权限或比自己权限高用户操作日志。·         同一个待授权的用户可以多次被授予不同级别的临时权限,在完成指定操作之后,撤销授权。在保证安全性的同时保证灵活性。2.操作及任务本平台可支持如下的自动化操作:·         扫描抓取核心交换机和接入交换机关联关系;·         抓取,备份,同步交换机全局和各个端口配置配置数据;·         端口up/down,修改端口描述,修改端口速率,端口置为trunk;·         端口分配vlan;·         端口锁定防止操作;http://www.ITILchina.cn/a/52.files/image008.png用户确认执行某项操作后,平台立即启动对应的celery任务。本平台任务分为两类任务:·         及时任务。任何平台支持的自动化运维操作对应一项celery及时任务。用户确认操作后,celery启动对应的任务,保证任务执行正确性,如果执行异常,回滚并警告用户。单个设备操作任务事实上也是自动ssh到目标机器上执行相应网络设备变更命令。·         定时任务。将一些日常运维操作映射为平台内置定时任务,可以由用户手动触发一次性或循环定时操作。http://www.ITILchina.cn/a/52.files/image009.pngTips: 所有任务均会自动记录详细日志,用户视权限在日志模块查询相应的操作日志。
http://www.ITILchina.cn/a/52.files/image011.jpg3.监控管理本平台监控两类数据,一类是网络层次,粒度的是交换机和关联的接入交换机组成的小集群;一类是设备层次,粒度是单个交换机端口。 对于网络层次监控,基础数据来源于各个交换机端口监控数据,基于核心交换机和接入交换机关联数据通过weathermap绘图,在平台上渲染展示出来。

平台可以基于设备基础信息进行自动发现:·         发现核心交换机和接入交换机关联关系,绘拓扑图;·         发现各端口状态,发现端口异常状态,譬如端口;·         发现各端口间流量负载情况,发现流量异常情况;http://www.ITILchina.cn/a/52.files/image012.png如上图所示,各个设备之间连接流量负载一目了然,灰色表示没有流量,绿色为负载正常,红色表示负载过重。 对于设备端口指标监控,基于collectd的snmp远程抓取来实现。用户在平台上管理和配置设备监控指标和模板。指标和模板变更后,平台自动通知Marathon平台更新collectd抓取集群上的抓取docker实例。设备监控指标数据抓取架构如下:
http://www.ITILchina.cn/a/52.files/image014.jpg平台监控配置有如下特点:·         配置灵活高效。可以从指标,模板,匹配规则三个维度进行配置,一旦配置完毕,新增同类新机器上架,老机器下架监控自动更新;http://www.ITILchina.cn/a/52.files/image016.jpg ·         动态扩容,负载均衡。使用docker和marathon实现抓取集群的动态扩容和负载均衡;单collectd抓取实例抓取多台网络设备指标,单抓取机启动多个抓取实例,每个机房多台抓取机来实现负载均衡。http://www.ITILchina.cn/a/52.files/image018.jpgWatcher上设备监控指标图如下:
http://www.ITILchina.cn/a/52.files/image020.jpg

持续优化http://www.ITILchina.cn/a/52.files/image022.jpg结语Qunar网络设备运维平台为了解决实际运维工作出现的难题而生,提高了运维效率,降低了操作风险,优化了运维流程。后续将针对netops面对的更复杂的问题快速迭代和持续优化。(刘亮原创)
页: [1]
查看完整版本: 去哪儿网运维平台的演进