内容:

疑难解答

  • 版本 :2022.1 及更高版本

您可以使用以下主题进行故障排除并解决 Tableau Server 的问题

您可以使用以下主题进行故障排除并解决 Tableau Server 的问题。

此部分中的其他文章

按照本主题中的建议来解决 Tableau Server 的常见问题。有关基于在“状态”页面上查看的进程状态的其他疑难解答步骤,请参见服务器进程疑难解答

下表显示安装目录、数据目录、日志目录和脚本目录的默认位置:

目录默认位置
安装:/opt/tableau/tableau_server
数据:/var/opt/tableau/tableau_server/data
日志:/var/opt/tableau/tableau_server/data/tabsvc/logs/
脚本:/opt/tableau/tableau_server/packages/scripts.

一般疑难解答步骤

可通过以下一个或多个基本步骤解决或测试许多 Tableau Server 问题:

全新安装

在从未安装 Tableau 的计算机上安装 Linux 版 Tableau Server。如果要重新使用安装了以前版本的 Tableau Server 的计算机或 VM,请在安装新版本之前,先执行从计算机中移除 Tableau Server中的步骤以清除计算机上的 Tableau。

如果在安装 Tableau Server 时遇到问题,您可能需要从计算机中完全移除 Tableau,并执行全新安装。有关详细信息,请参见从计算机中移除 Tableau Server

磁盘空间

确保运行 Tableau Server 的每台计算机上都有足够的磁盘空间。有限的磁盘空间可能会导致安装失败、升级失败或运行 Tableau Server 时出现问题。

删除旧日志文件

如果磁盘空间不足,您可以清理旧 Tableau Server 日志文件。这些文件可能会占用空间,作为最佳做法,您应该定期删除它们。

版本 10.5.x

如果有版本 10.5.1 及更高版本,请在终端提示符处运行此命令以清理不需要的日志文件:

tsm maintenance cleanup

版本 10.5.0

如果运行版本 10.5.0 的 Linux 版 Tableau Server,则清理命令不可用,并且您需要在终端提示符处运行以下命令:

sudo find /var/opt/tableau/tableau_server/data/tabsvc/temp/* -mtime +2 -type f -delete
sudo find /var/opt/tableau/tableau_server/data/tabsvc/logs/* -mtime +2 -type f -delete

重要信息:Linux 文件系统可以删除打开的文件,如果您执行此操作,Tableau 进程可能无法重新创建文件。这将导致日志文件为空。若要修复此问题,您可以停止 Tableau Server,重新启动 TSM 控制器,并再次重新启动 Tableau:

  1. 停止 Tableau Server:

    tsm stop

  2. 重新启动 TSM 控制器:

    sudo systemctl restart tabadmincontroller_0.service

  3. 等待几分钟,让控制器重新启动。您可以使用此命令确认控制器是否已重新启动:

    tsm status -v

    当您可以运行该命令并且 Tableau Server 管理控制器被列为“正在运行”时,控制器已重新启动。

  4. 启动 Tableau Server:

    tsm start

手动收集日志

如果由于任何原因(例如,运行 tsm initialize 之前发生严重故障)而无法运行 tsm maintenance ziplogs,则可以通过在终端窗口中运行以下命令来手动收集和压缩日志:

cd /var/opt/tableau/tableau_server/data/tabsvc/

cp /var/opt/tableau/tableau_server/logs/app-install.log logs

cp ~/.tableau/tsm/tsm.log logs

tar -czvf ~/logs.tar.gz logs

这将在您的主目录中创建一个名为 logs.tar.gz 的文件。您可以将此文件上载或发送到 Tableau。

重新启动服务器

重新启动 Tableau Server。与索引及未完全启动的进程相关的问题可通过以受控方式重新启动 Tableau Server 解决。若要重新启动 Tableau Server,请使用 tsm restart 命令。这将停止与 Tableau Server 关联的所有进程,然后重新启动这些进程。

使用 Linux 编辑安装和配置文件

您应使用 Linux 操作系统编辑或创建用于在 Linux 上安装或配置 Tableau Server 的任何文件。使用 Microsoft Windows 创建的文件将导致在 Linux 上安装和配置 Tableau Server 出现错误,原因是 Linux 操作系统以换行符 (LF) 结束文件,而 Windows 则以回车和换行符 (CR LF) 结束文件。如果非 Linux (CR LF) 文件结束字符出现在自动安装程序使用的 config.jsonreg_templ.jsonsecrets 文件中,则可能导致Tableau Server 的自动安装过程中出现错误。非 Linux (CR LF) 文件结束字符也可能导致注册期间或者配置身份存储设置或网关设置时出错。

检查 systemd 日志

如果 Tableau Server 未启动,并且您在 Tableau 日志中找不到任何有用的信息(有关详细信息,请参见使用日志文件),您可以检查 systemd 日志,了解与 TSM 服务启动和停止相关的消息。日志存储在 /var/log/messages(类似于 RHEL 的发行版)或 /var/log/syslog(Ubuntu 和 Debian)中。我们建议使用 journalctl 命令搜索和解析 systemd 日志。

安装 Tableau Server

安装由于硬件要求而失败

如果要进行安装的计算机未满足最低硬件要求,则 Tableau Server 无法安装。有关要求的详细信息,请参见安装之前...

安装由于超时而失败

如果在资源有限的计算机(例如,仅满足最低硬件要求的计算机)上安装 Tableau Server,您可能会在 tsm 命令由于响应缓慢而超时的情况下遇到问题。可以通过在所有 tsm 命令上使用全局 --request-timeout 选项来指定更长的超时。有关 --request-timeout 选项的详细信息,举例来说,请参见tsm initialize

安装失败,并显示“Failed to initialize the instance of the temporary database”(未能初始化临时数据库的实例)

Linux 版 Tableau Server 仅支持 UTF-8 字符编码。如果您的 Linux 区域设置缺少 UTF-8 编码,则安装可能会失败,并出现类似于如下的错误:

Failed to initialize the instance of the temporary database

若要检查您的区域设置是否使用 UTF-8 编码,请在命令提示符处运行 localectl 命令。生成的输出应如下所示(您的区域设置可能不同):

[tableauserver-centos1a ~]$ localectl System Locale:.UTF-8 [tableauserver-centos1a ~]$

如果 LANG 值未包括 .UTF-8,则您需要运行 localectl 来添加:

sudo localectl set-locale LANG=

注意:在某些情况下,如果您的 systemd 版本较旧,localectl 可能无法完成(超时)。更新 systemd 可修复此问题并允许您设置 UTF-8 编码。在 RHEL 类系统上,使用此命令来更新 systemdsudo yum update systemd

虚拟机上的并行安装失败

当前不支持并行安装。如果在 Linux 虚拟机上以并行方式安装 Tableau Server,则安装可能失败。

Tableau Server 未启动

如果 Tableau Server 未启动或在降级状态下运行,请运行 tsm restart 命令。这将关闭正在运行的任何进程,并重新启动 Tableau Server。

安装之后无法启动 Tableau Server

如果您的计算机的主机名在安装之后更改,则 Tableau Server 可能无法启动。主机名可能更改的其中一个主要原因是:您在 CentOS 上使用 cloud-init 软件包。如果使用 cloud-init 软件包,请在想要安装 Tableau Server 的情况下在开始安装过程之前重新启动计算机。或者,可以通过运行以下命令在不重新启动的情况下修复主机名:

sudo hostnamectl set-hostname `hostnamectl --static`

cloud-init 软件包通常用于初始化新虚拟机、配置 SSH 公钥身份验证,等等。例如,某些 CentOS 映像使用 cloud-init,并且 OpenStack 部署中通常会使用 cloud-init。但是,CentOS 7.x 存储库默认包括的 cloud-init 的版本 (cloud-init 0.7.5-10.el7.centos.1) 有一个已知问题,使计算机在重新启动之前无法随其主机名一起显示其完全限定的域名 (FQDN)。

由于 Tableau Server 安装进程使用计算机的主机名来配置服务器进程并生成 TLS 证书,因此,如果 Tableau Server 配置为在没有 FQDN 的情况下使用主机名,它可能无法启动。

若要确定您的计算机是否显示正确的主机名,请运行 hostnamectl 命令。在下面的示例中,命令显示一个暂时主机名,表明它将不会返回 FQDN,并且必须重新启动。

$ hostnamectl    Static hostname: server01.example.com Transient hostname: server01 [...]

或者,在下面的示例中,命令显示正确的主机名和 FQDN:

$ hostnamectl    Static hostname: server01.example.com [...]

无法创建具有多个 Active Directory (AD) 域的初始管理员帐户

在 Tableau Server 上创建初始管理员帐户时,如果选择了 AD 作为身份验证类型,您可能会看到以下错误:

Failed to authenticate username and password

当 Tableau Server 尝试连接到多个 AD 域时,将发生此错误。举例来说,如果在属于某个域的计算机上安装 Tableau Server,并且尝试对属于另一个域的 AD 用户进行身份验证,则可能会看到此错误。

字体

Tableau Server 使用系统上安装的字体,根据创建工作簿时使用的字体来呈现工作簿。当某个字体不可用时,Tableau Server 将根据字体系列使用最接近的等效字体;Windows 和 Linux 服务器均适用于这种情况。在 Linux 服务器上,缺少字体的情况可能会更明显,因为 Linux 附带的字体比 Windows 和 OS/X 系统都少。这一点很重要,因为许多工作簿都是在 Windows 或 Mac 上的 Tableau Desktop 中制作的。

Linux 版 Tableau Server 附带以下字体:

  • Arial

  • Courier

  • Georgia

  • Times New Roman

  • Verdana

  • Trebuchet MS

  • Tableau 字体

在 Linux 版 Tableau Server 上查看时,由于缺少字体,未使用这些字体的工作簿的显示可能会与预期不同。为了解决此问题,请在 Tableau Server 安装过程中在所有节点上安装相应的字体。

对亚洲字符集的支持

如果您看到空白框,并且在此框中,您希望在 Tableau Server 中所显示的工作簿中看到亚洲字符,则应在 Linux 环境中安装与语言相对应的字体包。

初始化 Tableau Server

由于 tableau 用户帐户存在,但不是 tableau 组的成员,因此 TSM 初始化失败

安装并初始化 Tableau 服务管理器 (TSM) 和 Tableau Server 时,初始化脚本 (initialize-tsm) 将创建运行所需的用户和组,或者确认已为现有项配置了必需的特性。默认情况下,此脚本会创建一个名为 tableau 的用户,并将其添加到名为 tableau 的组中。如果 tableau 用户已存在,但不属于 tableau 组,则该脚本将会失败并发出警告。

如果发生这种情况,那么您可以使用 --unprivileged-user 标志指定其他用户来解决冲突,系统将创建此用户并将其添加到 tableau 组中。

例如,要指定名为 tableauserver 的用户,你可以使用以下命令从 /opt/tableau/tableau_server/packages/scripts. 目录中运行脚本:

sudo ./initialize-tsm --unprivileged-user="tableauserver" --accepteula

若要获得可用于 initialize-tsm 脚本的选项的完整列表,请使用 -h 选项:

sudo ./initialize-tsm -h

在不受支持的系统区域设置上初始化 Tableau Server 时出错

如果您尝试在计算机上安装 Tableau Server,并且区域设置不是 11 个受支持的区域设置之一,则安装过程中会出现错误。

Tableau Server 将在使用以下区域设置之一的系统上运行:

de_DE、en_GB、en_US、es_ES、fr_FR、it_IT、ja_JP、ko_KR、pt_BR、zh_CN 或 zh_TW

任何其他区域设置都将产生错误。

如果区域设置列表中未包含 en_US.utf8,则初始化 Tableau Server 时出错

如果您尝试在区域设置列表中没有 en_US.utf8 的计算机上安装 Tableau Server,则初始化将失败并显示错误。要查看是否包含了 en_US.utf8,请在 shell 提示符下键入 locale -a

如果未列出 en_US.utf8,则可以在 Ubuntu 和 Debian 上的 shell 提示符下键入 sudo locale-gen en_US.UTF-8,或者在类似于 RHEL 的发行版上的 shell 提示符下键入 sudo localedef -i en_US -f UTF-8 ,以将 en_us 加入到区域设置列表中。

错误:状态 10 - 在数据目录路径包括句点时初始化 Tableau Server

如果尝试安装 Tableau Server,并指定路径包括句点(“.”)的数据目录,初始化将失败并出现错误,其中包括:

Connection timed out

ERROR: TSM services returned status 10

为了避免此问题,请选择其路径中未包括句点的数据目录。

重新安装后初始化 Tableau Server 时出错

如果卸载并重新安装 Tableau Server,您可能会在初始化 Tableau Server 时遇到错误。例如,您可能会看到以下错误:

ERROR com.tableau.tabadmin.webapp.asyncjobs.JobStepRunner - Running step WaitForConfigure failed com.tableau.tabadmin.webapp.exceptions.ServiceFailedStateException

如果以前的安装中存在导致服务无法启动的人为错误,则会发生此错误。要防止此错误,请使用 /opt/tableau/tableau_server/packages/scripts. 文件夹中的 tableau-server-obliterate 脚本。有关彻底移除 Tableau Server 的详细信息,请参阅从计算机中移除 Tableau Server

激活 Tableau Server

Tableau Server 许可证激活失败

在某些情况下,使用 tsm licenses activate -k 命令激活 Tableau 产品密钥会失败,并出现以下错误:

License Server not available

如果您的计算机无法通过 TCP 端口 443 连接到 licensing.tableau.com 处的 Tableau 许可服务器,则可能会发生这种情况。

若要解决此问题,您需要配置网络和/或主机托管的防火墙,以允许访问该地址和端口,或者脱机激活 Tableau。有关详细信息,请参见脱机激活 Tableau Server - 添加许可证

重建 Tableau Server 搜索和浏览索引

可以通过重新索引“搜索与浏览”来解决的问题

需要重建索引的症状包括:

  • 用户尝试登录时出现空白站点列表

  • 用户尝试选择项目时出现空白项目列表

  • 缺少内容(工作簿、视图、仪表板)

  • 意外或不准确的通知(例如,未包括数据提取的工作簿上的“刷新失败”通知)

如果看到任何这些行为,请使用 tsm maintenance reindex-search 命令来重建搜索和浏览索引。

重新启动 Tableau Server

重新启动 Tableau Server 或应用更改失败

如果某个 Tableau Server 服务失败,当您尝试重新启动服务器或应用配置更改时,您可能会看到错误。

要查看失败的服务是否会导致错误,请键入以下命令:

tsm status -v

若要了解服务失败的原因,请查看数据目录中的 tabadminagent 和 tabadmincontroller 日志文件。例如,服务可能会由于并发性问题或端口配置问题而失败。请在反馈中包括您遇到的任何问题。

作为解决方法,您可以通过尝试在 TSM 中移除并重新添加服务来解决故障。服务启动之后,您可以重新尝试以前的配置更改或再次尝试使用 tsm restart 命令重新启动服务器。

添加或配置节点后重新启动 Tableau Server 时出错

如果在没有网关进程的情况下添加或配置节点,Tableau Server 可能无法重新启动,并且您可能会看到类似于如下错误:

ERROR : com.tableau.tabadmin.configuration.PortConfigurationExtractor - Unable to find port config key worker1.gateway.port

Message: Missing port configuration value for key 'worker1.gateway.port'

这些错误出现在 gateway.log 文件中,并且在 Tableau Server 节点配置为具有应用程序服务器或 VizQL Server 但没有网关时发生。如果节点上正在运行应用程序服务器或 VizQL Server,则需要网关进程。

备份/还原

与还原 Tableau Server 创建的备份相关的问题可能是由权限问题造成的。正确的权限对于 TSM 正在还原的文件和文件位置都是必需的。当 TSM 处理备份时,它会将文件放在默认位置,并适当地设置权限。如果要还原已复制到 Linux 服务器的备份或者来自服务器上非默认位置的备份,则可能会遇到权限问题。有关使用非默认位置(包括如何更改位置)的详细信息,请参阅tsm File Paths

错误可能包括:

Server Was Denied Access to File

Restoring the backup '

Comparing authentication methods failed

Tableau Server 备份和还原进程必须具有:

  • 读取权限 - 进程需要直接访问 .tsbak 备份文件。

  • 执行权限 - 进程还需要对放置 .tsbak 文件所在的目录结构的执行权限。

当 TSM 在默认位置创建备份时,它将设置所需的权限。如果将文件复制到 Linux 服务器,或将其移动到非默认目录,则权限可能不允许 TSM 进程进行正常访问。您需要验证此文件以及包含该文件的目录树是否允许 TSM 用户 tableau 访问。文件权限必须给予 tableau 用户 .tsbak 文件的读取访问权限。您可以通过将文件上的组设置为 tableau 组,并给予该组读取访问权限来执行此操作。目录权限必须给予 tableau 用户读取访问权限。您可以通过将目录上的组设置为 tableau 组,并给予该组对目录的读取和执行访问权限来执行此操作。

有关 TSM 和文件权限的详细信息,请参阅TSM 中的文件和权限

文件位置

更改 basefilepath 不会更改现有文件的位置

一些 tsm 命令会将文件写入默认位置。您可以使用 tsm set 命令更改每个命令的这些默认位置,但这样做不会将任何现有文件从原始位置移动到新位置,并且不会创建新位置。您负责创建新位置,并确保其具有正确的权限以允许 tsm 访问该位置中的任何文件,以及包含这些文件的整个目录结构。

有关更改备份、还原、站点导入和导出以及 ziplogs 文件的默认位置的详细信息,请参阅tsm File Paths

有关 tsm 权限的信息,请参阅TSM 中的文件和权限

TSM 命令

TSM 命令行不显示长时间运行的任务的进度

如果运行需要超过 2 小时才能完成的 tsm 命令(例如 restore 或 ziplogs),则此命令将在服务器上继续运行到完成为止。要显示作业的进度,请使用 tsm jobs reconnect 命令。

打开防火墙端口

Ubuntu 和 Debian 上手动打开防火墙端口

当前版本的 Tableau Server 不支持 Ubuntu 和 Debian 上使用的 ufw 防火墙。对于不想在 Ubuntu 和 Debian 上安装 firewalld 的客户,另一个选项是手动打开这些端口。以下步骤将确认 ufw 正在运行,并打开 TCP 端口 8850 和 80 以从任何源地址连接:

  1. 运行以下命令,确认 ufw 正在运行:

    sudo ufw status

    如果结果为 Status: inactive,您将需要启用 ufw,并确保您可通过 ssh(不在这些发行说明的讨论范围内)继续连接。

  2. 运行以下命令以允许访问端口 8850:

    sudo ufw allow 8850

  3. 运行以下命令以允许访问端口 80:

    sudo ufw allow 80

首次登录尝试时 OpenID 失败

如果您为 Tableau Server 配置了 Open ID Connect 身份验证,则首次尝试登录会失败。要成功登录,用户必须在首次失败后重试身份验证。

未显示管理视图

Tableau Server 的“状态”选项卡包括指向可视化项的链接,这些可视化项显示服务器指标。这些可视化项需要 PostgreSQL 驱动程序来访问 Tableau Server 存储库中的相应数据。PostgreSQL 驱动程序不会自动安装,因此,如果您未安装该驱动程序,视图将不会显示。有关详细信息,请参见数据库驱动程序

注意:要使用管理视图,PostgreSQL 驱动程序必须安装在运行 VizQL Server 进程的任何节点上。

在视图上更改区域设置

在打开视图后更改用户区域设置时,任何后续尝试打开视图的操作都将失败并出现“意外错误”。您仍可以打开以前未打开的视图。

要解决此问题,请在更改区域设置后退出 Tableau Server,然后重新登录。所有视图都将正确显示。


正常情况下,Tableau Server 会在其活动过程中创建日志文件。在您排查 Tableau Server 问题时或者 Tableau 支持人员需要使用日志来帮助您解决问题时,您可能需要使用服务器日志文件。

您可以使用 tsm maintenance ziplogs 命令创建压缩日志文件存档。压缩的存档包含您可以解压缩和查看或者发送给 Tableau 支持人员的日志副本。在您拥有存档副本之后,可以从服务器删除存档。有关日志文件存档的详细信息,请参见日志文件快照(将日志存档)

这组主题提供了有关如何创建日志文件存档的信息、特定日志文件的内容以及有关您何时可能需要查看文件和如何查看的详细信息。

Tableau Server 日志的内容

每个 Tableau Server 进程都会将其所执行操作的相关信息写入其自己的日志文件。这些文件单独提供有关每个流程操作的详细信息。这些日志文件加在一起包含有关 Tableau Server 组件在处理用户请求或执行自动任务时内部通信的详细信息。Tableau Server 日志仅包含可用于故障排除的技术信息;不同组件的状态、不同进程执行的操作、通信尝试、对数据库的查询(不包括结果)以及请求的时间等。

日志文件可以包含某些特定数据,例如数据库服务器的名称,以及其 IP 地址和端口、Tableau Server 计算机的名称或 IP 地址,和用户访问的工作簿和视图的 URL 和名称。

日志文件不包含任何敏感客户数据,例如密码、查询结果或视图上显示的数据。

注意:DEBUG 级别记录日志时,Tableau 启动时会收集完整的环境信息。这意味着,如果环境变量中有任何敏感信息,它可能会包含在日志中。在默认的 INFO 级别进行日志记录则只会收集安全环境信息。

tsm maintenance ziplogs 命令使用户不仅能生成日志文件的压缩存档,还可以包括 Tableau Server 存储库数据(如果指定了 -d 选项)。存储库包含来自 Tableau Server 的元数据(例如,用户名、组、项目、Tableau Server 上的权限、数据提取刷新计划)。存储库还包括工作簿的布局和连接信息,但没有任何数据,例如密码、数据库中的实际数据或视图上显示的数据。

视图中显示的数据来自数据提取文件或数据库,并缓存在内存中。它不保存在日志中,或者在实时连接的情况下保存在 Tableau Server 计算机上的单独文件中。数据提取文件以 .hyper 文件的形式存储在计算机上的 dataengine 文件夹中,但永远不会包含在压缩的日志存档中。

调查 Tableau Server 问题

Tableau Server 可能出现的问题的范围和复杂性不同,这意味着没有可用于调查所有问题的简单过程,但常规方法包括以下步骤:

  1. 清理现有日志文件以减小其大小。有关详细信息,请参见移除不需要的文件

    重要信息:如果您可能希望从 Tableau 支持部门获取帮助来对问题进行故障排除,请务必在清理日志之前创建日志的压缩存档。清理操作可能会删除支持部门可能需要的重要信息。有关创建日志存档的详细信息,请参见日志文件快照(将日志存档)

  2. 设置适当的日志记录级别。Tableau 支持人员将指示您执行此操作。有关信息同,包括不同日志级别的影响,请参见更改日志记录级别

  3. 重现您要解决的问题,以便日志捕获与问题相关的事件。

  4. 创建日志的存档。有关详细信息,请参见日志文件快照(将日志存档)

    重要信息:在查看日志文件时使用此存档。不应直接在服务器上编辑、移动或删除任何文件。

  5. 查看 TSM 管理控制器日志 (/tabadmincontroller/tabadmincontroller_node) ,了解 TSM 通过命令行、Web UI 或 API 完成的任何配置或部署,包括 TSM 启动的作业。首先查看控制器日志。您可以在其中获得最有用的信息。

    注意: tsm.logtabadmincontroller_*.log 相比字数较少,但可以提供有用、免费的故障排除信息。

  6. 查看 Apache 日志/httpd/access.####_##_##_##_##_##.log/httpd/error.log) 中可能与您要调查的问题相关的请求。

    Apache 日志将包含大量不适用于您遇到的问题的“无用数据”。

    • 如果您找到似乎与您的问题相关的请求,请在 vizqlserver 目录中搜索包含 Apache 日志中的唯一请求 ID 的条目。

    • 查找与请求 ID 关联的响应代码和消息。

    • 搜索与您的问题相关的工作簿、视图、仪表板或数据源的名称。确保查找相关的时间戳。

    • 如果您找到可能与您的问题相关的请求,请查看与该请求关联的响应代码。(200 表示正常,500 表示问题)。

    • 找到与您已确定的请求关联的唯一请求 ID(唯一请求 ID 位于请求的末尾,是一个包含 24 个字符的字母数字字符串)。

  7. 进一步查看日志存档,以搜索其他消息和可能的错误。

    • 使用 Apache 日志中的请求 ID 搜索日志存档的 vizqlserver 文件夹,以查找包含相关日志条目的文件。查找问题的迹象(例如错误消息或长时间运行的查询)。

    • 免费、开源的工具 Logshark 是查看日志存档的有用选项。有关详细信息,请参见 Tableau Blueprint 中的 Tableau Server 疑难解答(链接在新窗口中打开)

  8. 查看脚本日志记录。

    Tableau Server 为大多数 bash 脚本包括了日志,这些日志位于脚本目录 /opt/tableau/tableau_server/packages/scripts. 中。这些日志会在每次脚本运行时保存到 /var/tmp 目录。

    默认情况下为:/var/opt/tableau/tableau_server/data/tabsvc/logs/

  9. 与支持人员联系

    如果您自己无法解决问题或者 Tableau 支持人员要求您这么做,请将压缩的存档发送给 Tableau。

此部分中的其他文章

Tableau Server 生成日志文件作为其功能的正常一部分。作为 Tableau Server 的一部分运行的每个服务都会生成自己的日志。这些日志文件包括有关服务器上发生的情况、服务或进程正在执行的操作以及生成任何错误或警告时所发生情况的信息。日志中的信息范围取决于写入日志的服务、设置的日志记录级别以及服务器上发生的情况。

日志文件在帮助识别和修复 Tableau Server 遇到的问题时非常有用。在某些情况下,系统管理员或许能够查看日志并找到有关所发生情况的线索,但在大多数情况下,Tableau Server 日志对 Tableau 支持部门最有用。当您向支持部门开立案例时,可能会要求您从服务器发送日志文件。

注意:Tableau Server 生成的特定目录和日志取决于您正在运行的服务器版本以及您配置的进程。会定期增加新的服务和流程以支持新功能。有关您可能找到日志的进程或服务的详细信息,请参见Tableau Server 进程

活动群集上的 Tableau Server 日志文件

最佳做法是,您不应在活动 Tableau Server 安装中编辑或删除日志文件。这样做可能会导致意外行为或服务器停机。大多数 Tableau Server 日志都写入数据目录中的位置。某些日志写入其他位置。

收集和查看服务器日志文件最简单安全的方法是创建日志存档,后者群集中所有节点中的日志的压缩集合。如果您认为出于任何原因可能需要旧日志,例如,在升级后与新日志进行比较,或在解决服务器问题时发送给 Tableau 支持部门,请创建 zip 存档,并将存档移动到不属于 Tableau Server 基础结构的安全位置。有关日志存档中的日志文件的详细信息,请参见压缩存档中的服务器日志文件

日志可能会占用大量空间,尤其是在大量使用的服务器上。您可以使用 tsm maintenance cleanup 命令移除不再需要或的日志。但如果您认为可能需要现有的日志,请考虑在清理之前将其存档。

正常工作的 Tableau Server 安装上的主要日志位置

/var/opt/tableau/tableau_server/data/tabsvc/logs/大多数 Tableau Server 日志都写入数据目录。将为服务的每个实例创建子目录,其名称包含服务名称和版本代码。例如:

/var/opt/tableau/tableau_server/data/tabsvc/logs/backgrounder

正常工作的 Tableau Server 安装上的配置文件位置

除了每个服务或进程的日志外,config 子目录还包含有关服务的配置信息。

/var/opt/tableau/tableau_server/data/tabsvc/config/backgrounder

如果您要在出现服务器问题时使用,Tableau 支持部门可能会要求您收集其中一些内容。内容可由支持人员分析。

未写入主要位置的日志

一些日志不是主日志集的一部分,它们会被写入普通日志目录以外的位置:

  • TSM 日志。tsm.log 文件位于 中。

  • 安装日志。app-install.log 文件位于 /var/opt/tableau/tableau_server/logs 中。

  • 升级日志。app-upgrade.log 文件位于 /var/opt/tableau/tableau_server/logs 中。

  • Bash 脚本日志。大多数位于 /scripts 目录 (/opt/tableau/tableau_server/packages/scripts.) 中的 Tableau Server bash 脚本都会生成自己的日志。这些日志会在每次脚本运行时写入 /var/tmp 目录。

压缩存档中的服务器日志文件

您可能需要查看 Tableau Server 日志文件,或者在服务器出现问题时需要将其发送给 Tableau 支持部门。使用 tsm maintenance ziplogs 命令创建安装中所有节点的日志文件的压缩存档。默认情况下,Tableau Server 日志文件存档收集在名为 logs.zip 的 zip 文件中,但如果创建存档,则可以指定其他文件名。您可以将存档从服务器复制到本地计算机并在那里打开它,也可将它发送给 Tableau 支持人员。

解压缩存档时,将为群集中的每个节点创建一个目录,并且该目录中是使用此命名约定的每个服务或进程的子目录:

<service_name>_<instance>.<version>.<build>

如果一个节点上有多个服务实例,则该服务将有多个目录,每个实例对应一个。举例来说,如果节点上有两个后台程序,则会看到这样的目录:

backgrounder_0.<version>.<build>
backgrounder_1.<version>.<build>

zip 文件中的特定目录和日志取决于您拥有哪个版本的 Tableau Server,以及您配置了哪些进程。有关您可能找到日志的进程或服务的详细信息,请参见Tableau Server 进程


Tableau Server 包括为存档目的生成日志文件快照的功能。如果计划在定期服务器维护过程中清理和删除旧日志文件,您可以考虑在删除之前将日志文件存档在一个非服务器存储位置。

或者,如果要与 Tableau 支持部门合作处理某个案例,支持工程师可能会要求提供服务器日志文件快照。

本主题介绍:

  • 如何生成日志文件快照

  • 如何通过 Tableau Server 管理工具将快照直接发送给 Tableau 支持部门

  • 如何下载快照

  • 如何删除存档的日志

  1. 在浏览器中打开 TSM:

    https://

  2. 单击“维护”

  3. 生成日志文件快照。

    日志文件快照将保存到安装了 TSM 和 Tableau Server 的计算机上的一个固定位置。如果有多节点安装,则快照将保存到群集的初始节点。该位置通过 basefilepath_log_archives 变量指定。

    默认情况下,快照将保存到:

    /var/opt/tableau/tableau_server/data/tabsvc/files/log-archives

    您可通过查询 basefilepath.log_archives 设置来查找当前位置,并可通过为 basefilepath.log_archive 指定新值来更改位置。有关详细信息,请参见tsm File Paths

    1. 在“服务器维护”页面上的“日志文件”下,单击“生成日志文件快照”

      一个选项对话框将显示:

    2. 在“选项”页面上,输入或选择所需的选项,包括说明、要加入的日志文件的时间范围以及要加入 的日志文件的可选类型(“包括 Postgres 数据”“包括最近的崩溃转储”),然后单击“生成日志文件快照”

  4. 生成快照之后,您可以选择并将其上载到技术支持、将其下载到本地计算机,或者将其删除:

  5. 若要下载快照的本地副本或将其删除,请在“日志文件”下选择快照,然后选择相应的操作

为 Tableau 支持上载日志快照

  1. 单击“维护”选项卡。

  2. 选择要发送的快照。

  3. 单击“上载到技术支持案例”

  4. 在显示的对话框中,输入“支持案例编号”和您的“联系人电子邮件地址”,然后单击“上载快照”


默认情况下,Tableau 服务管理器 (TSM) 和 Tableau Server 记录信息级别的事件。如果您需要收集更多信息,可以更改此级别(例如,如果您与 Tableau 支持人员合作)。

作为最佳做法,除非是按照支持人员的指示排查问题,否则不应提高日志记录级别。您只应在调查特定问题时将日志记录级别设置为调试。更改日志级别可能会产生以下影响:

  • 将日志级别提高到 debug trace 会增加要记录的信息量,可能会对性能产生显著影响。重现问题,然后将日志记录级别重置回信息。

  • 将日志级别设置为 warnerror 可能会大大减少信息量,以至于对 Tableau 支持没有用处。

注意:DEBUG 级别记录日志时,Tableau 启动时会收集完整的环境信息。这意味着,如果环境变量中有任何敏感信息,它可能会包含在日志中。在默认的 INFO 级别进行日志记录则只会收集安全环境信息。

日志记录级别

以下日志记录级别是按照记录的信息量的递增顺序列出的:

  • off(关闭)

  • fatal(致命)

  • error(错误)

  • warn(警告)

  • info (the default)(信息(默认值))

  • debug(调试)

  • trace(跟踪)

更改日志记录级别

使用 tsm configuration set 配置键为 TSM 和 Tableau Server 进程设置日志记录级别。您使用的键取决于您要更改 TSM 或 Tableau Server 的哪个组件的日志记录级别。

动态日志级别配置

在版本 2020.2 中,我们引入了动态配置。该功能已在随后的版本中扩展。如果仅更改一个或多个这些组件的日志记录级别,并且运行 Tableau 的相应版本,则您无需重新启动 Tableau Server 即可更改日志记录级别。

从以下版本开始,这些日志记录级别是动态可配置的:

  • 2020.2 - tsm 服务 (tsm.log.level) 和控制应用程序服务 (tsm.controllerapp.log.level)。

  • 2020.3 - 后台程序 (backgrounder.log.level)、群集控制器 (clustercontroller.log.level)、数据服务器 (dataserver.log.level)、文件存储 (filestore.log.level)、数据源属性 (tdsservice.log.level) 和 VizQL 服务器 (vizqlserver.log.level)。

  • 2020.4 添加了交互式微服务容器(tomcatcontainer.log.level) 和应用程序服务器 (vizportal.log.level)。

用于更改日志记录级别的配置键

此表包括可动态配置的键和不可动态配置的键。

配置键受影响的日志的位置

(路径以 /var/opt/tableau/tableau_server/data/tabsvc/logs/ 开头)

tsm.log.level

更改以下各项的 TSM 日志记录级别:clientfileservice、licenseservice、tabadminagent、tabadmincontroller、tabsvc

/

示例: /clientfileservice/clientservice_node1-0.log

tsm.controlapp.log.level

更改以下各项的 TSM 日志记录级别:控制应用程序

/

示例: /clientfileservice/control_clientservice_node1-0.log

/filestore/control_filestore_node1-0.log

有效的进程名称包括 backgrounder、vizportal、vizqlserver、dataserver

注意:这些进程不可动态配置。

/vizqlserver/*.txt

backgrounder.log.level

更改后台程序的日志记录级别

/backgrounder/*.log

clustercontroller.log.level

更改群集控制器的日志记录级别

/clustercontroller/*.log

dataserver.log.level

更改数据服务器的日志记录级别

/dataserver/*.log

filestore.log.level

更改文件存储的日志记录级别

/filestore/*.log

gateway.log.level

更改网关控制进程的的日志记录级别

/gateway/*.log

gateway.httpd.loglevel

注意:版本 2021.3.0 中新增

更改网关的日志记录级别

/gateway/*.log

tdsservice.log.level

更改数据源属性服务的日志记录级别

/tdsservice/*.log

tomcatcontainer.log.level

更改交互式微服务容器和非交互式微服务容器中的微服务的日志记录级别

/tomcatcontainer/*.log

vizportal.log.level

更改应用程序服务器的日志记录级别

/vizportal/*.log

vizqlserver.log.level

更改 VizQL 服务器的日志记录级别

/vizqlserver/*.log

有关详细信息,请参见tsm configuration set 选项

如果只是更改可动态配置的日志记录级别,则无需停止或启动服务器(有关详细信息,请参见上面的动态日志级别配置)。 如果要更改其他日志记录级别,则需要在更改日志记录级别之前停止 Tableau Server,并在之后重新启动它。在 Tableau Server 的多节点安装上,请从初始节点设置日志记录级别。

更改日志记录级别:

  1. (对于 2020.2.0 及更高版本中的动态可配置日志记录级别为可选)通过打开命令提示符并键入以下命令来停止 Tableau Server:

    tsm stop

  2. 通过键入 tsm configuration set -k 来设置日志记录级别

    其中 是上表中的键之一, 是有效的日志记录级别。

    示例:

    • tsm configuration set -k backgrounder.native_api.log.level -v debug
    • tsm configuration set -k tsm.log.level -v debug
    • tsm configuration set -k tsm.controlapp.log.level -v debug
  3. 通过运行 tsm pending-changes apply 命令应用待处理的更改。

  4. (可选,仅当服务器停止时)通过运行以下命令启动 Tableau Server:

    tsm start

重置日志记录级别

重现问题并收集与问题相关的信息后,请重置日志记录级别,以免出现延迟的性能影响,并且不会占用额外的磁盘空间。

使用带有 -d 选项的适当命令将日志记录级别重置回其默认值 (info)。您需要在重置级别后应用待处理更改,如果要重置 Tableau Server 进程的日志记录级别,则必须在进行更改之前停止服务器,然后启动待处理更改。

示例:

  • tsm configuration set -k backgrounder.native_api.log.level -d
  • tsm configuration set -k tsm.log.level -d