在 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: | ||
---|---|---|
Name | Type | Description |
backgrounder_id | character varying | The id of the backgrounder process that did the work. |
id | integer | The primary key of either the background_jobs record or the async_jobs record, depending on where this record is coming from. |
created_at | timestamp without time zone | When this record was created. |
completed_at | timestamp without time zone | When the job finished execution. When set, this should generally agree with the updated_at field. |
finish_code | integer | Completion status for the job. Will be 0 for success, 1 for failure, and 2 for cancelled. |
job_type | character varying | The type of job being run. This looks a bit odd because it comes from a serialized symbol. |
progress | integer | Can be used to indicate percent complete for the job, but in most cases simply gets set to 100 when the job is completed. |
args | text | Used 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. |
notes | text | Can be used to store additional information about the running of the job. |
started_at | timestamp without time zone | When 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_name | character varying | A nice readable name for this type of job. |
priority | integer | Controls which background_jobs records are processed first. The highest priority is 0, and the lowest is 100. Integer values in between are also valid. |
title | character varying | Can be used to provide some additional information about the job. |
processed_on_worker | character varying | Identifies the machine on which the job is run. |
subtitle | character varying | Can be used to provide some additional information about the job. |
language | character varying | The language for the job is listed here. |
site_id | integer | Links to a site, if one is relevant, otherwise it is left NULL. |
locale | character varying | The locale for the job is listed here. |
subscriptions_attach_image | boolean | Boolean that represents whether to attach images to a subscription background_job. Will be NULL if the background_job is not a subscription. |
subscriptions_attach_pdf | boolean | Boolean 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 一体化的平台。欢迎中小企业前来咨询。
官方元数据参考: