运维知识系统、运维分类、运维自动化发展

运维学习和发展的一个线路:

1、搭建服务(部署并运行起来)

2、用好服务(监控、管理、优化)

3、自动化(服务直接的关联和协同工作)

4、产品设计(如何设计一个监控系统)

运维分类

机房运维(负责设备上下架、巡检、报修、硬件监控)

基础设施运维(系统初始化、网络维护)

 

基础服务运维(内部DNS、负载均衡、系统监控、资产管理、运维平台)包含运维开发

系统运维(架构层面的分布式缓存、分布式文件系统、日志收集、环境规划(测试、开发、生产)、架构设计、性能优化)

 

安全运维(整体的安全方案、规范、漏洞监测、安全防护等)

 

应用运维(业务熟悉、服务部署、业务部署、版本管理、灰度发布、应用监控)

监控运维(7*24运维值班、故障处理)

 

云计算的核心竞争力是运维!

运维知识

转自:https://www.unixhot.com/page/ops

运维知识系统、运维分类、运维自动化发展

 

 

运维知识系统、运维分类、运维自动化发展

 

 

 

 

运维自动化发展

 运维标准化:

  • 物理设备层面:

1. 服务器标签化、设备负责人、设备采购详情、设备摆放标准

2. 网络划分、远程控制卡、网卡端口

3. 服务器机型、硬盘、内存统一。根据业务分类

4. 资产命名规范、编号规范、类型规范

5. 监控标准

  • 操作系统层面:

1. 操作系统版本

2. 系统初始化(DNS、NTP、内核参数优化、rsyslog、主机名规范)

3. 基础Agent配备(Zabbix Agent、Logstash Agent、Saltstack minion)

4. 系统监控标准(CPU、内存、硬盘、网络、进程)

  • 应用服务层面

1. Web服务器选型(Apache、Nginx)

2. 进程启动用户、端口监听规范、日志收集规范(访问日志、错误日志、运行日志)

3. 配置管理(配置文件规范、脚本规范)

4. 架构规范(Nginx+Keepalived、LVS+Keepalived等)

5. 部署规范(位置、包命名等)

  • 运维操作层面:

1. 机房巡检流程(周期、内容、报修流程)

2. 业务部署流程(测试、生产、回归)

3. 故障处理流程(紧急处理、故障升级、重大故障管理)

4. 工作日志流程(如何编写工作日志)

5. 产品上线流程(发起-> 评审 -> 测试 -> 开发 -> 部署 -> 上线 -> 监控 -> 备份)

6. 产品下线流程(谁发起,数据如何处理)

7. 运维安全规范(密码复杂度、更改周期、VPN使用规范、服务登录规范)

  标准化(规范化、流程化、文档化)目标:文档化

  所有问题不要成为历史遗留问题

 运维工具化

1、SHELL脚本(功能性(流程)脚本、检查性)

2、开源工具:Zabbix、ELKStack、SaltStack、Cobbler

目标:

1. 促进标准化的实施

2. 将重复的操作,简单化

3. 将多次操作,流程化

4. 减少人为操作的低效和降低故障率

工具化和标准化关系紧密!

       痛点:

              1、你至少要ssh到服务器执行,可能犯错

    2、多个脚本有执行顺序的时候,可能犯错

    3、权限不好管理,日志没法设计。

    4、无法避免手工操作。

  例如某天我们要对一台数据库从库进行版本停机升级。那么要强进行评估:

  停机影响:3:00晚上有定时任务链接改数据库,做数据报表统计。

  1、凌晨3:00我们所有系统的定时任务有哪些  crontab

  2、这些crontab哪些链接我们要停止的从库

  3、哪些可以停,哪些不能停(修改到主库),哪些可以后补。

  4、这些需要后补的脚本是哪个业务、谁加的、什么时候加的。

  运维平台化(Web化)

1、做成Web界面

2、权限控制

3、日志记录

4、弱化流程

5、不用ssh到服务器,减少人为操作造成的故障(web ssh)

 运维服务化(API化)

DNS Web管理 bind-DLZ  dns-api

负载均衡Web管理  slb-api

Job管理平台  job-api

监控平台Zabbix  zabbix-api

操作系统安装平台  cobbler-api

部署平台  deploy-api

配置管理平台  saltstack-api

自动化测试平台  test-api

1. 调用cobbler-api安装操作系统

2. 调用saltstack-api进行系统初始化

3. 调用dns-api 解析主机名

4. 调用zabbixx-api 将新上线机器加上监控

5. 再次调用saltstack-api部署软件

6. 调用deploy-api 将当前版本的代码部署到服务器上

7. 调用test-api 测试当前服务运行

8. 调用slb-api 将该节点加入集群

运维智能化

智能化的自动化扩容、缩容、服务降级、故障自愈

触发机制 –> 决策系统(决策树) –>

1、zabbix 触发action

触发:

1. 当某个集群的访问量超过最大支撑量

(1) CPU使用率达到xxx 内存使用率达到xxx

2. 并持续5分钟

3. 不是攻击

4. 资源池有可用资源(当前网络带宽使用率、如果是公有云–钱够不够)

5. 当前后端服务支撑量是否超过阀值,如果超过应该后端扩容

6. 数据库是否可以支撑当前并发

7. 当前自动化扩展队列,是否有正在扩容的节点

8. 其它业务相关的

之前: 先判断Buffer是否有最近X小时,已经移除的之前删除的虚拟机

并查询软件版本是否和当前一致,如果一致,跳过2、3、4步骤

如果不一致,跳过2、3步骤

2、 OpenStack 创建虚拟机

3、 Saltstack 配置环境

4、部署系统、部署当前代码

5、测试服务是否可用(注意间隔和次数)

6、加入集群

7、通知(短信、邮件)

自动化缩容:

1. 触发条件和决策

2. 从集群中移除节点

3. 通知

4. 移除的节点存放于Buffer里面

5. Buffer里面超过1天的虚拟机,自动关闭,存放于删除区

6. 删除区的虚拟机,每7天清理删除

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/209135.html

(0)
上一篇 2021年12月7日
下一篇 2021年12月7日

相关推荐

发表回复

登录后才能评论