百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

运维工程师的修炼手册(运维工程师必备技能)

mhr18 2024-10-15 10:36 22 浏览 0 评论

作为一个长期在运维岗的我,想做些什么来帮助大家学习运维,全是干货,绝不卖货。

一、什么是运维工程师

运维工程师(Operations),负责维护并确保整个服务的高可用性,同时不断优化系统架构提升部署效率、优化资源利用率提高整体的ROI(百度百科)。通俗一点讲我们就是园丁,而系统就是一个花园,我们只有尽心尽职地伺候好花园里的花花草草,整个花园才能长期稳定的吸引客流量。

二、运维工程师的工作内容

顾名思义,运维工程师的主要内容是运维。运维主要是保障一个系统长期稳定的工作下去。主要有以下几点:

1、问题发现:当系统出现异常时,需要尽可能快速的恢复业务,保障系统的可用性。这里我们可以借助于监控平台和告警平台,通过短信、邮件等方式通知自己,系统出故障了。

2、问题处理:设计开发一些处理工具。当系统出现故障时,工具可以快速且自行解决掉这些故障,从而恢复系统。

3、问题跟踪:通过故障发生时的一些表象(日志、监控、告警)来找到问题的根源,该开发修复的找开发,配置原因的修改配置,第三方原因的找第三方。

4、配置管理:一个系统会有多个模块和多个版本,我们可以通过配置管理工具管理这些不同模块和版本的配置,确保这些配置发布到生产环境上后,系统能够正常运行。

三、能力要求

我们先来看下某招聘网站上运维工程师的任职要求

第一个

1、计算机相关专业,全日制统招专科以上学历,2年以上相关工作经验;

2、了解Linux系统原理,掌握Linux操作系统常用命令,有Linux常用HA集群(HAProxy/Keeplived/Ngnix/Apache/Tomcat/Redis等)故障排查经验;

3、了解Tomcat/Apache/ActiveMQ/Kafka等中间件、Web服务器和消息队列产品;

4、熟悉至少一种Zabbix/Nagios/Catci监控工具,并利用工具进行初步问题定位和故障分析;

第二个

1. 大专以上学历
  2.具备1年以上Linux操作系统运维经验;
  3.熟悉linux,docker,以及Tomcat,Mysql,Redis,Nginx,ELK等安装部署;
  4.熟练掌握常用命令、Shell脚本编程,docker容器的使用;
  5.熟悉Linux系统高可用技术、负载均衡、集群等技术方案;

第三个

1、2年以上系统运维、监控运维等相关工作经验。
2、熟练掌握Linux系统操作。
3、熟悉常用监控及日志工具使用,如Zabbix、Prometheus、ELK等,有APM使用经验优先。
4、较强的沟通协调和语言表达能力,善于团队合作,工作细致并谨慎。

归类下来就是Linux基础、容器、监控工具和数据库。除了这些,我认为还需要了解Shell/Python等编程语言、网络知识。除了技术能力同时还要具备责任心、细心、进取心和安全意识这些软素质。

四、Linux基础

Linux基础包含了Linux整体理解和命令使用。

了解Linux:推荐《鸟哥的Linux私房菜:基础学习篇》,个人认为这是一本适合小白的入门书。

命令使用:运维常用的命令一般涉及到CPU、Device Drivers、DRAM、IP、Port、Application、DB等。

五、容器

常见的容器有Apache、Tomcat、Nginx、Weblogic、docker等等。个人建议可以在本地搭建一套环境练练手,我参与的项目使用Tomcat偏多,这里还是推荐《鸟哥的Linux私房菜:服务器架设篇》

六、监控工具

目前常用的有Zabbix、Catci、Nagios、Puppet等等,这个视情况可以选择性地熟悉,我参与的几个项目用的监控工具都不一样,基本都是换汤不换药,监控CPU,内存,日志,吞吐量等等信息。

七、数据库

常用的数据库有MySQL、Oracle、PgSQL、MSSQL等,作为运维不能只会简单地增删改查,还需要参与安装、巡检、性能调优、备份等工作,不同的数据库在语法上大同小异,牢记相应的关键词就行。比如查当前时间,MySQL用now,oracle用sysdate。

八、编程语言

学习编程语言是为了更快速的定位和解决系统故障。举个例子,我曾经参与过的一个项目,做的是服开系统。我们系统发送开通指令给外部网元时,需要外部网元回复成功或者失败。当外部网元回复第三种情况时(实际回复的是成功,换了格式)我们系统就无法识别了,这时候就会报错,出现工单无法竣工的情况。我当时用python写了一个工具,定时扫描出这类工单,模拟通知成功,让工单可以正常竣工。

九、网络知识

熟练使用抓包工具tcpdump、fiddler等,了解防火墙、IP、Port之类,推荐《TCP/IP协议详解》

十、软素质

一个好的运维,软素质是必不可少的。

责任心:对所负责的工作要有owner意识,遇到告警要第一时间响应,而不是等着别人去处理;遇到无法处理的,要第一时间请求同时的协助。我对底下兄弟的要求是10分钟响应,30分钟解决,2小时上报。在运维岗,尤其是驻场运维手上的活会很多,但是要记住客户就是上帝,客户的问题就是第一位的,你可以先响应再去解决,不要给客户一种你不重视他的感觉。当问题出现2小时以上都无法解决的时候,需要上报领导层,让领导协调售前团队安抚客户,售后团队提供解决方案。

细心:运维是可以直接操作生产环境的,你的任何一个操作都有可能造成系统故障,从而影响到业务。所以在每个操作前都要细心,确认再三。你命令敲的再快也就节省那么一点时间,一旦出了问题,就是一个长久的影响。举个例子,2017年某省的项目上线,因为命令敲的快,没有确认执行的目录,将主备数据全部清空了,造成了当地2小时业务中断,手机全无信号。

进取心:运维所需要掌握的技能比较广泛,需要不断的学习,提升自我。遇到问题,做好分析记录,好记性不如烂笔头,记录整理也是自我提升的一个过程。

安全意识:运维的权限是很大的,通常会有服务器的root权限,某个api的私钥等等。针对这些数据最好使用加密存储在本地,一定不能存储在网络云盘中,生产环境高于一切。

十一、结束语

以上观点均为个人见解,有不正确的地方欢迎指正。在后面的篇幅中,我会详细介绍技术的学习,如Linux的常用命令、容器的加固等等、同时会搜集一些大厂的相关面试题。

相关推荐

【预警通报】关于WebLogic存在远程代码执行高危漏洞的预警通报

近日,Oracle官方发布了2021年1月关键补丁更新公告CPU(CriticalPatchUpdate),共修复了包括CVE-2021-2109(WeblogicServer远程代码执行漏洞)...

医院信息系统突发应急演练记录(医院信息化应急演练)

信息系统突发事件应急预案演练记录演练内容信息系统突发事件应急预案演练参与人员信息科参与科室:全院各部门日期xxxx-xx-xx时间20:00至24:00地点信息科记录:xxx1、...

一文掌握怎么利用Shell+Python实现完美版的多数据源备份程序

简介:在当今数字化时代,无论是企业还是个人,数据的安全性和业务的连续性都是至关重要的。数据一旦丢失,可能会造成无法估量的损失。因此,如何有效地对分布在不同位置的数据进行备份,尤其是异地备份,成为了一个...

docker搭建系统环境(docker搭建centos)

Docker安装(CentOS7)1.卸载旧版Docker#检查已安装版本yumlistinstalled|grepdocker#卸载旧版本yumremove-ydocker.x...

基础篇:数据库 SQL 入门教程(sql数据库入门书籍推荐)

SQL介绍什么是SQLSQL指结构化查询语言,是用于访问和处理数据库的标准的计算机语言。它使我们有能力访问数据库,可与多种数据库程序协同工作,如MSAccess、DB2、Informix、M...

Java21杀手级新特性!3行代码性能翻倍

导语某券商系统用这招,交易延迟从12ms降到0.8ms!本文揭秘Oracle官方未公开的Record模式匹配+虚拟线程深度优化+向量API神操作,代码量直降70%!一、Record模式匹配(代码量↓8...

一文读懂JDK21的虚拟线程(java虚拟线程)

概述JDK21已于2023年9月19日发布,作为Oracle标准Java实现的一个LTS版本发布,发布了15想新特性,其中虚拟线程呼声较高。虚拟线程是JDK21中引入的一项重要特性,它是一种轻量级的...

效率!MacOS下超级好用的Linux虚拟工具:Lima

对于MacOS用户来说,搭建Linux虚拟环境一直是件让人头疼的事。无论是VirtualBox还是商业的VMware,都显得过于笨重且配置复杂。今天,我们要介绍一个轻巧方便的纯命令行Linux虚拟工具...

所谓SaaS(所谓三维目标一般都应包括)

2010年前后,一个科技媒体的主编写一些关于云计算的概念性问题,就可以作为头版头条了。那时候的云计算,更多的还停留在一些概念性的问题上。而基于云计算而生的SaaS更是“养在深闺人未识”,一度成为被IT...

ORA-00600 「25027」 「x」报错(报错0xc0000001)

问题现象:在用到LOB大对象的业务中,进行数据的插入,失败了,在报警文件中报错:ORA-00600:内部错误代码,参数:[25027],[10],[0],[],[],[],[],[...

安卓7源码编译(安卓源码编译环境lunch失败,uname命令找不到)

前面已经下载好源码了,接下来是下载手机对应的二进制驱动执行编译源码命令下载厂商驱动https://developers.google.com/android/drivers?hl=zh-cn搜索NGI...

编译安卓源码(编译安卓源码 电脑配置)

前面已经下载好源码了,接下来是下载手机对应的二进制驱动执行编译源码命令下载厂商驱动https://developers.google.com/android/drivers?hl=zh-cn搜索NGI...

360 Vulcan Team首战告捷 以17.5万美金强势领跑2019“天府杯“

2019年11月16日,由360集团、百度、腾讯、阿里巴巴、清华大学与中科院等多家企业和研究机构在成都联合主办了2019“天府杯”国际网络安全大赛暨2019天府国际网络安全高峰论坛。而开幕当日最激荡人...

Syslog 日志分析与异常检测技巧(syslog发送日志配置)

系统日志包含有助于分析网络设备整体运行状况的重要信息。然而,理解并从中提取有效数据往往颇具挑战。本文将详解从基础命令行工具到专业日志管理软件的全流程分析技巧,助你高效挖掘Syslog日志价值。Gr...

从Oracle演进看数据库技术的发展(从oracle演进看数据库技术的发展的过程)

数据库技术发展本质上是应用需求驱动与基础架构演进的双向奔赴,如何分析其技术发展的脉络和方向?考虑到oracle数据库仍然是这个领域的王者,以其为例,管中窥豹,对其从Oracle8i到23ai版本的核...

取消回复欢迎 发表评论: