当前位置: 首页 > 科技观察

你需要了解的开源工具自动化运维阶段

时间:2023-03-18 23:19:28 科技观察

开源工具自动化运维阶段你需要知道  一些Web2.0企业可能需要在两周内增加数千台服务器。因此,对于运维来说,人工一一搭建,不仅繁琐、低效,而且非常不利于维护和扩展。  即使在传统企业中,日常备份、服务器状态监控、日志等都是人工进行,效率低下,浪费人力。因此,自动化早已成为每一个运维必须掌握的看家本领。  在不同的企业,自动化的规模、要求和实施方式是不同的。因此,在技术细节层面,运维很难套用其他企业的方法。然而,在很多情况下,自动化的想法有一些共同点。  运维自动化前三个阶段  ◆纯人工阶段:软件部署和运维重复人工操作。  ◆脚本阶段:通过编写脚本,可以方便的进行软件部署和运维。  ◆工具阶段:使用第三方工具高效、便捷地部署和维护软件。  这些阶段是随着运维知识、经验、教训的不断积累而不断演进的。而且,第二阶段和第三阶段可以说是齐头并进。虽然Linux下已经有很多第三方工具,但是Linux下的脚本对运维工作的推动作用也是不容忽视的。  在DevOps出现之前,运维人员在工作中还是主要使用这两种方式。  Linux下好用的开源工具  1.准备工具  Kickstart  kickstart安装是redhat首创的按照你设计的方式自动安装系统的方法。安装方式可分为光盘、硬盘、网络。  Cobbler  Cobbler是一个linux网络快速安装服务,调整后也可以支持windows网络安装。该工具使用python开发,小巧轻便(仅15k行代码),可以通过简单的命令完成PXE网络安装环境的配置,还可以管理DHCP、DNS、yum包镜像。  OpenQRM  openQRM提供了一个开放的插件式管理架构,您可以轻松地将现有的数据中心应用程序集成到其中,例如Nagios和VMware。openQRM的自动化数据中心运营不仅可以帮助您提高可用性,还可以降低您企业级数据中心的管理成本。一个用于数据中心管理的开源平台,旨在通过可插拔架构实现设备部署和监控的自动化,尤其适用于基于云计算/虚拟化的服务。  Spacewalk  Spacewalk可以管理Fedora、RedHat、CentOS、SUSE和DebianLinux服务器。当您的数据中心拥有多台Linux服务器时,手动管理不再是一种选择。Spacewalk可以管理补丁、登录和更新。  在自动化运维和大数据云计算时代,实现服务器环境和应用环境的预置自动安装,不仅可以提高运维效率,还可以大大降低运维任务和出错概率和维护。尤其对于服务器数量成百上千的企业,如果不通过自动化完成,光是安装系统的工作量和周期是难以想象的。  2。配置管理工具  千浪:  Chef  Chef是一个系统集成框架,可以使用Ruby等代码完成服务器管理配置,编写自己的库。  ControlTier  ControlTier是一个完全开源的系统,用于自动化多个服务器和多个应用程序层(代码、数据、配置和内容)的服务管理活动。ControlTier的常见用途包括部署应用程序、控制其状态以及跨多个服务器运行按需管理作业。ControlTier是跨平台的,同样适用于物理服务器、虚拟机或云计算基础设施。  Func  Func是RedHat公司结合Fedora统一网络控制器Func设计开发的系统管理基础框架,解决了这一系列的统一管理和监控问题。它是一个可以有效简化我们众多服务器的系统。系统管理工具,具有易学易用、易扩展等优点;功能强大,配置简单。  Puppet  puppet是一个开源软件自动化配置和部署工具。用于管理和部署。  后浪:  SaltStack  Salt是一种全新的基础设施管理方式,易于部署,几分钟内即可运行,扩展性好,易于管理数万台服务器。速度足够快,服务器之间的通信是秒级的。  Ansible  Ansible是一款基于Python开发的全新运维工具。它结合了很多老式运维工具的优点,实现批量操作系统配置、批量程序部署、批量操作命令。  大规模部署时,手动配置服务器环境是不现实的,此时必须使用自动化部署工具。  3。监控工具  Nagios  Nagios是一款免费开源的IT基础架构监控系统,功能强大且灵活,可以有效监控Windows、Linux、VMware和Unix主机、交换机、路由器等网络设置状态。一旦主机或服务状态异常,第一时间发送邮件或短信告警通知IT运维人员,状态恢复正常后发送邮件或短信通知。  OpenNMS  OpenNMS是一个网络管理应用平台,可以自动识别网络服务、事件管理和告警、性能测量等任务。  Cacti  Cacti是一套基于PHP、MySQL、SNMP和RRDTool开发的网络流量监控图形分析工具。它通过snmpget获取数据,使用RRDtool绘制图形。它的界面非常漂亮,在不知道rrdtool参数的情况下也可以轻松画出漂亮的图形。而且你根本不需要了解RRDtool复杂的参数。它提供了非常强大的数据和用户管理功能。您可以指定每个用户可以查看树结构、主机和任何图片。它还可以与LDAP结合用于用户身份验证。同时,您可以自己添加模板,让您添加自己的snmp_query和脚本!功能非常强大完善,界面友好。  ZenossCore  是一个基于Zope应用服务器的应用/服务器/网络管理平台,它提供了一个web管理界面来监控可用性、配置、性能和各种事件。  Zabbix  zabbix是一款企业级开源解决方案,提供基于WEB界面的分布式系统监控和网络监控功能。一种网络管理系统,用于监控网络上的服务器/服务和其他网络设备的状态。后端基于C,前端用PHP编写。它可以与各种数据库一起使用。提供多种实时告警机制。  神经节  Ganglia是一个可扩展的监控系统,专为高性能分布式系统(例如,集群、网格、云计算等)而设计。该系统基于分层架构,能够支持2000个节点的集群。它允许用户远程监控系统的实时或历史统计数据,包括:CPU负载平衡、网络利用率等。Ganglia依靠基于多播的监听/发布协议来监控集群的状态。Ganglia系统的实现结合了多种技术,包括:XML(数据描述)、XDR(紧凑便携的数据传输)、RRDtool(数据存储和可视化)等。  数据监控和业务监控非常重要.及时发现问题,及时解决。监控系统主要包括:服务应用监控、主机监控??、网络设备监控、网络连通性监控、网络接入质量监控、分布式系统监控、告警预置、监控图形和历史数据等。  自动化对运营的意义与维护  自动化是运维为了减少重复枯燥的工作而建立的过程方法。此外,自动化还可以减少人为错误,及时报警和故障恢复,提高业务可用性等好处。  运维工作的自动化,确实包括以上两个方面。总结起来,其实就是:把零碎的工作集中起来,把复杂的工作简单化、有序化,标准化流程,最大限度地释放生产力,也就是解放运维人员。  自动化技能/意识对运营至关重要。运维工作不是简单的使用工具,里面有很多技巧和意识。具体技能/意识包括:  1。如何驾驭这些眼花缭乱的工具为自己所用。  2。如何根据不同的应用环境选择不同的工具。  3。如何根据应用组合使用工具等。  必须记住一件事:工具只是用来帮助人运维的,过程中需要人的干预和决策。工具并不能完全替代所有的运维工作。还需要结合实际的业务逻辑和业务场景。就像架构一样,不是淘宝、百度等大公司的架构。它必须适合任何公司和企业。  自动化运维类  ◆安装自动化  ◆部署自动化  ◆监控自动化  ◆发布自动化  ◆升级自动化  ◆安控自动化  优化自动化  ◆数据备份的自动化  在前阶段实施了自动化管理和安全技术,比如HP和IBM出品的一些ITIL和ITSM产品,比如HPOpenview,IBMTivoli等这些工具都有Linux版本。与其他同类工具相比,它们的优势应该在于商业应用的成熟度,而且都是老品牌。  现阶段有一些自动化工具如git、svn、Jenkins、docker等,一些开源软件!  工具选择  针对不同规模的架构,从小型网站到百万级、千万级的网站,我们选择的工具是不一样的。  在选择上,百万级、千万级的网站,要考虑选择成熟的工具、高性能的工具、熟悉的工具。对于小型网站,我们应该考虑选择一些开源免费的工具。  本原则面向应用。数百万、数千万的网站,涉及面广,要求高。通常很难说服领导和公司使用不成熟的工具,所以主要看成熟度。.  自动化运维规划  自动化的实现不是简单的学习几个工具就能实现的。即使在规划不佳的情况下,自动化不仅没有节省人力,反而带来更多问题。  因此,运维人员在考虑自动化流程时应考虑以下原则:  1.根据应用选择工具。  2。对于关键应用,选择成熟度高的工具。  3。不要过分依赖一种工具,需要对比分析。  4。熟练掌握工具的特性。  5.是人控制工具,人应该监督工具,而不是工具控制人。  6。擅长使用脚本实现自定义场景。  自动化经验积累  ◆经常访问一些好的IT媒体网站,阅读这方面的文章,可以涉猎和学习很多东西。  ◆针对公司业务场景,选择一些自动化工具,登录官网学习,熟悉工作原理。  ◆经常参加一些线下自动化运维活动和媒体活动,和一些自动化方面的专家和资深人士交流。