《移动互联系统运维技术》 课件 项目三 移动电商运维自动化_第1页
《移动互联系统运维技术》 课件 项目三 移动电商运维自动化_第2页
《移动互联系统运维技术》 课件 项目三 移动电商运维自动化_第3页
《移动互联系统运维技术》 课件 项目三 移动电商运维自动化_第4页
《移动互联系统运维技术》 课件 项目三 移动电商运维自动化_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

系/统/运/维/技/术项目3移动电商运维自动化讲师:项目引入在一次移动电商系统发布更新上,由于我的不小心,错误地删除了生产服务器上的执行代码,导致整个移动电商系统页面都无法访问,最后花很长时间才恢复,这次事故给公司带来了不小的麻烦。Philip组织整个运维团队进行故障分析、总结经验,提出了系统运维的两个观点:第一:进一步减少人为直接干预修改生产环境系统引发的故障;第二:提升效率,包括对集群进行运维时的日常备份、服务器状态监控和报警等,并告诉我们可以尝试运维自动化。Philip的一句话犹如迷雾中灯塔,这让非常懊恼自责的我看到了下一步工作的重点和方向。运维工作需要时时保持警惕和清醒,“不小心”的背后意味着错误甚至巨大的损失,人力虽然充满了创造的可能,但是自动化往往代表了更加地稳定而有效率,如何在其中权衡,是我们都要思考的问题。系/统/运/维/技/术项目3移动电商运维自动化

任务一:自动化运维探索讲师:教学目标任务描述近期一Web应用业务需要上线,预计短时间内会有几百台服务器要上线,部署几百台服务器,以运维部目前有限的人手根本不够,怎么办?显然靠传统的运维不能快速有效的解决问题,解决方案就是我们这个项目中重点要讲的运维自动化。什么是运维自动化,一句话概括:采取自动化安装、配置及监控的方案,在最少的人工干预下,利用脚本与第三方工具,保证业务系统7*24小时高效稳定运行。自动化运维概要什么是自动化运维?IT运维自动化是一组将静态的设备结构转化为根据IT服务需求动态弹性响应的策略,目的就是实现IT运维的质量,降低成本。运维自动化对运维人员要求1.事前预警2.事中恢复3.事后存档运维知识体系ITSM:ITSM是一个理念,是一套方法论,可以帮助企业对IT服务进行有效管理的高质量。ITIL:ITIL是CCTA(英国国家计算机和电信局)于20世纪80年代中期开始开发的一套针对IT行业的服务管理标准库。两者之间的关系和区别:

ITIL是标准,是ITSM实施过程中的抽象和经验总结,它是ITSM实施中的一套流程和准则DevOps(DevOps:Development和Operations的组合):DevOps看作开发(软件工程)、技术运营和质量保障(QA)三者的交集。自动化运维工具简介安装部署相关Cobbler:能够快速建立网络安装环境,可以为各种Linux提供自动化安装任务。Spacewalk:管理RedHat衍生发行版的软件内容更新,同时提供预备和监控的功能。配置管理相关Chef:一个IT自动化平台,可让创建、部署、变更和管理基础设施运行时环境和应用。Puppet:基于ruby开发,一种Lin`ux、Unix平台的集中配置管理系统。可管理配置文件、用户、计划任务、软件包、系统服务等。Ansible:基于Python开发,提供自动化运维框架。结合众多的模块工作,可实现批量系统配置、批量程序部署、批量运行命令等功能。SaltStack:基于Python开发,一个异构平台基础设置管理工具。具备配置管理、远程执行、监控功能。监控报警相关Nagios:一个Linux/Unix操作系统下的监视系统,可以监控系统、应用、服务以及各种进程的运行状况,并提供多种报警机制。Zabbix:一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。能监视各种网络参数,保证服务器系统的安全运营,并提供灵活的通知机制。Cacti:基于PHP开发,一款网络流量监测图形分析工具。要功能是用snmp服务获取数据,然后用rrdtool储存和更新数据,当用户需要查看数据的时候用rrdtool生成图表呈现给用户。ZenossCore:一个智能监控软件,可依靠单一的WEB控制台来监控网络架构的状态和健康度。主要功能具有监控可用性,性能,配置和各种事件。常用集群软硬件的介绍及选型企业运维中常用的集群软硬件产品在互联网企业中常用开源负载均衡软件有:LVS、Nginx、Haproxy,常用于高可用开源软件有:Keepalived、Heartbeat。常用负载均衡硬件有:F5、Netscaler、Radware、A10等,工作模式相当于Haproxy的工作模式。对于集群负载均衡产品如何选型?第一阶段:利用Nginx或者Haproxy进行单点的负载均衡。第二阶段:随着网络服务进一步扩大,这时使用LVS或者商用F5就是首要选择。第三阶段:这时网络服务已经成为主流产品,开源的LVS,已经成为首选,这时LVS会成为主流。如何选择开源集群软件产品?中小型互联网企业网站,首选Nginx负载均衡,考虑负载均衡的高可用功能,建议首先Keepalived软件,大型互联网企业,负载均衡产品可以选择LVS+Keepalived在前端做四层转发,再后面是应用服务器。课程小结12运维知识体系ITSM和ITIL自动化运维常见的工具介绍及选择介绍什么是自动化运维以及对运维人员要求34运维开发DevOps课堂作业1、自动化运维与传统运维方式有哪些区别?2、什么情况下需要自动化运维?系/统/运/维/技/术项目4移动电商运维自动化任务二:构建cobbler网络自动安装环境讲师:教学目标任务描述服务器系统的部署是一件单一且重复性较高的事,那么该怎样避免“重复造轮子”?本节主要对Cobbler的介绍以及部署实践,通过配置Kickstart的无人值守安装方式,服务器通过PXE启动方式,实现通过网络就可以在服务器上自动部署系统的目的。Cobbler简介Cobbler概述Cobbler组成Cobbler由python语言开发,是对PXE和Kickstart以及DHCP的封装。融合很多特性,提供了CLI和Web的管理形式,更加方便的实行网络安装。同时,Cobbler也提供了API接口,使用其它语言也很容易做扩展。它不仅可以安装物理机,同时也支持KVM、XEN虚拟化、GuestOS的安装。发行版:表示一个操作系统。配置文件:包含一个发行版、一个kickstart文件以及可能的存储库。系统:表示要配给的机器。存储库:保存一个yum或rsync存储库的镜像信息。镜像:可替换一个包含不属于此类别的文件的发行版对象Cobbler部署管理1.安装yum源2.同步系统时间3.关闭防火墙与SELinux环境配置

Cobbler安装1.Cobbler运行所需基础包2.Cobbler所需环境支持包3.设置服务开机启动4.修改apache相关配置并重新启动5.运行Cobbler检查命令6.重新启动Cobbler并运行检查命令7.最后查看启动的端口Cobbler配置详解1.Cobbler管理DHCP服务器2.修改DHCP模板3.重新启动Cobbler服务4.编辑/etc/httpd/conf.d/wsgi.conf去掉相关注释5.运行cobblersync命令使配置生效,让dhcp、http被cobbler接管Cobbler管理与使用

Cobbler常用命令命令描述cobblercheck检查cobbler配置cobblersync同步配置到dhcp/pxe和数据目录cobblerlist列出所有的cobbler元素cobblerimport导入安装的系统镜像cobblerreport列出各元素的详细信息cobblerdistro查看导入的发行版系统信息cobblerprofile查看配置信息cobblersystem查看添加的系统信息cobblerreposync同步yum仓库到本地查看Cobbler命令[root@cobblersvr~]#cobblerusage=====cobbler<distro|profile|system|repo|image|mgmtclass|package|file>...[add|edit|copy|getks*|list|remove|rename|report][options|--help]cobbler<aclsetup|buildiso|import|list|replicate|report|reposync|sync|validateks|version>[options|--help]注,在上面的显示中可以看到cobbler命令有很多的选项,想获得相关选项的帮助只需要加--help即可。[root@cobbler~]#cobblerprofile--help课程小结12Cobbler部署和配置:通过Cobbler实现Linux系统自动化安装部署。Kickstart:使用system-config-kickstart工具定义自动化安装配置文件Kickstart.cfg。课堂作业配置一个Kickstart自定安装文件,并使用cobbler部署一台Linux服务器。系/统/运/维/技/术项目3移动电商运维自动化讲师:系/统/运/维/技/术项目2移动电商运维自动化任务三:Ansible自动化管理实践讲师:教学目标任务描述运维过程中,对服务器上业务程序的配置往往需要每台去连接,如果服务器数量不多尚且可以,但如果存在大量服务器这种连接方式显然耗费大量时间,那么如何解决这一问题?本小节讲解自动化配置管理工具Ansible的部署和使用,通过Ansible实现对服务器批量配置管理,从而提高运维效率。Ansible简介Ansible是一款基于Python开发的自动化运维的开源工具,主要是实现批量系统配置、批量程序部署、批量运行命令、批量执行任务等诸多功能。Ansible基本架构Ansible优点1.轻量级,无需在客户端安装agent,更新时,只需在操作机上进行一次更新即可2.批量任务执行可以写成脚本,而且不用分发到远程就可以执行3.使用python编写,维护更简单,ruby语法过于复杂4.支持sudoAnsible部署及组件介绍Ansible安装环境准备Ansible控制主机系统可以是各种类UNIX操作系统,如RedHat、Debian、CentOS、OSX、BSD等各种版本,Windows环境系统当前还不能作为控制主机。Ansible所在的控制主机需要的组件包括Python2.6或以上、paramiko模块、PyYAML、Jinja2、httplib2。安装Ansibleyum方式安装Apt(Ubuntu)安装方式pip方式安装配置运行环境1.配置Ansible环境。需要安装Python2.4或以上版本。使用环境变量方式来配置,设置ansible.cfg配置参数。2.使用公钥认证

。Ansible1.2.1之后的版本都默认启用公钥认证,采用SSH方式连接。3.配置Linux主机SSH无密码访问。通过证书签名达到SSH无密码访问。使用ssh-keygen与ssh-copy-id来实现快速证书的生成及公钥下发,其中ssh-keygen生产一对密钥,使用ssh-copy-id来下发生成的公钥。4.测试AnsibleAnsible组件介绍AnsibleInventoryAnsibleInventory实际上是包含静态Inventory和动态Inventory两部分。静态Inventory指的是在文件/etc/ansible/hosts中定义主机和主机组。1.定义主机和主机组[root@ansible~]#vim/etc/ansible/hosts51ansible_ssh_user=root52ansible_ssh_user=root[webservers]5[1:2][webservers:vars]ansible_ssh_user=root[ansible:children]webservers2.动态Inventory调用第三方脚本来动态的配置Inventory文件,Ansible启用动态Inventory是通过调用外部脚本(任何脚本都可以,二进制文件也可以,只要运行结果返回的是JSON串就可以)生成指定格式的JSON串。Ansible可以对JSON格式的字符串对行解析,并最终将值转化为Ansible可用的Inventory文件格式。所以,所谓的动态Inventory文件脚本开发其实就是编写脚本根据具体环境将主机信息及关系(这些数据可以通过抓取数据库,调用外部API或者直接读取文件获得)以JSON格式来表示出来,并将其做为脚本输出结果传给Ansible。课程小结12Ansible部署和配置:通过Ansible实现对Linux主机的批量配置管理。Ansible组件:静态Inventory和动态Inventory的配置使用。课堂作业使用Ansible批量配置Web服务器上Java环境。项目小结拓展训练部署Zabbix,监控Linux服务器状态,模拟Zabbix在生产环境的应用,理解自动化监控在实际生产环境中的应用。部署Zabbix需要包括以下关键操作:理解Zabbix的功能,架构和组件。Zabbix服务端的安装与实现web访问。Zabbix配置。测试Zabbix功能是否正常。系/统/运/维/技/术项目3移动电商运维自动化讲师:系/统/运/维/技/术项目2移动电商运维自动化

任务四:Zabbix自动化监控实践讲师:教学目标任务描述监控是运维过程中不可或缺的一环,监控能使运维人员实时掌握服务器运行状况,第一时间发现并解决故障,为良性运维提供宝贵时间。本小节通过对Zabbix主流开源监控软件部署和管理讲解,实现对Linux主机上所部署应用进行监控预警。Zabbix简介Zabbix是一个企业级的、开源的、分布式的监控套件。Zabbix可以监控网络和服务的监控状况。

Zabbix特性1.数据收集2.灵活的阀值定义3.高级告警配置4.实时绘图5.网络拓扑(networkmaps)6.历史数据存储7.配置简单8.模板使用9.网络自动发现10.快速的web接口11.ZabbixAPI12.权限系统13.全特性、agent易扩展14.具备应对复杂环境情况zabbix架构及组件ZabbixServer:负责接收agent发送的报告信息的核心组件,所有配置,统计数据及操作数据均由其组织进行,C语言编写;DatabaseStorage:专用于存储所有配置信息以及由zabbix收集的数据;WebGUI:zabbix的web接口,通常与Server运行在同一台主机上,通常被称为frontend,PHP语言开发;Proxy可选组件,常用于分布监控环境中,代理Server收集部分被监控端的监控数据并统一发往Server端;Agent:部署在被监控主机上,负责收集本

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论