下面先简单介绍一下个人这几年从事运维工作以来得出的感悟与体会
成都创新互联公司服务项目包括汶上网站建设、汶上网站制作、汶上网页制作以及汶上网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,汶上网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到汶上省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
1.操作系统状况检查与告警
登录系统或者通过监控报警平台查看系统运转的负载
磁盘空间状态,内存使用状态,有无报错日记, 查看报警记录等。
2.操作系统故障处理
根据检查与监控的情况,对发现的系统故障进行处理,对己知故障进行预防方案部署,在日常运维中,还会有许多其他部分提出的问题返遗,比如客户经验会反应某某地区用户访问网站速度慢
像这种情况要结合南北线路,以及用户的网络环境等综合因素进行处理。
3.服务器性能分析和优化
通过监控平台 ,在一定数据库基本的图形分析下,对特定的业务通过图形分析了解服务器压力情况
比如磁盘IO,内存使用率,CPU使用率等进行定期分析和优化。
4.备份与备份数据检查
数据库备份和恢复,是运维日常操作中最常见的操作了,一般是写计划任务对数据进行备份
但是更重要的是需要对备份的数据定期进行检查,计划任务是否成功执行,数据库份是否完整等。
5.紧急故障处理
服务器内存故障,硬盘故障,机房网络故障,每天都在发生,通过这些情况影响大,会直接惊动上司甚至全公司的关注,并且处理周期也不一定是运维人员可控的,这就对运维提出更高的要求,对于这种情况,只能平时多做功课,做好冗余方案,镜像方案,保证重要数据随时都有两份,出故障能马上切换。
随着运维工程师的职业越来越香,越来越多的人选择它来开始自己的职业生涯。
那么你想不想深入了解运维工程师的生活?他们的一天是怎么度过的?
下面让我们来看看大小牛们的自述。
在我面试了一些运维职位的同学以后,我觉得在中国很大一部分运维的同学都是每天过着我以下要提到的,我最不喜欢的最典型的一天。
我最不喜欢的一天:
早上一来到公司,就被一个跑过来的同事打断:他有一个需求。其他的同事在IM、邮件和电话中也分别提出了他们的需求。没办法,只能默默地把这些需求记在todo list上。
刚坐下,临时被拉去开一次会,同事说要怎样怎样协助他。
刚回来,发现10分钟后有一个面试。
面试回来,发现10分钟后有一个计划中的会议。
会议回来,产品功能测试完毕,要协助上线操作。
上线过程没有标准化,生产环境出错,紧急回滚。
抓来这次上线相关人员,讨论为何会出现这样的事故,日后如何规避。
回来后,再次准备上线,这次上线过程全程跟进。
终于正常上线完成了。
噢,不。只是功能上线完成,原来还有一个很大的性能问题。继续救火。
调整参数,性能调优,服务器负载终于下去了。
看一下时间,已经差不多是下班的时间了。
对着一直在增长的todo list,一脸的茫然。
以上略夸张,但是各种千奇百怪的中断确实很可怕。各类中断还有上下文切换的。很多人就这样埋没在中断中了。个人认为一个运维最应该的一天工作时间安排:
20%的时间——处理紧急重要的事情。
80%的时间——开展重要不紧急的事情的工作。
紧急重要很容易理解,其实就是救火类工作。
重要不紧急的工作,才是最能体现运维的价值的工作。监控系统,这个是一个大话题。除了被动地监控各类服务的正常与否,还有主动开发各类协助系统分析的系统,并对整个系统的未来有规划性。
性能调优是我最喜欢的一个方面。发现性能瓶颈和解决性能问题,我都很喜欢。
开发工具型系统是提高自己和团队内所有人的工作效率的一种途径,尤其是可以快速解决那些中断的工具。
学习——这个是最重要的。运维涉及的知识面非常广,不断学习才能顺利快速解决以上各类问题,不断尝试不断经历才有足够的经验遇神杀神,遇佛杀佛。
一天一天,做好重要不紧急的工作,才能令到运维工作更有效率、整个系统更稳定、未来的发展更具有预见性。
正常的一天,8点半起床,9点半到公司开始一天的工作。
1)看看昨天的超时报表,看看那个系统超时比较多。
2)从监控图中查查超时比较集中的机器、看看机器的基础监控、硬件有没有故障、有没有人误操作、有没有人在没有通知的情况下访问引擎等。查到原因,和开发商议解决方案和deadline,回复邮件。
救火:突发性故障不可避免的会产生
中断:产品、程序、QC谁都能找你,事情可能也是千奇百怪,无法一一道来
求知:你需要懂的内容可不少,包括为了“对付”上面的中断
开发:各种协助运维的系统
补漏:已经BUG,可预见性的问题、缺陷
规划:高预见性,大局观
干了几年运维,说说感受。
早上起来打开nagios,看到一串的报警,比如日志空间不足80%,某个备份没成功,某个计划任务执行失败,某个数据库的索引建立失败,等等等等….手动全部解决大约11点。
看看昨天值班的日志,各种上线,各种下线,各种修修补补,nginx主配置里增加了14行,8个配置文件;DNS配置增加N行;两块硬盘要换,一台存储机头要换,已经下线在机房等DELL过来换。给IDC的同事打电话确认这些乱事…
.
开发和测试说某个项目的性能要提升到20W/小时(其实这个项目每日独立ip没超过200),编辑说让我们给他们转换几万个文章的UID,给三个部门的header写邮件“不给项目加服务器、把转uid的任务交给dba”,然后被vp交去办公室说–要尽力配合其它部门,不能推来推去…….回去给值班的同事写邮件说把某个项目加2台服务器,怕被骂只能自己转uid….这就一天结束了。
while(1)
{
早上一般9点起床吧,折腾一下9点半到公司,一般吃着路边买的饼,一边看看kindle上订阅的新闻,技术章。上午就自己搞搞兴趣的东西,写一些改进目前工作的脚本。接受一下开发测试的咨询,帮他们搞一下研发环境的问题。下午事情比较集中,一边开会一边处理一些线上的问题,基本自己都是同时起三个以上的线上,自己的大脑不是超线程的,但是一般确实得同时搞N件事情。
到了下班时间事情还有一堆,晚上继续搞搞,每天都想早点下班,每当你准备走的时候邮件、IM和电话又来一堆。。。
回到家,上上网,看看文档,看看OS、TCP/IP等等基础的名著陶冶一下情操,搞到12点,睡觉。
}
受邀简单讲讲:
1. 处理报警,查看报警的原因,和开发一起解决,并且尽量找出避免再次发生的方法,例如添加一些定时清理脚本
2. 处理发布,基本都是自动化,但是总有发布不成功或者需要回滚的时候,这时候就需要手工介入,找到原因,并跟开发一起讨论最后是否撤销还是重上
3. 日常一起能够自动化的工作尽量找到自动化的方法
4. 会启动一些和运维相关的项目,所以有时候也兼职项目开发
5. 学习,看看新闻,学习资料等等。
个人标准,不能开发自动化运维的运维不是好运维,不能救火的运维不合格。
1,等待监控系统报警
2,核心系统巡检,备份系统备份任务完成情况巡检
3,等待用户报障
4,例行任务计划攥写,例行任务执行,比如新开用户,存储扩容等;
5,项目性的工作,比如新购存储,新的监控系统,新的操作系统,应用系统验证
6,学习新知识,看技术文档或者公司的各种通知
7,和不同供应商(工程师),内部人员开会
看看服务器日志,我们这边服务器老是宕机,原因层出不穷,然后QA、PO会有一堆问题问你,让你看看是怎么回事儿。期间会有各种会议,需要你坐在那儿聆听。最大的一部分工作就是自动化运维工具的开发。赶上版本发布,尤其坑爹,各种不休息…
看报纸、喝茶、看手机——因为都说Linux不会死机。