概述

 

初级
    
  1.识别监控对象(分级)
      2.理解监控对象
      3.细分监控对象的指标
      4.确定告警的基准线

 预中级
      1.工具化和监控分离
      2.监控对象的分类:    
                   2.1硬件监控 (方法: 机房巡检IPMI、SNMP)
                   2.2系统监控 (对象: CPU、内存、10【磁盘、网络】)
                   2.3服务监控 (对象: 各类服务[Nginx|Tomecat|RabbitMQ|OpenStack|MySQL|*]
                   2.4曰志监控 (方法: Elastic Stack)
                   2.5网络监控 (方法: 第三方、Smokeping)
                   2.6APM应用性能管理(工具:PINPoint)  
                   2.7流量监控 (工具: Piwik、XX 统计、XX 分析)
                   2.8其它监控 (APP监控、安全监控、业务监控、輿论监控、XX监控等等等) 
      3.掌握一个监控工具。例如 nagios\zabbix


 中级
      0.标准化监控(标准化的脚本、模板、...)
          1.分布式监控〔主动、被动、分布式〉  
      2.自动化监控(自动发现、主动注册(Agent主动注册、Server主动添加(API))
      3.性能优化(数据采集、数据存储、数据査询)
      4.二次开发(定制报表、API调用、XXX )

 进阶(从精通到放弃)

      1.告警阈埴动态化
      2.智能告警:(1.告警去重2.依赖)
      3.故陣自愈(事件或动、主动控制)
      4.大规模

 

物理设备层面:

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.业务上线流程(1.项目发起2.系统安装3.部署Nginx4.解析域名5.测试6.加监控7.备份)

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

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

 

 

工具化:

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

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

目标:

1.促进标准化的实施

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

3.将多次操作,流程化

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

工具化和标准化是好基友!

痛点:

1.你至少要關h到服务器执行。可能犯错

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

3.权限不好管理,日志没法统计。

运维操作平台

例子:Job管理平台

    1.做成Web界面

    2.权限控制

    3.日志记条

    4.弱化流程

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

 

DNS Web管理  bind-DLZ   dns-api

负载均衡Web管理        slb-api

Job管理平台        job-api

监控平台Zabbix     zabbix-api

操作系统安装平台    cobbler-api

配置管理平台 saltstack-api

自动化测试平台   test-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将该节点加入集群

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

 触发机制-->策系统(决策树)-->zabbix触发Action

 

触发:

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

                1.1 CPU使用率达到XXX 内存使用率达到XXX

    2.并持续5分钟。

    3.不是攻击

    4.资源池有可用资源

                4. 1.当前网络带宽使用率

                4. 2.如果是公有云一一钱够不够

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

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

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

    8.其它业务相关的。

 

之前:先判断Buffer是否有最近x小时,已经创建的虚拟机。

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


    1.OpenStack创建虚拟机

    2. Saltstack配置环境----+监控

    3.部署系统部署当前代码

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

    5.加入集群

    6.通知(短信、邮件)

 

自动化缩容:

1.触发条件和决策

2.从集群中移除节点 -关闭监控-移除

3.通知

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

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

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