小巧,无需装agent,基于SSH,可以在本地、远程主机上运行所有的shell命令和python函数。主要提供运行本地、远程命令,上传、下载文件功能。适合用来写不常用、碎片化的工具
内置模块较少,很多东西要自己编写命令实现。
自动化运维 DevOps |
自动化运维
DevOps
自动化运维范畴
安装自动化
kickstart,cobbler等
部署自动化
Fabric
小巧,无需装agent,基于SSH,可以在本地、远程主机上运行所有的shell命令和python函数。主要提供运行本地、远程命令,上传、下载文件功能。适合用来写不常用、碎片化的工具
内置模块较少,很多东西要自己编写命令实现。
Ansible
优点
无需agent,基于ssh实现,对新申请的机器做初始化扩展不错
日常部署需要的功能基本上有模块支持,比如git、打包解压、copy文件、yum安装等等都已经集成到了核心模块里面,alternatives、xattr等模块也有所集成,当然,理论上所有操作都能用命令模块来完成。
缺点
比较依赖网络的健壮性,网络不好的话经常会有失败的现象
运行ansible的主机需要能与远程主机ssh直连,可以用隧道技术或者sshuttle来解决
puppet,saltstart,ansible等
监控自动化
nagios,ganglia,cacti等
发布自动化
升级自动化
安全管控自动化
优化自动化
数据备份自动化
自动化运维规划
对端口扫描的机器做防御策略
DNS
dnsmasq
提供 DNS 缓存,DNS重定向、记录转发,DNS反向解析, DHCP 服务功能,配置简单
可以配置对上层DNS轮询请求记录
配置支持通配符,不用批量修改hosts
pdnsd
提供DNS缓存服务
设置向上级DNS请求方式(TCP、UDP,Both)
设置多个上级DNS并设置请求规则
配置缓存保留时间
namebench
Google自行研发的一款DNS测速工具
压力测试
由网易自主研发的能够模拟千万级别并发用户的一个软件
ApacheBench
创建多并发线程模拟多用户对URL访问进行压力测试
Apache中有个自带的,名为ab的程序,ab可以创建很多的并发访问线程,模拟多个访问者同时对某一URL地址进行访问。
TCPcopy、UDPcopy
直接对某一机器流量copy到另一机器进行压力测试
TCPburn
子主题_0
安全
对SSH密码暴力破解的机器做防御策略
PortSentry
给出虚假的路由信息,把所有的信息流都重定向到一个不存在的主机;
自动将对服务器进行端口扫描的主机加到TCP-Wrappers的/etc/hosts.deny文件中
利用Netfilter机制、包过滤程序,比如iptables和ipchain等,把所有非法数据包(来自对服务器进行端口扫描的主机)都过滤掉;
通过syslog()函数给出一个目志消息,甚至可以返回给扫描者一段警告信息。
fail2ban
防御 SSH 服务器的暴力破解攻击,对安全性要求过高的服务器还是建议禁止密码登入,使用密钥或者密钥+密码验证。
Google Authenticator
可以将第二部验证设置为通过短信或语音电话接收验证码
knockd
在服务器端设置只有你知道的“暗语”来让服务器给你芝麻开门。
虚拟化
vagrant
docker
日志采集
ELK Stack
监控
smokeping
前三个阶段
手工
脚本
工具
预备类工具
Kickstart
kickstart安装是redhat开创的按照你设计好的方式全自动安装系统的方式。安装方式可以分为光盘、硬盘、和网络
Cobbler
Cobbler是一个快速网络安装linux的服务,而且在经过调整也可以支持网络安装windows。该工具使用python开发,小巧轻便(才15k行代码),使用简单的命令即可完成PXE网络安装环境的配置,同时还可以管理DHCP,DNS,以及yum包镜像。
OpenQRM
openQRM提供开放的插件管理架构,你可用很轻松的将现有的数据中心应用程序集成到其中,比如Nagios和VMware。
Spacewalk
Spacewalk可管理Fedora、红帽、CentOS、SUSE与Debian Linux服务器。。Spacewalk就可以管理补丁、登录、更新。
配置管理类工具
前浪
Chef
Chef是一个系统集成框架,可以用Ruby等代码完成服务器的管理配置并编写自己的库。
ControlTier
ControlTier是一个完全开放源码系统的自动化服务管理活动的多个服务器和多个应用层(代码,数据,配置和内容) 。
Func
Func是由红帽子公司以Fedora统一网络控制器
目的是为了解决这一系列统一管理监控问题而设计开发的系统管理基础框架,
Puppet
puppet是一个开源的软件自动化配置和部署工具,
后浪
SaltStack
Salt一种全新的基础设施管理方式
很容易管理上万台服务器,速度够快,服务器之间秒级通讯。
Ansible
实现了批量操作系统配置、批量程序的部署、批量运行命令等功能。
监控类工具
Nagios
Nagios是一款免费的开源IT基础设施监控系统
能有效监控 Windows 、Linux、VMware 和 Unix 主机状态,交换机、路由器等网络设置等。
OpenNMS
OpenNMS是一个网络管理应用平台,可以自动识别网络服务,事件管理与警报,性能测量等任务。
Cacti
Cacti是一套基于PHP、MySQL、SNMP及RRDTool开发的网络流量监测图形分析工具。它通过snmpget来获取数据,使用 RRDtool绘画图形,它的界面非常漂亮,能让你根本无需明白rrdtool的参数能轻易的绘出漂亮的图形。
Zenoss Core
一个基于Zope应用服务器的应用/服务器/网络管理平台,提供了Web管理界面,可监控可用性、配置、性能和各种事件。
Zabbix
zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
Ganglia
Ganglia是一个针对高性能分布式系统(例如,集群、网格、云计算等)所设计的可扩展监控系统。该系统基于一个分层的体系结构,并能够支持2000个节点的集群。它允许用户能够远程监控系统的实时或历史统计数据,包括:CPU负载均衡、网络利用率等。
统一帐号管理
LDAP
jumpserver
开源的跳板机(堡垒机)系统
操作审计(包括文本命令,操作录像),利用ansible批量对机器进行操作。
NIS
类似于LDAP,用户账号、密码、主机名称或组群等的主从式目录服务协议
工具选择
开源
现阶段有自动化的一些工具git、svn、Jenkins、docker等等
成熟
一些ITIL和ITSM产品等,比如HP Openview,IBM Tivoli等等
ITIL