面试的时候,面试官有可能会问你,你之前运维都做哪些工作。通过你的回答,他可以判定你到底有没有做过运维。下面我给出一些答案,希望能帮到你。
1.看监控中心,处理警告问题,注意,这里的警告问题并不是那种故障问题,故障问题平时一旦接到告警短信我们第一时间就已经处理了。这里的问题可以不用马上解决,但也有潜在风险的问题。举例,比如磁盘分区超过80%、某台机器负载长时间偏高(超过20)、某台mysql的慢查询日志数量比较多、某台nginx服务器偶尔出现502状态码等等
2.编写或者优化运维脚本。 啥脚本呢?比如备份mysql的脚本、监控某个服务的脚本、自动化发布的脚本反正只要是方便我们运维工作的脚本都写。
3.根据开发或者运营同事的需求,部署或者配置环境,当然也会写一些脚本。 比如,今天开发同事上线了一个新的业务,那么就意味着要新增一个虚拟主机,nginx和php-fpm都要配置,还有要修改dns解析等等。又比如,开发同事说最近某个业务访问比较慢,那么我们就需要配合开发同事去查找该业务慢的原因,可以去查看mysql慢查询日志也可以查看php-fpm的慢执行日志等。又比如,运营同事说,最近的访问量有点多,看看是正常访问还是异常访问,我们则需要去分析访问日志。等等
4.安全和优化。 有一天,php官方说某某版本有漏洞了,影响很大,我们则需要根据官方提供的补丁去处理漏洞。这就需要我们平时多关注it领域的一些咨询信息,关注一些大牛或者组织的公众号,要第一时间知道漏洞。优化的话,是需要开发同事配合一起来做的。我们之前讲过的apache相关的配置,很多都算是优化,比如日志切割、静态文件缓存时间、访问控制等等。
5.规划和部署公司业务,决定什么时候扩容或缩容。 业务访问量越来越大,那服务器负载就越来越高,一旦支撑不了的时候,就需要扩容。一般企业的架构都是支持横向扩容的(lvs、nginx负载均衡),增加多少机器,也是需要我们衡量的,机器的购买、上架、部署工作也是我们来做的。现在越来越多的企业使用云主机,在机器购买、上架、部署上就相当简单了。环境部署好,还得需要我们测试,测试没有问题才能真正上线。
6.关注一线资讯,学习新技能。 如果不忙的时候,我们是需要严格管理好自己的,学习新技能是必须的,不学习就会被淘汰。 开源中国、51cto、infoQ、techtarget等都可以关注,我们可以了解到一线运维的趋势和新技术。
7.有些大企业是有资产管理平台的(cmdb),这个也需要我们运维人员来管理各种服务器资源的记录、变更。
8.有些企业可能会牵扯到员工账号、权限的管理(git/svn),也可能需要我们来分配。
9.故障处理。这个不用多说,遇到问题,就得处理。还是列一下常见的故障:网站访问慢或访问不了、服务器宕机、某个服务宕掉、ddos攻击、cc攻击、磁盘损坏、存储损坏、磁盘空间撑满、网站被黑、mysql主从不同步、mysql查询慢等。
10.分析pv uv等数据 结合业务和产品线 出统计图以及报表(web化)
11.上线发布情况统计 以及问题录入
12.基础apm分析 请求问题排查 趋势分析以及响应情况
13.自动化运维平台开发、去中控、认证集中化、工单一体化
14.故障问题排查脚本化,问题解决方法脚本化,至少实现半自动化;
15.负责的系统信息批量扫描,批量化工具开发与维护;
16.不断完善与优化监控,包括监控项目,监控脚本,必要的情况下对监控做二次开发;
17.对脚本进行持续优化,目标是用尽量少的代码实现最大的效果,合并与摒弃不必要的判断与循环;