当前一些主流的运维自动化相关的开源工具总结如下表所示:
产品类型 | 典型产品及简介 | 官方网站或者资料网站 |
安装部署 | Kickstart:对红帽Linux/Fedora等发行版的自动化安装方式,简单地讲就是让系统在安装过程中从一个ks.cfg配置文件中自动获取所有需要配置的参数。源于Anaconda项目。 | http://pykickstart.readthedocs.io/en/latest/ |
Cobbler:为了实现快速网络安装环境的Linux安装服务器,可以为数量众多的Linux服务自动化执行任务。 | http://cobbler.github.io/ | |
Spacewalk:针对红帽Linux/Fedora等发行版的软件更新管理软件,同时也提供预备和监控的功能。这个项目衍生了红帽NetworkSatellite产品。 | http://spacewalk.redhat.com/ | |
配置管理 | ControlTier:一个开源、跨平台的构建/部署服务器的自动化框架,可以在多个节点、多个应用层上进行服务扩展及管理等工作。 | http://www.controltier.org/ |
Func:全称为Fedora Unified NetworkController,Fedora统一网络控制器,用于自动化的远程服务器管理。 | https://fedoraproject.org/wiki/Infrastructure/Fedorahosted-retirement | |
Ansible:基于Python开发,可实现批量系统配置、批量程序部署、批量运行命令等功能。Ansible是基于模块工作的,本身没有批量部署的能力,真正具有批量部署能力的是Ansible所运行的模块,Ansible只是提供一种框架。相对适合轻量级运维自动化配置。 | https://github.com/ansible/ansible/ | |
Puppet:基于ruby开发,是一种Linux、UNIX、Windows平台的集中配置管理系统,用Puppet自动的声明语言自动化重现任意的系统配置。通常适合中小型规模的运维(例如几百台以上服务器规模)自动化配置。 | https://puppet.com/ | |
SaltSatack:是基于Python开发的自动化批量配置管理工具,具备配置管理、远程执行、监控等功能。通常适合中小型规模的运维自动化配置。 | https://saltstack.com/ | |
监控 | Cacti:是一个用 rrdtool 来画图的网络监控系统。 | http://www.cacti.net/ |
Nagios:一个强大的监控预警系统,可以监控系统、应用、服务以及各种进程的运行状况,并提供了多种警报机制。 | https://www.nagios.org/ | |
Zabbix:用于监控网络上的服务器/服务以及其他网络设备的状态的网络管理系统,后台基于C,前台由PHP编写,可与多种数据库搭配使用,提供各种实时报警机制。 | http://www.zabbix.com/ | |
OpenNMS:一个网络管理应用平台,可以自动识别网络服务、事件管理与警报、性能测量等任务。 | https://www.opennms.org | |
Zenoss Core:一个基于Zope应用服务器的应用/服务器/网络网络管理平台,提供了Web管理界面,可监控可用性、配置、性能和各种事件。 | https://community.zenoss.com/ |