在 Tableau server 中,系统默认内置了多个管理视图,包括视图性能、提取性能、磁盘空间等多个主题。

近期,喜乐君为某外资客户提供了“Tableau Server 服务器运维服务”,为之诊断提取时间漫长、资源不足等问题。

期初,我准备使用系统默认的视图,比如上面的“数据提取的后台任务”,如下所示:

官方视图内容翔实,但如果我要检查一周甚至一个月的数据提取,那么上面就会出现很长的滚动条,我很难检查每个提取的频次、时长等关键信息。

为此,聪明的服务器管理员可以连接 Tableau Server 的内置存储库Repository,使用其元数据底表完成自定义可视化分析——毕竟手中有 Tableau,还有什么可怕的呢。

我的数据提取检查视图

为此,我申请开通了 Tableau Repository 的访问权限,而后连接 Postgresql 数据库,使用如下数据表完成分析:

_background_task 数据表:

该视图包含后台任务和系统任务的关键信息。

This view combines the important contents of both the background_jobs table and the async_jobs table to give an overall picture of jobs that were given to a backgrounder process.

该数据表的元数据如下所示:

public._background_tasks:
NameTypeDescription
backgrounder_idcharacter varyingThe id of the backgrounder process that did the work.
idintegerThe primary key of either the background_jobs record or the async_jobs record, depending on where this record is coming from.
created_attimestamp without time zoneWhen this record was created.
completed_attimestamp without time zoneWhen the job finished execution. When set, this should generally agree with the updated_at field.
finish_codeintegerCompletion status for the job. Will be 0 for success, 1 for failure, and 2 for cancelled.
job_typecharacter varyingThe type of job being run. This looks a bit odd because it comes from a serialized symbol.
progressintegerCan be used to indicate percent complete for the job, but in most cases simply gets set to 100 when the job is completed.
argstextUsed as a means of passing parameters about the background job. This information is stored in a special serialized format, and thus is not easily readable.
notestextCan be used to store additional information about the running of the job.
started_attimestamp without time zoneWhen the execution of the job was started. This is not generally the same as created_at, because it may take some time before a backgrounder “notices” the newly created record and begins to process it.
job_namecharacter varyingA nice readable name for this type of job.
priorityintegerControls which background_jobs records are processed first. The highest priority is 0, and the lowest is 100. Integer values in between are also valid.
titlecharacter varyingCan be used to provide some additional information about the job.
processed_on_workercharacter varyingIdentifies the machine on which the job is run.
subtitlecharacter varyingCan be used to provide some additional information about the job.
languagecharacter varyingThe language for the job is listed here.
site_idintegerLinks to a site, if one is relevant, otherwise it is left NULL.
localecharacter varyingThe locale for the job is listed here.
subscriptions_attach_imagebooleanBoolean that represents whether to attach images to a subscription background_job. Will be NULL if the background_job is not a subscription.
subscriptions_attach_pdfbooleanBoolean that represents whether to attach a PDF to a subscription background_job. Will be NULL if the background_job is not a subscription.

于是,我使用上述数据表构建了一个管理视图仪表板,如下所示:

从上面可以看出,这里存在两个 Reporting_v2的数据模型,而且提取频率完全一致(每隔15分钟增量刷新),过去4天,每个数据累计提取时长102分钟,每次不足1分钟。

这样,我就能发现数据源存在的同质化问题,问题出在新数据源在不同位置发布了两遍,而我之前没有意识到!

这种仪表板相比官方仪表板更适合长周期的检查分析,通过交互可以发现异常,也可以表示所有细节。

比如我发现有一个提取比平时要久一些(颜色更深),所以我可以鼠标悬停查看细节,如下所示:

是不是非常优雅。

Tableau Server 不仅仅是 BI,更是 DW/BI 一体化的平台。欢迎中小企业前来咨询。

官方元数据参考:

类似文章