监控系统建设
系统监控作为系统运行稳定性保障不可缺少的一部分;
通过技术手段发现服务异常,预防故障的发生,为优化业务可用性与用户体验提供数据基础。
监控体系
不同系统组成的系统。比如对于一个有一定体量的公司,需要一些不同的监控系统,通过系统与系统间的内部交互来组成一个大的整体,从而完成对不同场景下的监控需求即监控体系,并且每个系统不是一个孤立的数据孤岛。例如某公司的整体的监控体系
目标
及时发现异常;
快速定位异常;
本质
服务的稳定性做预防;
为系统保护提供数据依据,预防故障的发生;
要求
- 准确性
尽力避免误报,不断降低漏报。 - 实时性
尽量降低监控的延迟 - 全面性
根据公司业务监控场景、系统复杂度、预算等判断监控的范围。
全面性分析
监控维度
监控对象
监控指标
- 标准指标
web服务:Rate(qps)、Errors – 每秒失败的请求数、RT - 个性指标
思考
实战: 监控平台
统一监控平台由七大角色构成:监控源、数据采集、数据存储、数据分析、数据展现、预警中心、CMDB(企业软硬件资产管理)。
数据采集
- 监控指标
不同的监控对象,不同的指标。 - 采集方式
通常可以分为接口采集、客户端agent采集、通过网络协议主动抓取(http、snmp等)
数据存储
采集到的数据一般都会存储到文件系统(如HDFS)、索引系统(如elasticsearch)、时序库(如influxdb)、消息队列(如kafka,做消息临时存储或者缓冲)、数据库(如mysql)
数据分析
针对采集到的数据,进行数据的处理。处理分两类:实时处理和批处理。技术包括Map/Reduce计算、全日志检索、流式计算、指标计算等,重点是根据不同的场景需求选择不同的计算方式
预警
如果在数据处理过程发现了问题,则需要进行异常的分析、风险的预估以及事件的触发或告警
CMDB(企业软硬件资产管理)
软硬件资产的元数据