一、报错现象 可以前往“九宫格-订阅计划-页面订阅”进行查看 二、整体问题出发点及排查思路介绍 1、中心思想: 针对pdf服务资源导出失败的情况,很大的可能是当时页面订阅的开始执行,去获取页面资源,但是页面卡片的数据没有加载出来,从而引发的一系列报错 2、困难点: 因为一个仪表板页面可能存在多个卡片,多个卡片可能再次查看的时候数据加载就正常了,而在6.6版本之前,无法打印出具体的报错卡片信息来源,因此造成了很多不便 (GALAXY-13574优化) 3、排查思路 1)因为无法获取报错卡片信息来源,所以可以前往“管理员设置-运维管理-运维日志”获取页面订阅执行时间段的“server”和“PDF Export Service”日志信息进行具体的排查 2)定位报错卡片: 2.1)拿到日志后,首先排查“PDF Export Service”,通过搜索“导出失败”定位具体的报错卡片。如下图,日志打印出来的“导出失败:存在请求失败的卡片”后面的部分就是卡片id。 2.2)而一份日志里面可能会存在多个“导出失败”的信息,因此我们需要根据卡片id去搜索是否符合报错的页面订阅对应的页面卡片 3)定位具体报错信息: 3.1)通过第二步我们可以获取到具体的报错卡片来源,然后可以根据server日志定位具体的报错信息 3.2)通过对server日志搜索卡片id,如下图,获取到具体的报错信息: 4)分析报错: 4.1)可以了解到“数据库异常... Maximum: 420”,这个是因为预估的查询执行时间超出了系统设定的最大允许时间而导致的错误。 4.2)根据报错信息,因此可以判断是卡片查询数据大导致超过数据库允许的最大查询时长而导致的报错,或者可以结合“任务管理-任务明细”去了解,当时是否处理系统运行高峰期,数据库的性能压力比较大导致。 5)解决措施: 5.1)优化卡片所使用数据集的模型结构语句,或者在页面增加筛选条件,减少查询数据量,保障卡片数据的正常预览展示 5.2)联系数据库管理员调整数据库允许的最大查询时长和提升数据库性能 5.3)调整页面订阅的执行时间,错峰运行,减少数据库的压力 |