六大利器让运维工程师尽显十八般武艺

之前,运维人员都是做为企业运转幕后工做者,很难为外界所知,甚至企业内部管理者也不曾真正关注过。现在,随着互联网的迅猛发展,愈来愈多的企业管理者认识到 IT 运维服务对企业运营和发展的重要性,更高的要求将运维人员推向了前台。前端

之后,运维会更多的和业务绑定在一块儿,根据业务来作开发和调整。那么运维工程师须要具有哪些利器才能练就十八般武艺呢?python

运维

一. 熟悉服务器的基本知识

服务器领域,掌握一些 Linux 操做系统的命令是必不可少的,还要至少熟悉一个内置编辑器:VI 或 Nano,至少熟悉一个发行版,好比 Centos、Debian、Ubuntu,要熟悉不少 Linux 运维的命令,以便出了问题知道如何分析服务器的运行状态,对 LAMP 或 LNMP、FTP、DNS、SAMBA、EMAIL、NTP、DHCP 等 Linux 能够支持的基础协议要了解,熟悉这些协议的故障处理。linux

还须要掌握服务器一些虚拟化软件技术,以及 KVM 的工做原理,包括在 CPU、内存、存储、网络等各个部分的虚拟化,最为重要的是要掌握 KVM 的各类管理工具:OpenStack、CloudStack、OpenNebula、Zstack 等。ios

二. 精通一门除 Shell 外的编程语言 Python

Shell 语言是从事运维工做必需要会的,一些简单的系统管理 shell 脚本也是很馋常见的。另外一个使用到的语言就是当下比较火的 Python,程序效率高、语法简洁清晰,能够实现自动化运维。程序员

早在 DevOps 刚刚开始盛行的时候,Python 就是一个被寄予厚望的语言,由于大部分 DevOps 工具和实践都须要用到 Python。虽然也有人尝试用 Ruby 或者 NodeJS 构建 DevOps 工具,然而都没有 Python 所构建的工具流行。shell

随着 Python 在大数据、人工智能、区块链、微服务以及 Docker 中的发展,能够预见 Python 在往后的领域仍然会发挥重要的做用。数据库

三. 掌握一种以上的监控工具

服务器运行状况实时反馈,彻底依赖有一个好的监控工具,一些常见的监控、告警工具备 Nagios 、 ganglia、zabbix、onealert 等。发现问题能够第一时间及时有效的处理,避免更大的损失。对于初学者,Nagios 简单直观更容易上手,可是 zabbix 界面更美观,同时因为功能多上手也更难。对于企业的监控应用来讲,二者都能实现大规模监控,都足以知足用户需求,没有绝对的孰好孰坏。Zabbix 是商业软件开源,Nagios 是免费软件插件组合多。编程

这里主要介绍 zabbix 的搭建环境:安全

要想搭建一个 Zabbix 的工做环境,须要从服务器入手。与服务器通讯,管理员须要使用一个 Zabbix 前端界面,与 Zabbix 服务器和数据库进行通讯。三个关键 (界面、服务器和数据库) 能够安装在同一台服务器上,可是若是你拥有一个更大更复杂的环境,将它们安装在不一样的主机上也是一个选项。Zabbix 服务器可以直接监控到同一网络中的设备,若是其余网络的设备也须要被监控,那还须要一台 Zabbix 代理服务器。服务器

四. 了解数据库运维的技能

互联网企业的数据库以 MySQL 为主 ; 部分金融、证券、银行、政企的数据库会使用 Oracle; 传统企业的老系统会涉及 SQL Server。

StackOverflow 对数据库受欢迎程度进行了调查,下面是对不一样级别开发者进行调查后的统计结果:

数据库

最受欢迎的是 MySQL,接受调查的开发者中近一半的都使用 MySQL(44.3%),NoSQL 可能不在大多数程序员的需求范围内。

前两天,SQL Server 2017 正式发布,已由原来固守的支持 Windows 的策略,大步地转向了支持 Linux ,Docker 容器和 Windows 的策略。

五. 选择一款适合的框架

运维更多的就是和业务绑定在一块儿,根据业务来作开发和调整。根据公司 业务需求,选好框架,好比 Nagios, Puppet,SaltStack,Docker 等,这方面的基础搭建要求很是高,须要考虑如何作基础构建,才能达到高度模板化、自动化等。

Docker 能够实现 Immutable Infrastructure, 能够更好的保证应用交付的一致性,尤为是对大规模微服务应用。可是对于一些传统软件的运维,Puppet 等工具也有本身的优点。能够针对状况选择,或者将二者结合起来。

六. 注重运维过程的安全问题

 保证账号 / 私钥的安全

  • 最好使用加密工具存储。好比 truecrypt,1password
  • 基于本地存储。切勿用网盘,也不建议用 lastpass 等
  • ssh 私钥添加密码

本着负责的态度和原则

  • 遇到报警,第一时间处理,而不要等着他人去处理。若是没法处理,应该第一时间让同事协助帮忙,而不要禁止报警,让问题掩盖。
  • 若是代码有问题,致使系统开销很大,好比负载,io 等。应该第一时间和开发部门确认,要求优化代码。

现现在,要求运维人员会运维、懂开发、精通数据库、熟悉网络,堪称全才啊。将来 3 到 5 年,linux 运维 +linux 架构 +python 开发这三项技术是运维人员必备的技术。

相关文章
相关标签/搜索