运维职责什么是运维?运维职责互联网运维工作始终以服务为中心,以保证产品的稳定、安全、高效运行为目标•指产品向用户提供服务的可用性、准确性、完整性,访问速度及用户体验符合产品的设计与预期稳定•指产品运行在安全,可控的状态下,包括用户访问安全,抵御恶意攻击,网络故障,数据安全等抗风险能力符合产品的服务要求安全•指系统运营的效率、以较小的资源投入带来最大的用户价值,如单机负载、资源利用率、数据传输效率、更新周期等高效运维职责运维的工作有哪些?运维职责故障管理数据备份监控安全扫描日志统计系统安装机器采购网络管理故障处理IDC管理数据库访问质量标准制定LVSnginxhadoop服务变更域名管理CDN资产管理预案整理硬件测试压力测试工具开发cronntp运维工作系统运维IDC、网络、CDN和基础设施(lvs,ntp,dns等)建设、资产管理平台和服务器采购、安装、上架和维修应用运维日常业务运维工作,参与服务变更、监控、容灾和数据备份,每日服务排查,故障应急处理以及常规运维工具开发工作DBA负责数据库设计、优化,以及类SRE的变更、监控、数据备份和报警处理工作。还负责数据库管理平台、中间件开发以及数据库安全工作运维研发运维平台开发工作,如监控、服务管理等各种运维自动化系统/平台。运维安全安全体系加固,入侵检测,安全事件处理,常规安全扫描,渗透测试应用运维系统运维DBA运维研发运维安全网络IDC安全内核CDN虚拟化资产管理、采购运维部测试部运维工作NSRDNSQANSOPECOMRDECOMQAECOMOPPSRDPSQAPSOPINFRDINFQAINFOPDBAOPED(运维平台研发)OPTC(运维技术委员会)系统部SYSTC(系统技术委员会)运维工作——应用运维1设计评审参与RD发起的产品设计评审,从线上部署和运维的角度提出评审意见。服务变更编制或审核上线步骤、回滚方案确认是否可以触发变更及变更效果是否符合预期紧急情况下控制回滚服务管理掌握所负责的服务及服务间关联关系、服务各种资源能够发现服务上的缺陷,能及时通报并推进解决理解运维相关文档,及时更新运维相关文档。机器管理熟悉服务器资源状况,机房分布情况,不出现机器遗漏或丢失的情况合理使用服务器资源,根据不同服务的需求,安排不同配置的服务器,不浪费机器资源保证服务器正常运行,对服务器硬件添加或变更来解决资源不足问题例行检查理解例行检查列表的内容、检查项的含义以及可能引发的问题按照例行检查表,定期检查系统状态,发现异常立即通报并推进解决定期检查线上服务模块,排除可疑进程,发现问题及时通报理解监控和统计报表的各项含义,每天定时检查报表,发现异常立即通报并推进解决制定服务例行检查要点和方法,部署执行并不断完善,避免检查的盲点运维工作——应用运维2预案管理确定服务所需的各项监控、系统指标的阀值或境界点,以及出现该情况后处理预案建立和更新服务预案文档,并跟据日常故障情况不断补充完善,提高预案完备性能够制定和评审各类预案,安排预案的演练,提高可执行性数据备份按线上数据备份规范来进行数据备份工作保证数据备份可用性和完整性制定数据备份策略,根据备份要求及时变更定期完成数据恢复性测试监控与统计执行监控配置,并完善监控内容,提高报警准确度完成服务的各种监控、运维报表开发,并不断完善故障处理熟悉服务日常故障处理方法和预案执行要点对已知线上故障能按流程进行通报并按预案执行及时处理并回复相关的服务报警信息能透彻分析报警原因,并推动报警问题解决能发现服务隐患,总结处理方法和提出预案改进建议运维工作——应用运维3预算管理熟悉服务模块的极限压力数据和评估方法清楚了解服务预算公式和各种考虑因素(如内存、硬盘等)协调相关RD/PM,定期修订服务预算公式,并编制产品线硬件预算参与新型硬件设备的调研、测试及产品线硬件的选型服务优化发起或参与针对现有服务性能调优工作,并总结形成优化方法针对新模块、新服务,能提出优化的部署方案并安排实施根据业务需要,制定服务调整、迁移方案不断完善和优化程序和系统的功能、效率,提高运行质量制定服务稳定性指标及准入标准某公司人机比例2005年49711452006年115821552007年300042712008年419682515507060504030201090800服务器数人数人均服务器35003000250020001500100050045004000服务器数与人数的比值45服务器数增长曲线71人数增长曲线5107年人数的增幅没赶上服务器的增幅,这年大家更累了运维压力业务发展得很快,而运维处在产品末端,将全周期地承受着产品与缺陷带来全部压力任何产品,需求、设计、测试的周期都是有限的,但是其运维周期是无限的在上游引入的任何缺陷,最终都由运维承担;但上游是无法感受到运维压力的随着业务增长,产品与缺陷带来了极大的运维压力HOW?运维压力依赖人的手工操作是当前运维的主流方式虽然有工具、系统,但是分散、零乱,无法产生规模信息关联方式简单,信息挖掘基本靠人,无法进行大信息量处理与分析,信息孤岛林立重复性工作较多,效率较低,实时性不高人工失误率无法消除,几乎成为“系统误差”HOW?运维压力日益增长的业务量带来的运维压力和落后的运维生产力之间的矛盾降低运维压力提高运维生产力内部外部控制缺陷运维标准减少人工运维平台服务体系集合角度Association思维角度Thinking规则角度Rules运维体系Architecture动作流程规范标准命令工具系统平台想法概念理念理论依赖人不依赖人体力密集型脑力密集型G1原始时代G2农耕时代G3工业时代现状G4高科时代服务平台OUTLINE运维标准资源管理监控告警服务变更容灾预案运维安全运维效率11UU运维标准标准化是服务可运维的基础,也是实现自动化的必要条件基础设施服务器标准化套餐,均衡型、高IO、高CPU..机柜使用标准布线标准标签和二维码IP使用标准环境操作系统版本统一centos/redhat…系统参数初始化标准部署路径,/home/work?/opt?生产环境账号,root?work?主机命名规范jx-cp-se00.jxsd-im-mq01.bj?agent部署和升级标准应用日志输出和切分的规范./run.shstart/stop/restart/status应用启停接口端口使用依赖标准45U313131311UUUUUUUUU1U3U83U83U83U8ILOTOR111112121UUUUUUUUUOUTLINE运维标准资源管理监控告警服务变更容灾预案运维安全运维效率资源管理资产管理服务器IDC机柜IP域名网络设备配件采购时间所属机房…预算单产品线机房系统版本机器列表型号配置到货时间服务器IP机架位置……报废资源管理机器交付新采购机器故障服务管理,以树的形式将硬件资产、应用服务、人和权限等多维度信息关联产品线-服务-模块机器-模块模块-进程服务-监控模板机器-人产品线-域名模块-状态、路径、版本…资产管理系统运维服务管理应用运维资源管理资源管理总体资源使用情况,各个部门、各个产皮线资源使用情况是否充分使用?是否有资源闲置?新采购原因和历史?OUTLINE运维标准资源管理监控告警服务变更容灾预案运维安全运维效率监控告警价值通过各个层面的报警,快速的定位和发现故障能够监控的数据展示,反应业务的容量和性能能够清楚的通过数据来量化业务运行状态监控分类机器监控CPU内存磁盘IO网卡流量存活性网络设备服务监控进程端口语义访问质量监控告警传统的监控方式使用zabbix、Cacti、Nagios等..使用snmp或agent的方式,采集机器监控和网络设备信息通过监控应用的端口或进程,监控应用是否正常可以自己编写插件,通过agent调用,获取应用运行的状态监控告警主动监控程序在运行时,主动反馈自身运行状态的计数器参考stathat.com,很简单的方式上报stathat.ez_post_count(‘xxxx@163.com',‘nginxqps10.234.5.19',300)监控告警域名监控从全国多个节点监控域名的可用性同时提供访问质量监控前期可以采用监控宝等第三方监控服务访问质量JS检测URL多地域监控页面优化采用基调等第三方服务进行监控,阿里测等进行页面分析监控告警分布式跟踪系统GoogledapperTwitterzipkin淘宝鹰眼监控告警进程监管作用:当被监控的进程退出时将它自动重启,避免由于进程意外退出而导致服务不可用使用:百度使用qmail里的supervised程序,通过supervised监管进程很多公司使用开源的supervisord,和supervisord类似god,=133有详细介绍当进程退出后自动将应用重启,能够限制重启次数和时间支持start/stop/status等接口,启停进程,查看状态能够对进程资源进行限制,比如mem超过500mb则进行重启提供方面的接口,可以在应用启动、停止等情况是添加自定义行为监控告警报警合并66%报警分级告警依然太多,避免重要短信被淹没梳理告警,划分为5个级别,P0~P4OUTLINE运维标准资源管理监控告警服务变更容灾预案运维安全运维效率服务变更服务变更adserver||---bin||---adserver||---conf||---adserver.conf||---data||---data1||---data2||---log||---adserver.log||---adserver.log.2012121910||---adserver.log.2012121909||---script||---run.shadserver.confip_0_0:10.0.0.1ip_0_1:10.0.0.2ip_1_0:10.0.0.3ip_1_1:10.0.0.4Data_index:0/1服务变更手工操作forxin`seq0010`dosshjx-cp-se$x.jx‘dosomething’done批量操作lh系列工具lhjx-cp-se-*获取列表lhckjx-cp-se-*‘dosomething’lhscpjx-cp-se-*local_filework@~/xxx/服务变更WEB操作标准程序启停方式标准化,统一的run.sh接口,支持start、stop、restart、healthcheck….服务部署路径的标准化,避免繁琐的配置变更前备份方式的标准化,路径、命名规则、备份方式……服务通过服务树进行管理,可以方便的进行筛选,部署一批同类型的服务所有机器上都一个负责具体命令执行和反馈的agent功能选择需要部署的服务树节点,提供筛选功能选择服务本次变更的版本,因为之前已经在服务树上把服务和SVN关系进行了绑定只能在线上已运行服务的基础上,做增量上线,替换每次需要升级的bin,不影响data、conf、log提供一个web化的配置文件编辑器,每次发起部署任务前,先把线上每台机器的配置文件拉回本地进行批量编辑因为之前做了服务启停标准,所以只需要配置stop,start,还是restart等命令执行顺序即可可以设置暂停点,如部署完第一台服务器后暂停,运维人员观察确认后再批量执行支持与监控系统联动,在部署该服务器时,暂停该服务器上对应的服务监控,部署完成后调用healthcheck和开启监控,如果发现问题则暂停批量任务。服务变更WEB操作问题配置变更复杂情况或极简情况前置、后置动作依赖关系数据依赖外挂型部署系统服务变更动态调度机器IDC单机下限存活性动态调配任务优先级并发度资源使用数据准备预算组内任务端口唯一任务ID全局唯一taskidclusteriduserididc组合支持supervise功能定时任务根据预算组资源,运行时部署服务变更任务整体发布,可随意迁移.app任务包含数据依赖描述文件数据和任务分离,固定存放通过注册+订阅的方式,dataid全局唯一