IT互联网运维工程师必须掌握的基础知识技能和使用的平台、工具

头像 Site Admin 二级准尉二级准尉
帖子: 225
注册: 2月 15, 2015 00:34

IT互联网运维工程师必须掌握的基础知识技能和使用的平台、工具

帖子Site Admin 发表于 5月 01, 2016 22:15


运维工程师使用的运维平台和工具包括:

Web服务器:apache、tomcat、nginx、lighttpd
监控:nagios、ganglia、cacti、zabbix
自动部署:ansible、sshpt
配置管理:puppet、cfengine
负载均衡:lvs、haproxy
传输工具:scribe、flume
备份工具:rsync、wget
数据库:mysql、oracle、sqlserver
分布式平台:hdfs、mapreduce、spark、storm、hive
分布式数据库:hbase、cassandra、redis、MongoDB
容器:lxc、docker
虚拟化:openstack、xen、kvm
安全:kerberos、selinux、acl、iptables
问题追查:netstat、top、tcpdump、last

广义上所有开源的软件都是运维工程师会使用到的平台和工具,同时也包括运维各个技术方向上自行研发的各类平台。

1. Linux基础

包括对Linux整体的理解/使用和基本命令:

了解Linux FHS : Filesystem Hierarchy Standard,国人写的这本书不错 Linux系统架构与目录解析 (豆瓣)
入门Linux:鸟哥的Linux私房菜.基础学习篇(第三版) (豆瓣) 个人认为鸟哥的这本书是一本非常好的入门书
基本操作命令:Google,如Linux command cheat sheet
熟悉至少一个内置编辑器: vi, nano
至少熟悉一个发行版(或系列),建议作为服务器常用的如Centos, Debian, Ubuntu,可以了解多个常用发行版
个人使用/开发尽量在Linux上,比如我前期选择了 Gentoo Welcome – Gentoo Linux ,非常Cool的一个Linux发行版,配合官方的 Handbook Handbook:Main Page,可以学到很多东西

2. 运维的命令:

运维相关的工具(命令),了解它能解决很多问题。

前几天刚回答了一个问题:如何才能更深入的学习linux?

http://www.brendangregg.com/linuxperf.html

http://www.slideshare.net/brendangregg/ ... -and-tools

3. 基础服务:

LAMP或LNMP :Apache/Nginx,MySQL,PHP/Python/Perl LAMP (software bundle)
FTP
DNS
SAMBA
EMAIL
NTP
DHCP
...

可以本地搭建练练手

这里推荐鸟哥另外一本书 服务器架设篇: 鸟哥的Linux私房菜

4. 运维平台工具:

也在这个问题 如何才能更深入的学习linux? 里提到了:
Nagios
Puppet
Zabbix
Cacti
SaltStack
....
可以选择性的折腾下,因为这个涉及到业务,没有实际环境,很难去理解他们的功能和特点。

5. 脚本:

必备:Shell
额外:Python,Perl...

6. 底层:

Linux C,内核

7. 网络:

网络是非常重要的一块
把《TCP/IP协议详解》多看几遍,理解。
熟练使用tcpdump等抓包工具

8. 安全:

防火墙配置,如 iptables, ipset

9. 硬件:

接口类型
查看硬件信息
知道各类型服务器,如塔式、机架式、刀片式

10. 其它:

了解更多特定技能要求的方式:

Google搜"Linux运维工程师 招聘",看看他们的需求。

11. 优化监控系统

谁来监控监控系统?怎么保证比业务部门先发现问题?是否需要添加业务监控?URL监控是否返回状态码200即万事大吉?是否需要文件监控?短信报警、邮件报警是否足够?是否需要自动语音报警及垂直升级功能?

监控是门学问,是专业运维的入口。展开说可以很大篇幅,先抛砖引玉,提出这些问题。实际上,对于资深、聪明的运维同学,看到问题,就已经有了自己的答案。

12. 减少人为事故

人为事故是运维最头疼、最不专业的事情之一。例如网站运维中,如果每次更新都需要登录服务器,svn update/git pull,难免会出差错。所以可以用类似Jenkins的工具,实现Web更新,这样,除非重大更新(包括数据库更新),否则都只需要点点鼠标即可。甚至,可以把网站更新外包回开发部门,这样还能减少运维操作带来的沟通成本、时间成本。

13. 运维自动化

运维自动化是个大课题,网络上的讨论也很多。建议选择合适自己的方式、方法。轻量级工具如ansible,无需在被管理服务器安装客户端程序,这在针对多台服务器进行分发管理(特别是管理仅有临时账号权限的服务器时),具有较大优势。另一个吸引人的地方是,操作结果和操作日志集中存储。

14. 合理优化架构

近几年国内优秀的开源软件层出不穷,设计和优化架构,很多时候并不是非得自己从零起步来搞。例如Redis,以其高效、稳定,已成为缓存系统的最好选择之一,但Redis单实例的支撑能力有限,目前Redis集群的实现,大多采用Twemproxy,但使用起来老感觉有些美中不足,那么,有没有一个取而代之的产品?

15. 代码持续部署

线上系统程序代码可否自动打包、持续部署? 测试环境的新版本发布可否由开发人员自己来做,甚至自己来做测试? 这些无疑可以很大提升运维和开发效率。

Docker高可用集群,加上Jenkins发布,可以把这些需求变成现实。Centos 7的systemd用来底层支持Docker高可用,etcd实现了配置文件的集中存储,而不是分散在各台服务器的本地。fleet作为etcd和systemd之间的桥梁,并通过systemd来控制集群服务器。

Jenkins从svn服务器获取到新代码版本后,通过shell脚本,打包成image,放入Docker私有库,从而被Docker集群服务器update并使用。

16. 管理的专业化

管理上的专业化运维,甚至包括调试通报和故障通报,都很有说法。系统运行一段时间后趋于稳定,调试/更新就变成了故障的主要来源之一,怎么让调试少出人为事故,顺利如期的完成?这是个技术活。

17. 运维345法则

故障通报是细究故障的不二法门,一次长时间的故障,往往有很多细节可以推敲,我们总结出运维345法则。3是指故障时长被分成三部分,4是指对应的四个故障时刻点,5是指在这个过程中我们可以做的五件事。这样,我们就可以有的放矢地进行优化解决了。
个人签名:
网址:照片文件云存储网盘

“亚马逊云服务AWS论坛” 是提供AWS相关技术的综合信息论坛。AWS论坛是专注于AWS技术、使用经验面向AWS技术工程师的专业频道。

亚马逊云服务AWS费用评估计算工具:http://calculator.s3.amazonaws.com/index.html

回到 “Zabbix监控” 继续浏览

在线用户

用户浏览此论坛: 没有注册用户 和 1 访客

cron