概述
初级
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天清理删除。
停留在世界边缘,与之惜别