1. 应用自检
1.1. 功能截图
1.2. 知识点
说明应用自检可以定时(每分钟)对应用进行检查,发现问题后能及时推送检查结果。
1. 应用自检方式:通过应用探针采集监控数据,对数据进行分析处理,汇总出自检报告
2. 应用自检作用:相比于传统排查应用问题的方式,应用自检可以通过对应用的实时检查,提早发现应用潜在的问题,防止问题不断恶化导致应用无法提供服务甚至奔溃
3. 目前实现的诊断器
- CPU诊断器
- 内存诊断器
- 资源诊断器
- 存储诊断器
- 日志诊断器
- 交易诊断器
- 数据源诊断器
- 应用组件诊断器
- 降级熔断诊断器
1.3. 功能详情
应用自检有多个维度的自检结果展示。从全系统到应用再到实例的一个统计,历史异常数据的查询,以及多种视图的切换。还可以在自检历史页面直接导出自检数据,数据为HTML格式,在外部浏览器打开,方便开发工程师在其他环境直接查看。
1.3.1. 诊断配置
使用应用自检需要打开右上角应用自检开关。
自检配置支持导入与导出,点击左上角的导入导出按钮即可。
导出按钮会导出全局配置加已有的应用配置。
导入按钮会导入全局配置以及上次导出的应用配置。
上次没有导出的应用配置不会被覆盖。
点击左上角全局配置,进入自检配置,进行诊断器的开关以及触发阈值,错误级别进行配置。
这里我们可以对每个诊断器以及诊断器下的诊断项进行配置。点击右下角确定按钮保存配置。
点击还原配置可以还原到默认配置。
对于应用,默认情况下使用全局配置,也可以点击操作列的自检配置来新增自己的个性配置,新增时会自动继承当前的全局配置。
新增配置后可以点击删除配置,应用会继续使用全局配置。
1.3.2. 应用列表
该页面展示了全系统每个应用的自检状态,是否有实例延迟未推送,是否有警告,是否有错误,最近24小时是否产生过错误。超过5分钟未上送数据的应用会从自检列表中移除。
点击左上角错误项可以切换到错误项视图,展示所有异常的诊断项
左上角统计视图可以从诊断器和应用两个维度对历史异常和警告的数据做一个统计展示。
1.3.3. 实例列表
点击应用列表操作列的实例列表按钮进入实例视图,这里展示了开启的所有诊断器。
状态说明
- 页面右上方可以看到状态过滤的复选框,默认情况下,我们不展示检查正常的选项。
- 警告和异常指的是诊断器检查到错误,根据配置的规则会推送警告或者异常的诊断项。
- 失败指的时进行诊断时,产生了不可预知的问题,这时候我们会上送异常栈
- 关闭指的是诊断项开关被关闭,但是24小时内有产生过异常和警告的数据,会显示为关闭,否则该关闭的诊断项不会被展示。
1.3.4. 自检报告
异常和警告的诊断器会产生自检报告,在所有可以看到自检报告按钮的列表上,点击操作列的自检报告就可以查看当前诊断器的诊断报告。下面我们以CPU诊断器为例
报告顶部是报告的内容,采集时间,实例,服务器,报告级别等信息。
报告的摘要部分展示了是否有异常或者警告事件,触发了什么规则,具体的关键数据等。
对于异常和警告事件我们还有详细的信息。
罗列了事件、级别、规则、以及对该异常诊断项的说明和解决方法
详细报告部分是对整个事件的完整说明,可以让运维人员更清晰地发现出现问题的原因。
详情部分会采集和处理一些关键数据,来辅助问题的排查。
如图应用CPU高的时候,我们采集了应用近一段时间的CPU监控(3分钟,15分钟,3小时,3天),监控图表可放大查看。
触发高CPU诊断项时,也同时实时采集了现场的线程栈,并关联交易链路,可以进行跳转。
同时高CPU的线程栈内还可以进行反编译操作,方便对高CPU问题代码的定位。
通过线程栈的按钮进行类反编译结果如下。
CPU诊断器在服务器CPU高的时候也会采集监控以及服务器的一些信息。
通过上面的详细报告和实时采集的数据,提高了问题定位的速度和便利性。