运维自动化概述

运维⾃动化概述
运维与⾃动化概述
⼀:运维⼯作内容分类:
1).机房运维(负责服务器上下架、IP配置与划分、服务器打标签、机房定期巡检、服务器故障报修、服务器硬件监控)
2).基础设施运维(系统安装及初始化、⽹络维护)
3).监控运维(7×24运维值班、简单故障处理、通知相关业务负责⼈)
4).基础服务运维(包含运维开发)(内部DNS管理、负载均衡配置、系统监控报警、硬件资产管理平台、监控平台搭建、代码发布平台)
5).应⽤运维(精通公司业务、各种服务系统部署、业务系统部署、版本管理、灰度发布、应⽤监控)
6).系统运维(架构层⾯的分布式缓存、分布式⽂件系统、⽇志收集与分析、业务环境规划(测试、开发、⽣产)、业务架构设计与规划实施、服务器系统性能调优)
7).安全运维(整体的安全⽅案、规范、漏洞监测、DDOS防护、病毒防护及处理、关键程序包更新、漏洞扫描与修补等)
⼆:运维的发展线路:
1).搭建服务–可以安装服务并运⾏,由于是参加⼯作没有相关服务安装和部署经验,所以此阶段的主要⽬的是可以把服务安装并可以运⾏起来。
2).⽤好服务–适当对服务优化,⼯作⼀两年后可以根据业务的实际需求对服务做适当的优化,⽐如可以对nginx做调优和监控。
3).⾃动化–⾃动化服务的部署或监控,⼯作三到五年后可以结合⾃动化部署⼯具或编写脚本实现业务的⾃动化部署。
4).产品设计(如何设计⼀个监控系统),可以根据需要设计和部署⼤型业务系统,现在很多公司都在⽤云服务,⽐如阿⾥云、Amazon的AWS,微软的Azure,以及腾讯云、青云等等各种云计算,云计算的核⼼竞争⼒是运维,其始终离不开运维对业务的技术⽀撑,⽐如搭建云服务时的服务器选型、⽹络规划、物理机系统部署与优化、监控系统的安装配置等等。
三:⾃动化运维之运维标准化
1.物理设备层⾯:
1).服务器标签化(IP地址/与交换机接⼝/当前服务/)、设备负责⼈(管理⼈)、设备采购详情(保修⽇期)、设备摆放标准(服务器之间间隔1U通风)。
2).⽹络划分、远程控制卡、⽹卡端⼝。
3).服务器⼚商机型号同⼀、硬盘⼤⼩转速同⼀、内存统型号⼤⼩频率⼀、服务器课根据业务分类,有的要求IO⾼(存储服务器),有的要求内存⼤(缓存服务器),有的要求CPU块(代理服务器),有的对CPU和IO要求CPU和内存都⾼(数据库服务器)。
4).资产命名规范、编号规范、类型规范。
5).监控标准(统⼀阈值和监控类型)。
2.操作系统层⾯:
1).操作系统版本(不要混合使⽤linux和windows,linux发⾏版尽量统⼀)
2).系统初始化(IP、⽹关、掩码、DNS、NTP、内核参数调优、rsyslog、主机名规范、任务计划)
3).基础Agent配备(Zabbix Agent、Logstash Agent、Saltstack minion)
4).系统监控标准(CPU使⽤率、内存使⽤率、硬盘使⽤率、IO延时、⽹络状况、进程数与僵⼫进程、运⾏时间等)
3.应⽤服务层⾯:
1).Web服务器选型(LNMP/LAMP/Tomcat/MySQL)
2).进程启动⽤户⾝份及⽬录、端⼝监听规范、⽇志收集规范(访问⽇志、错误⽇志、运⾏⽇志、系统⽇志)
3).配置管理(配置⽂件规范、脚本规范)
4).架构规范(Nginx+Keepalived、LVS+Keepalived、Haproxy+Keepalived、阿⾥云SLB、Ucloud ULB等等)
5).部署规范(位置、包命名等)
4.运维操作层⾯:
1).机房巡检流程(巡检周期、巡检内容、硬件报修流程)
2).业务部署流程(先在开发环境和测试环境测试、最后后在⽣产环境部署、如出现问题⽴即回滚、出现问题先回滚再修复)
3).故障处理流程(紧急故障处理、故障升级流程及时间、重⼤故障管理、责任分配)
4).⼯作⽇志标准(如何编写⼯作⽇志周报、⽉报)
5).业务上线流程(1.项⽬发起⼈ 2.系统安装部署优化 3.部署Nginx及相关访问 4.备案及解析域名 5.上线测试 6.对服务和主机加监控 7.数据定期备份)
6).业务下线流程(谁发起,下线时间,服务器和数据如何处理。)
7).运维安全规范(密码复杂度、更改周期、VPN使⽤规范、服务登录规范、命令使⽤规范、备份还原规范)
运维标准化实现业务规范化,最终达到⽂档化的⽬的,即所有和业务相关的都有⽂档可查,包括技术⽂档、升级⽂档、故障⽂档等,也不会导致因为某员⼯离职⽽导致业务中断。
四:⾃动化运维之⼯具化:通过相关运维⼯具,替代需要⼈⼯需要多次执⾏单⼀的⼯作内容,如:
1).Shell或Python脚本(简单功能配置或修改的脚本,如⾃动修改配置⽂件、流程执⾏的脚本,如需要先修改完配置⽂件才能重启服务、检查性,如检查配置⽂件是否修改,⽇志是否⽣成、报表性的脚本,如⽣成⾃定义数据的⽂本⽂档并⾃动发送到邮箱)
2).开源监控⼯具:Zabbix ELKStack SaltStack Cobbler
3).开源部署⼯具:cobbler、walle、jenkins等
4).开源跳板⼯具:jumperserver等
运维⼯具化带来的好处:
1).促进标准化的实施
2).将重复的操作,简单化
3).将多次操作,流程化
4).减少⼈为操作的低效和降低故障率
运维⼯具化遇到的问题:
1).你⾄少要ssh到服务器执⾏。可能犯错
2).多个脚本有执⾏顺序的时候,可能犯错。
3).权限不好管理,⽇志没法统计。
4).⽆法避免⼿⼯操作。
例⼦:⽐如某天某台Web服务器磁盘可能发⽣问题,要在访问量较低的凌晨要将服务器的数据导出来放在其他服务器替代,那么需要考虑的是:
1).是否有由其他服务器连接此服务器取数据或此服务器是否到其他服务器取数据。
2).此服务器是否有定时任务计划到其他服务器执⾏或有其他服务器连接到此服务器执⾏。
3).任务计划索要涉及的内容,以及停服务是否影响其他服务器。
4).后续的代码更新问题。
五:⾃动化运维之web化
公司基于php等语⾔⾃⼰开发的可以在web通过⿏标点击就能实现代码发布和回滚等功能的web界⾯的操作平台。
1).招聘开发运维做成Web界⾯。
2).web界⾯的登录权限控制。
3).操作⽇志记录。
4).⼀键部署所有指定服务器,弱化操作流程。
5).不⽤ssh到每台后端服务器,减少⼈为误操作的故障率。
例如:
1).DNS Web管理 bind-DLZ
2).负载均衡Web管理
3).Job管理平台
4).监控平台 Zabbix
5).操作系统安装平台
六:⾃动化运维之服务化(API化)
1).DNS Web管理 ———->bind-DLZ dns-api(bind)
2).负载均衡Web管理——>slb-api(haproxy、LVS、Nginx)
3).Job管理平台————->job-api(php⾃主开发)
4).监控平台 Zabbix ——->zabbix-api(zabbix、nagios、cacti)
5).操作系统安装平台——>cobbler-api(cobbler、kickstack)
6).部署平台——————>deploy-api(安装服务软件nginx+php)
7).配置管理平台————>saltstack-api(saltstack、ansible)
8).⾃动化测试平台———>test-api(⾃主开发测试)
通过调⽤相关api实现服务器从系统安装到上线完全⾃动化:
1).调⽤cobbler-api⾃动安装指定的操作系统
2).调⽤saltstack-api进⾏系统初始化和配置
3).调⽤dns-api 解析域名和主机名
4).调⽤zabbix-api 讲该新上线机器加上监控
5).再次调⽤saltstack-api 部署访问软件(安装Nginx+PHP,Tomcat,Mysql)
6).调⽤deploy-api 将当前最新稳定版本的代码部署到服务器上的指定⽬录。
7).调⽤test-api 测试当前服务运⾏⼗分正常,如有异常,则执⾏报警等操作
8).调⽤slb-api 将该节点加⼊集
七:⾃动化运维之智能化:
能根据⼀定的策略或条件,智能化的⾃动化扩容、缩容、(服务降级、故障⾃修复),包括⾃动发布代码加进负载集等⼀些列操作
触发:指的是触发事先定义的⼀个阈值,可能是CPU使⽤率80%,也可能是并发超过100000,也可能是web访问响应时间超过5s,这是⼀个触发机制,然后要定义要做的决策,如:
1).当某个集的访问量超过最⼤⽀撑量,⽐如10000
1.1 CPU使⽤率达到xx%  内存使⽤率达到xx% 响应时间> x秒
2).此状态已经持续5分钟。
3).判断不是攻击
4).扩张资源池有可⽤资源
4.1).当前⽹络带宽使⽤率
4.2).如果是公有云(钱够不够)
5).当前后端服务⽀撑量是否超过阈值如果超过应该后端先扩容
6).数据库是否可以⽀撑当前并发
7).当前⾃动化扩展队列,是否有正在扩容的节点
8).其它业务相关的。
⾃动化扩容机制:
1).扩容之前:先判断Buffer区域是否有最近x⼩时,已经移除的之前创建的虚拟机,并查询软件版本是否和当前⼀致,如果⼀致,跳过 2 3 4步骤,如果不⼀致,跳过2 3。
2). OpenStack 创建虚拟机
3). Saltstack 配置环境—-监控
4). 部署系统部署当前代码
5). 测试服务是否可⽤(注意间隔和次数)
6). 加⼊集
7). 通知(短信、邮件)
⾃动化缩容机制:
1).触发条件和决策
2).从集中移除节点-关闭监控-移除
3).通知
4).移除的节点存放于Buffer⾥⾯。
5).Buffer⾥⾯超过1天的虚拟机,⾃动关闭,存放于xx区
6).Buffer区的虚拟机,每7天清理删除。

本文发布于:2024-09-20 11:54:19,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/87464.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:服务器   运维   部署   服务   规范   业务   系统
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议