基础设施监控报警
监控指标
系统要素指标
- CPU
- 内存
- 磁盘
网络要素指标
- 带宽
- 网络 IO
- CDN
- DNS
- 安全策略
- 负载策略
监控工具
第三方工具
- ZABBIX
- folcon
- Prometheus -> 系统要素指标、大部分网络要素指标、开箱即用的容器监控
运营商高防 IP、CDN、DNS 监控平台 -> 网络攻击、网络加速等
报警策略
时间维度 -> 采集频率(分钟、秒)
报警级别 -> 紧急,重要,一般
阈值设定 -> 绝对值 / 占比
自身状态监控报警
监控指标
- 流量
- 耗时
- 错误
- 心跳
- 客户端数
- 连接数
监控工具
- CAT
- SkyWalking
- Pinpoint
- Zipkin
- 自研
报警策略
监控粒度:项目、单机、接口
AIOps:根据报警级别自动处理
- 流量报警 -> Kors
- 稳定性问题 -> 单机下负载,迁移
依托第三方存储服务的监控报警
存储服务
- DB
- ES
- Mongod
- Redis
- MQ
监控指标
- 集群、节点和分片信息
- 存储数据信息
本质也是集群服务,微服务监控的它也要监控
监控工具的方法论
数据采集
客户端收集
- 方式:操作服务端之前加入代码进行统计
- 缺点:干扰客户端代码
代理层收集
- 方式:建设中间层,收集和上报数据
- 例如:微服务的网关层,存储服务的代理层
- 缺点:开发维护成本高,增加链路节点(风险提高)
服务端自带命令或 API
- 例如:Redis info, mongostat, mongotop
- 缺点:粒度较细时浪费服务端流量,影响可用性及性能
服务端日志
- 例如:微服务自身的日志
- 缺点
- 存储服务为保证性能而使用异步写入支持,延迟较高
- 第三方服务的特殊日志格式,提高采集门槛
在故障发生前
研发质量
代码质量
测试质量
黑盒测试
白盒测试
自动化测试
压力测试
个人能力
业务深度、广度
技术深度、广度