目前国内的IT运维还处于救火队员的初级阶段,除了脏活就是累活,天天疲于奔命。什么网络中断、应用卡顿、响应速度慢,服务器宕机啊,各种突发故障都可能让业务成交失败,而查找系统运行的日志又特别费时费力,挖故障如同大海捞针啊,这着实让运维人员急得团团转。作为运维工程师的您,有木有遇到过很苦逼的经历?
yestreenstars回忆起了自己刚入职时的情景,”刚入职时平台就一堆问题等着我处理,DMZ被ARP攻击了,所有服务器之间都不能正常通信,平台隔三差五就出现问题,客服大半夜就打我电话,还好大部分问题都能通过远程处理,不然每次要跑公司就更苦逼了,那天晚上就不用睡了,今年的五一是我有生以来过得最苦逼的一次,三天假,两天半夜被叫醒,有一夜要得亲自跑公司。后来,我试过查杀服务器上的ARP病毒,结果杀软把业务程序当成木马给杀了,额的神呀!我在想我还没过试用期就要被炒鱿鱼了吗,还好后来发现有备份程序,将备份程序复制过来,启动,能用,顿时心情又好起来了。还有一次,公司的平台网址突然访问不了了,后来经过各种排查,发现是公网IP被封了,问了电信,原因是国内IP使用了国外的域名,国内IP必须使用国内域名并且域名需要备案才能使用,解封IP又要一个月的时间,于是和开发一起加班加点,将平台迁移到亚马逊上。”
lgatuk干了三年运维,也遇到过不少苦逼的事,但是既然做了这行,就得认真对待。他说,“那几次也是咬牙坚持下来了。既然做运维,又是关键行业的运维,管理着单位的好几个核心系统,必然要做到24小时开机,30秒内接听,30分钟内到达现场。单位每逢周末的晚8点档黄金时间还会电话拨测,看看我们的电话是否畅通,一个月连续3次未接到电话即被开除,可怜的外包啊。
说说我遇到的最苦最无奈的一个case吧,作为底层硬件运维工程师,必然会被应用运维、业务运维欺负,因为他们发觉应用、业务稍微有点慢或者真的有问题,他们就指责是硬件、网络问题,让我们一顿乱查。有一次,业务反应FTP业务过慢,让我们查原因,各方面都查了没有发现问题,业务那边非得让我们查,领导也无奈,说就查吧,最后查的主机都宕了,然后更换备件,CPU啊电源啊主板啊,主机起来了,业务死活起不来,后来更换了整机,对,整机,业务还是那死样,然后把业务迁移到别的主机上,业务还是起不来,我们已经觉得不用说什么,已经证明了跟硬件无关,可是人家还是不承认FTP有问题。后来不了了之了,上述所有过程均在下午6点到凌晨3点完成。因为上面证明硬件没问题,所以按照规定整机必须替换回来,我俩想着趁着现在(凌晨3点)FTP还未启动,业务那边也不着急,想赶紧把整机更换过来,请示领导后领导怕麻烦,说就先这样吧。我擦了,等以后业务起来更换更麻烦,又是申请停业务,又是写实施计划的,哎服了领导了。后来快4点了,业务都在别的主机上恢复了,我们就陆续回家了。可是就在当天早上8点,突然接到电话说赶紧赶到现场,更换回整机。CNM!”
干运维工作五年多的fengzhanhai 结合双十一也在吐槽:“每天不在救火的途中就在救火中,想想也是挺苦逼的,每天24小时随时待命,休假也只能在家附近转悠,感觉最刺激事情的就是把数据库的数据给搞丢了,公司的大BOSS都惊动了,更苦逼的这个环境没有做过备份,当时想死的心都有~哎想想都不堪回首啊~~ 对于双十一什么的,我们公司也是非常重视,不过由于在上线时我们就对架构进行了一些前瞻性的规划,比如流量控制、ESB消息队列的部署、服务降级、合理调整批量计划来规避来至各电商企业的支付请求的业务高峰~所以双十一加班也只是睡睡大觉,有什么问题监控组的同事去休息室喊一声就得了~最多的问题也就是单笔业务交易时间在某个峰值稍微变长一些,没有太激动人心的事比如核心crash什么的()对于运维工具我感觉更多的还是进行定制吧,毕竟每个公司的业务都不尽相同,当然对于一些基础需求还是可以通过一些开源工具进行解决吧比如cacti、zabbix、nagios等等。感觉监控不仅要从监控基础资源还要从监控业务方面多下工夫比如监控业务流程、每笔业务的响应时间等方面入手才能把运维工作做的更好一些~以上就这么多吧,其实还有很多细节需要我们运维工程师进行掌握,比如你所负责的系统的最大容量是多少,存储IOPS多少后会是瓶颈或者影响业务的表现、是否可以根据业务发展进行平滑的在线扩容等等。”
更雷人的是fengzhanhai为我们爆料了一名运维工程师离职前的故事,“记得在上一家公司的门户架构从设计到实施都是我一个人负责的,后来和总监之间闹得不愉快,他紧急招了几个系统工程师和一个dba来接替我的工作,一步步的把db、媒资及负载均衡设备从我工作中分割出去~记得当时的那个数据库管理员是刚刚入行,也没有做过运维工作~他来了的第二天总监就让他上生产了,结果把3台生产数据库集群搞宕机了两台,最后还是我大晚上打车到机房通过linux的救援模式恢复系统的参数得以恢复环境正常运转,还有一次他重启了其中的一台db却没有告诉我重启应用,导致应用有时能访问有时访问超时,总监一口咬定是我的web集群配置有问题,当时记得我从晚上八九点搞到凌晨2点都没解决,快凌晨三点了dba把我拉倒一边悄悄的告诉我他昨天下班后重启了db没告诉我重启web服务,到此我才知道了为啥生产会产生此种问题,最后通过重启所有web集群问题得以解决。也正是这一次生产事故让我意识到是时候离开这里了,当然这件事应dba的请求我没有告诉任何人,总是感觉现在找个工作都不容易没有必要让别人为此砸了饭碗~其实我在这里想表达的观点有以下几点:
第一、作为运维人员要对生产系统保持敬畏之心,要深刻理解你正在执行的命令;
第二、公司就像一个营盘而我们只是一个兵,我们无须为别人的错误买单~不是你的问题就大胆喊出来,既然是屌丝,我们在工作中懦弱给谁看~~
第三、公司是我们的衣食父母,我们当然要怀感恩之心,当然每个公司都有不尽人如意的地方,缘起缘灭是该离开的时候就爽快的走吧~不过走之前要保持你的风度
第四、就算这个公司的领导再混蛋他也是你的领导,就算他没有对你委以重任没能发现你的亮点也至少请你对他的位置保持尊重,否则你就像我一样会输的一塌涂地~明明付出了太多,看着公司从创建到慢慢长大却无法分享公司成长所带来的丰厚回报,记住永远不要跟领导作对,即使你掌握了公司所有技术,不要自以为是,暂时不可替代不代表永远不可替代,作为领导想要干掉一个人太简单了,要不他就不是的领导了,所以对技术人员任何时候都至少要对领导假装谦恭有礼~这样你会如鱼得水。”
从入职时的初级运维工程师,到跳槽时高级运维工程师,他们究竟在企业中处于什么样的角色?谈及前景,几家欢喜几家愁啊!
seesea2517倒是表现出了处事不惊的风度,”闲时高瞻远瞩,急时救火救灾。平时要做好规划和监控,减少紧急情况的出现,紧急情况发生时,则要有果断的判断和熟练的处理能力。”
yestreenstars 直言不讳,“运维工程师在业务正常时就是个闲人,偶尔需要发布和部署新平台,出问题时又要火急火燎地解决问题,因为你花的时间越多说明你能力越差,老板心情不好就把你给炒了,所以说运维工程师在企业中处于一个举足轻重的角色,业务正常稳定说明运维工程师的能力好,但在老板眼里可能觉得花钱养了个闲人,他看不到你是怎么将一个频繁出问题的平台变得稳定。运维又分成了很多种,一个大的公司有专门的运维部门,有负责业务运维的,有负责网络运维的,还有负责硬件运维的和开发运维的。
我挺看好运维工程师的职业前景的,其实苦逼的都是低级运维,等你做了高级运维、运维主管、运维经理、运维总监之后你才发现越往高走事情越少,最起码一般的事情都不需要你半夜起来处理。“
jie190122 倒是一脸平静:“a.运维工程师在企业中应该起的应该是管家的角色,日常起码能保证企业系统(硬件和软件)的正常运行,同时能对企业信息建设做出前瞻性的计划和操作(购买硬件/引入各种系统/提出系统整合等),并且能承担起系统开发人员与使用人员的桥梁和润滑剂(运营的优势是比系统使用人员更懂开发,比开放人员更懂系统使用)
b.其他行业不熟悉,但在旅游行业,因为业务相对复杂,但从业人员的入行槛较低,导致业务系统的开发人员一直在抱怨使用人员笨啊/懒啊/乱操作啊等, 而从同行也了解到基本每家旅行社都是这情况,而各家社的系统使用深入度基本都是很浅,都是只用到了信息录入和同步这些功能,而深入的流程监管基本没几家社能做到,这个的差别很多时候就是因为运维的团队跟不上,无法起到桥梁的作用
c.运维小组了解过的最专业的是顺丰的,据用友的哥们说,顺丰的运维团队在和用友的开发团队对接的时候,第一次就已经把所有资料准备好了,甚至有些资料用友的都没注意到;
d. 运维工程师的职业前景,我认为会越来越重要,因为随着企业的信息化越来越普及和深入,对运维工程师的要求会越来越高,运维工程师的价值型也会越发的凸显;”
lgatuk义正言辞,为运维工程师们摇旗助威,“之前跟一位EMC的老工程师聊天,聊到某公司裁员的事情,他说如果一个公司到了裁运维人员的程度,那说明这个公司已经快不行了。事实确实如此,好的运维工程师能把系统维护的很好,并不是因为工程师解决各种疑难故障的能力高,而是他们有良好的运维习惯,比如详细记录各种变更,无论多小的变更都要先申请后操作,最后记录,方便以后排查问题时的回溯。
目前只有特别大的公司才会注重运维人员,其他公司都把运维人员当成了做苦力的,并且待遇不高。他们不怕人员流失,你走可以,跟其他人把情况都交接清楚再走。这种公司不明白,再怎么交接,新的维护人员都需要一段时间来熟悉系统,并且交接过程中很容易遗漏问题。久而久之,遗留问题越来越多,等以后问题爆发时会很难处理。
我建议如果做运维,尽可能的去一些大公司,专业公司,这样接触到的知识、流程更专业、更规范,有利于以后的发展。正所谓近朱者赤。”
台上一分钟,台下十年功。有木有“万能”的工具可以解救运维人员,脱离苦海呢?大家开始出谋划策了,谈到最多的是监控工具,其次是帮助文档。
seesea2517 :“监控还是大头,用cacti、zabbix。然后就是ssh客户端putty、SecureCRT,上传下载WinSCP、filezilla,其它一大票Linux工具以及性能和进程查看命令、mysql相关命令集等。”
yestreenstars :“最常用的自然是SSH工具了,我个人比较喜欢用xshell,因为它可以配合xftp使用,使用起来又比较顺手。还有就是TeamViewer了,这个工具的好处就是不需要公网IP也能建立远程桌面连接,有了这个工具我才可以在家里远程处理问题,而且这个软件也有手机客户端,平时在外面玩的时候,平台出现小问题也可以远程解决,因为平时在外也不会带笔记本,也难以找到电脑来处理,所以用这个工具还是挺方便的。
还有另外一个远程桌面工具是RD Client,这是个手机客户端软件,是微软开发的,可以利用它从手机连接服务器,因为我用惯了TeamViewer,所以这个用得比较少。管理MYSQL的话我推荐用SQLyog,这是个图形界面管理工具,非常好用。监控的话我推荐使用zabbix,它帮助我发现了很多问题,而且自带报警功能,同时可以配合Python使用。
cu_shell:”网络分析工具,比如wireshark,监控软件,比如zabbix,CactiEZ,Tivoli等等。目前主要用CactiEZ监控网络设备和服务器流量和负载,,准备学习zabbix。“
除了监控工具,jie190122补充: ”如果真的说是万能的工具的话,那就是帮助文档,无论是给自己看给同事还是给前台的用户看,只要不断的积累,就会越来越实用,特别是团队的内部帮助文档,尽量把每次的解决思路给写进去,慢慢的你会发现大部分问题都可以用常用的几种思路解决,之前的团队在我离开前,甚至都开始能实用实习生去做日常的维护,就是因为有了帮助文档,很多操作都是傻瓜式了,但这些就需要团队一起坚持不懈的积累.“