运维工程师需要掌握啥技能?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了运维工程师需要掌握啥技能?相关的知识,希望对你有一定的参考价值。

运维工程师需要掌握的技能:

1、首先是主机、网络及操作系统基本知识。在出现问题时,懂得在各个网络位置抓包,来确认故障设备或线路,会使用Linux的tcpdump抓包或者ethreal、sniffer、Wireshark等抓包软件,会在网络设备上配置镜像,将关心的流量抓出来进行分析。

2、懂开发,能实现自动化运维。比如使用Shell、Python、Perl等脚本语言做一些自动化运行脚本、诊断故障的脚本,使用这些脚本可以提升工作效率,将重复性的简单工作交给脚本程序处理,也可以通过这些脚本判断故障发生的位置和原因,高效的运维将不再需要人工去逐个字符地去输入各种命令。

3、未来云计算与大数据势必成为整个互联网行业的支撑。所有云计算运维工程师以及大数据工程师的作用就越来与明显,同时云计算以及大数据相关高端人才的需求量也会越来越大。

参考技术A

一、Linux 基础部分

1、基础理论知识

2、基础命令(系统命令、目录管理、用户管理、文件权限、磁盘管理、资源查看等等常见操作)

3、文本高效处理(vi、vim、awk、grep、find、sed等)

4、bash shell脚本(可以边工作边学习,使用shell编写简单的代替重复性操作的脚本)

5. 进程调度,内存管理,文件系统,外设管理等,要熟练使用相关工具,如top iotop iftop iostat vmstat ss等,并且最好了解其原理

二、网络管理、进程管理

1、TCP/IP协议、DNS服务、CDN原理、iproute常见的网络客户端工具(ping、wget、ftp)

2、crontab计划任务

3、ps、top、htop、vmstat、lsof等命令

4. tcp,http,https,udp等

5. 最好能做到精通,4层,7层的网络流量分析技能要熟练掌握。

6. 内部路由协议,边际路由,交换原理,域名解析,ipv6相关知识

三. 数据库部分

mysql各个版本之间的关系和特性

MySQL的安装及增删改查

MySQL的存储引擎

MySQL的优化

MySQL日常使用及运维,包含备份及故障排查

四. 常用开源组件

LAMP和LNMP的架构

tomcat的使用及优化

nginx的使用场景及优化

apache的使用场景及优化

其他服务: dhcp,nfs,rsync,dns,等等

一句话概括: mysql,redis,kafka,etcd,zk,influxdb,promethues,zabbix,graphana,ansible…

五. shell脚本

使用shell脚本实现各种服务的自动化部署

使用shell脚本实现监控系统及应用自动化

使用shell脚本实现各类巡检,故障排查自动化

六. 安全

iptables四表(fiter、mangle、nat、raw)五链(prerouting、iput、forward、output、postrouting)、基本匹配

iptable规则保存重载生效

常用加密算法,web安全,网络安全

渗透的常用手段,以及反制手段,sql注入,xss,ddos,cc

跳板机jumpserver

七. 监控和日志收集

日志收集ELK,EFK

zabbix,prometheus

八. 自动化工具

1、常见自动化运维方案:puppet、ansible、salt、fabric

2、ansible安装基础使用

3、持续集成:jekins+gitlab实现ci/cd流水线

4. python 自动化

5. go语言二次开发

九. 容器化和虚拟化技术

docker ,k8s,openstack, kvm,vmware的使用

容器编排的技术

十. devops 编译,加速,测试环境,研发自动化

以上是关于运维工程师需要掌握啥技能?的主要内容,如果未能解决你的问题,请参考以下文章

运维工程师需要掌握啥技能

运维工程师需要啥技术

运维工程师必须掌握的基础技能都有哪些?

运维工程师必须掌握的基础技能都有哪些

运维工程师必须掌握的基础技能都有哪些?

Linux运维工程师须掌握的基础技能都有哪些?