1.基本概念
-
硬件的监控
- 机器CPU
- 内存
- 磁盘
- 网络
-
业务的监控
-
可能出现的问题
- 数据库的主从延迟变长
- 接口响应时间变长
- 系统中出现大量错误
-
监控的指标如何选择?
-
采集指标有哪些方法和途径
-
指标采集到如何处理和展示
-
2.监控指标如何选择(监控什么?)
-
谷歌分布式系统监控,4个黄金信号量:
-
延迟
- 请求的响应时间
- 访问数据库和缓存的时间
-
通信量 吞吐量
-
错误
- 网络服务错误 4xx 5xx
- error
-
饱和度
- CPU使用率
- 内存使用率
- 磁盘使用率
- 缓存数据库连接数
-
-
RED指标体系\
-
R 代表请求量(Request rate)\
-
E 代表错误(Error)\
-
D 代表响应时间(Duration\
-
-
根据业务特色进行监控
- 数据库主从延迟数据
- 下次队列对滴情况
- 缓存的命中率
\
3.如何采集数据指标
采集方式
-
Agent
-
在具体的机器上启动监控服务
-
收集数据,发送给监控系统
- 连接memcached客户端
- JMX 内存信息、GC信息、kafka
-
-
代码中埋点
- 将计算调用资源或者服务耗时、调用量,并发送给监控服务器
-
日志
-
通过成熟的日志采集工具
-
Apache Flume
-
Fluentd\
-
Filebeat
-
-
4.监控数据的处理与存储
-
1.首先使用消息队列承接数据
-
2.处理数据
-
把数据写入到 Elasticsearch(反索引),然后通过 Kibana 展示数据
-
流式处理的中间件,比如 Spark、Storm\
- 解析日志
- 聚合运算
- 可以存储在时序数据库中
- 绘制报表
-
-
3.形成报表
-
访问趋势报表,整体运行情况\
-
性能报表,程序中的阿米点\
-
资源报表,具体资源的报表\
-
5.总结
-
监控指标
- 耗时
- 请求量
- 错误数
-
数据采集方式
- Agent
- 埋点
- 日志
-
监控体系
- 趋势报表 woter
- 性能报表 bamai
- 资源报表 odin