监控什么
用户体验相关
- 首屏时间
- 文件加载时间
- 页面性能(performance)
产品上线后是否出现异常
- 路由切换(href、hashchange、pushState)
- JsError
- 资源错误
- API
- 日志上报
应用监控
管理、监控一个软件应用的性能与可用性 。
- 客户端的日志
- 宿主机的心跳状态
监控粒度
Trace(分布式链路追踪)
即一次完整的事务调用请求。比方说一个用户的下单请求,经过层层服务预处理,到支付服务成功,数据落库,成功返回,这就是一条完整的 Trace 。Trace 最大的特点就是它含有上下文环境,通常来说会由一个唯一的 ID 来进行标识。一个 Trace 内可能有多个不同的事务 (Transaction) 以及标志事件 (Event) 组成。
- 依赖合理性
- 调用性能分析
- 资源容量规划
服务的质量:
- 响应时间(性能)
- 错误率
- 稳定性
服务可能存在的问题:
- 服务耗时突增
- 服务出现错误
- 服务调用存在长尾
Log
即日志。代表了用户主动记录的离散的数据。通常来说就是用户采用 logging 组件输出到日志文件的具有 WARN,INFO,ERROR 等用来表示不同执行状态级别的信息。这些日志信息在用户进行问题分析判断时可以提供更为详尽的线索。
Metric
代表了用户定义关心的或者通用的预定义的一些运行时指标。通常来说,Metric 具有时序可累积性。根据不同的粒度需求,Metric 可以做到小时级、分钟级、秒级等。通常来说, Metric 是数据采集项目的聚合,旨在为用户展示某个指标在某个时段的运行状态。
Report
报表是针对某种特定领域,经过对收集而来的各种数据进行统计、分析而产生的关键信息展示载体。报表含有丰富的信息,通过报表用户可以获得关于特定领域指标集的多维信息,从而更好地作出排障、调优决策。