May 31, 2016
APM 需求分析
用户需要什么?
日常运维
读 newrelic 产品介绍的启发
newrelic 界面研究
因为 transaction 和 event 的概念已深入我心,这些在 cat 那篇研究文章已重点关注,所以这里的关注点不会在这两个核心上。这里的重磅是 service maps。
首页
。
- 导航栏 Menu 很整齐,悬浮上去会高亮,有反馈,用户心理比较舒服;第一个用来切产品
- 专门的文档站点;API 文档用户可以交互 (API explorer);文档有搜索,分门别类,特别丰富
- APM 菜单包括:applications、service maps、key transactions、alerts
- app 可以有 label,方便搜索
- app 列表每一项包含:颜色条(应该是表明健康不健康), Name, End User, Page Views, App server, Throughput, Error%,
settings (跳往 alert 和 app 相关配置)
- 列表中每一项都可以有链接:Error% 链接到错误分析。
- Recent Events
Service maps
目前正在做 service maps,待做完再填充理解和体会。
Events
Error
。
- 可定制 grouped by 属性
- 左边有 filter 和 group by.
- currently grouped by.
- error attributes: error class, error message, host, transaction name; custom attributes; request header attributes; other request attributes (request method).
- Top 5 errors by
grouped by
。图表之间空白的地方,悬浮上去,会显示 View query 和 View in insights。
- Top 5 transaction by error count
- Error traces 列表。列表项是 Timestamp, transaction name, error class, error message.
启发
sentry、newrelic 的错误给的启发:
- 先把所有错误收集起来。
- 错误数据的 slice:错误类型,错误所在的 transaction,错误的其他 key value pair (server),请求的相关属性(status, browser, device, url, query)
- 异常栈及 locals,replay。
- 请求 ID.
部署
Reports
- 容量管理。Application capacity analysis: Use this page to help understand how many instances of your application are running
and how busy they are (what percent of time instances are processing requests), 容量是否到瓶颈了,需要扩容了。在引入容器后,容器支持自动扩容
,该需求有所降低。
- scalability 分析。结果将输出至架构调整或代码优化。Response time, Database, CPU, 三者分别为纵轴,请求量为横轴。
- web transactions/database/background jobs。响应时间,Apdex score,请求量在过去一天,过去一天的前一天,上周同一天,7天平均的值。