【运维】运维知识体系(运维体系化成长)

文章目录

      • 职能划分
        • 应用运维
        • 安全运维(安全宝)
        • 监控运维
        • 系统运维 (阿里云)
      • 运维标准化
        • 1. 物理设备方面
        • 2. 操作系统层面
        • 3. 应用服务层面
      • 工具化
        • 1. shell脚本
        • 2. 开源工具
        • web化
          • 好处
        • 服务化(API)
        • 智能化
          • 自动化扩容(虚拟机)
            • 触发机制->决策系统(决策树)
            • 工具
            • 工具2
          • 自动化缩容
          • 缩容
          • 服务降级
          • 故障自愈
        • 基于ITIL的运维管理体系
          • 服务
          • 服务管理
          • ITSM(IT service manage)
          • ITIL(IT 基础架构库)是ITSM的最佳实践,是一种标准
          • 管什么
          • PDCA四阶段
          • 服务台(呼叫中心)
        • 监控概述
      • 缓存

职能划分

应用运维

项目上线、服务部署、业务部署、版本管理、灰度发布、应用监控

安全运维(安全宝)

整体安全方案、规范、漏洞监测、安全防护

监控运维

7X24 故障处理

系统运维 (阿里云)

分布式缓存、分布式文件系统、日志收集、环境规划(测试、开发、生产)、架构设计、性能优化
基础服务运维
DNS、负载均衡、系统监控、运维平台、系统监控

运维标准化

1. 物理设备方面

  1. 服务器标签化、设备负责人、设备采购详情、设备摆放
  2. 网络划分、远程控制卡、网卡端口
  3. 服务器机型、硬盘、内存统一、根据业务分类
  4. 资产命名规范、编号、类型
  5. 监控标准

2. 操作系统层面

  1. 操作系统版本
  2. 系统初始化(DNS、NTP、内核参数调优、rsyslog、主机名规范)
  3. 基础Agent配置(zabbix agent 、logstash agent 、saltstack minion)
  4. 系统监控标准(CPU、内存、硬盘、网络、进程)

3. 应用服务层面

  1. web服务器选型(Apache、Nginx)
  2. 进程启动用户、端口监听规范、日志收集规范( 访问日志、错误日志、运行日志)
  3. 配置管理(配置文件规范、脚本规范)
  4. 架构规范(Nginx+keepalived、lvs+keepalived)
  5. 部署规范(位置、包命名)

工具化

1. shell脚本

功能性、检查性、报表性

2. 开源工具

  • zabbix 监控
  • elkstack 日志收集、分析
  • saltstack 批量管理、配置管理
  • cobbler 自动化安装

web化

好处
  • 权限控制
  • 日志记录
  • 弱化流程
  • 不用ssh到服务器,减少人为错误

服务化(API)

新增集群节点流程

  1. 调用cobbler-api安装操作系统
  2. 调用saltstack-api进行系统初始化
  3. 调用dns-api解析主机名
  4. 调用zabbix-api给上线机器加上监控
  5. 再次调用saltstack-api部署软件(安装nginx+php)
  6. 调用deploy-api 将当前版本的代码部署到服务器
  7. 调用test-api 测试当前服务器运行是否正常
  8. 调用slb-api 将该节点加入集群

智能化

自动化扩容(虚拟机)
触发机制->决策系统(决策树)
  1. 访问量超过最大支撑量

    1. CPU使用率
    2. 内存使用率
  2. 持续5分钟

  3. 不是攻击

  4. 资源池有可用资源
    1.带宽
    2.钱

  5. 当前后端服务支撑量是否超过阈值

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

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

  8. 其他业务相关

工具
  1. zabbix触发action
  2. 判断buffer里是否有最近已经创建的虚拟机,并查询软件版本是否和当前一致
  3. openstack 创建虚拟机
  4. Saltstack配置环境 ----监控
  5. 部署系统,部署当前代码
  6. 测试服务是否可用(注意间隔和次数) 例如 curl,不返回200 sleep 5秒再访问 sleep 20 再访问
  7. 加入集群
  8. 通知(短信、邮件通知)
工具2
  1. 部署openstack
  2. 创建虚拟机
  3. 部署mesos + docker + marathon
  4. 自动化创建docker容器进行自动化扩容
自动化缩容
  1. 触发条件和决策
  2. 从集群中移除节点 --关闭监控–移除
  3. 通知
  4. 移除节点放在buffer里,以待未来扩容
  5. buffer里超过一天的虚拟机,自动关闭,存放于xx区
  6. xx区的虚拟机,每7天清理删除
缩容
服务降级
故障自愈

基于ITIL的运维管理体系

服务

是向客户提供价值的一种手段,使客户不用承担特定的成本和风险就可以获得所期望的结果

服务管理

特定的组织能力

ITSM(IT service manage)
ITIL(IT 基础架构库)是ITSM的最佳实践,是一种标准
  • 公共框架
  • 流程和专有名词
  • 目的
    • 标准化、模式化
    • 告诉业务部门,我们做了什么
    • 通过系列流程,知识库减轻对英雄式工程师的依赖
    • 通过对流程的管控,减少成本
管什么
  • 能力
  • 资源
PDCA四阶段
  • 计划
  • 实施
  • 检查
  • 处理
服务台(呼叫中心)
  • 纽带,任务分发
  • 监视器
  • 路由器
  • 客服窗口
  • 广播台
  • 过滤器(过滤无用请求)
  • 单一联系点

监控概述

  • 监控对象(需要理解原理)

    • CPU

    • 远程控制卡(和网卡口一样)

      1. DELL服务器 iDRAC
      2. HP服务器 ILO
      3. IBM服务器 IMM
      4. Linux可以使用IPMI协议和BMC控制器通信
  • 监控对象的指标

    • CPU使用率
    • CPU负载
    • CPU个数
    • 上下文切换
    • 确定性能基准线(报警线)
  • 监控范围(监控哪些对象)

    • 硬件故障

    • 操作系统监控(资源监控)

      1.CPU
      2.内存
      3.IO
      4.进程

    • 服务监控

  • 硬件监控

    • 工具 ipmitool
      • 支持
        • 硬件
        • 操作系统
      • 安装
        • yum install -y OpenIPMI ipmitool
      • 使用方式
        • 本地
        • 远程
      • 网络配置
        • 网卡
        • 独立 交换机
    • 机房巡检
    • 路由器和交换机的监控
      • SNMP( 简单网路管理协议)
  • 系统监控

    • CPU
      • 上下文切换
        • 结合CPU使用来看
      • 运行队列
        • 1-3线程 1CPU 4核 负载不超过12
      • 使用率
        • 用户态
          • 65%-70%
          • 30% -35%
        • 内核态
      • 确定服务类型
        • IO密集型
        • CPU密集型
      • 确定性能基准线
        • 1-3线程
    • 内存监控
      • 页 4k
      • 寻址
      • 空间
      • 内存使用100%后,Linux会自动kill掉占内存最大的进程
    • 硬盘(IOtop)
      • IOPS IO’S per second
      • 类型
        • 顺序IO(block是顺序连接的)
        • 随机IO
      • iftop(网络IO)
        • 阿里测
        • 奇云测
    • IBM nmon(提供系统状态报表)
  • 应用程序监控

    • Nginx(举例)
    • ./configure 执行它的作用 生成makefile
  • Zabbix

    • 监控类型
      • IPMI
      • SNMP
      • JVM
    • 模式
      • server-agent
    • 体系
      • 采集 存储 展示 告警
    • 组成
      • zabbix-server
      • 采集的数据存入mysql
      • zabbix-agent(所有待监控机器中需要安装)
      • web界面
    • 自定义监控项
      • cat /etc/zabbix/zabbix_agentd.d/nginx.conf

缓存

  • 参考内容 www.unixhot.com/page/cache
  • 缓存 cache 读缓存
    • 用户层 客户端 浏览器
  • 缓冲 buffer 写缓冲
  • 存放介质
    • 客户端 浏览器
    • 内存 本机内存 远程服务器内存
    • 硬盘 本机硬盘 远程服务器硬盘
  • 特性
    • 过期时间
    • 强制过期
    • 命中率
  • redis集群
    • 客户端分片
      • 优势 :简单 可控
      • 缺点 : 手动 手动故障解决 手动数据迁移
    • redis cluster
    • proxy
      • twemproxy
      • codis

你可能感兴趣的:(运维,知识体系)