内容:

使用日志文件

  • 版本 :2022.1 及更高版本

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

正常情况下,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 为大多数脚本包括了日志,这些脚本位于 scripts 目录中。默认情况下:C:\Program Files\Tableau\Tableau Server\packages\scripts. 这些日志将保存到:


    • 默认情况下为:

    • C:\ProgramData\Tableau\Tableau Server\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 安装上的主要日志位置

默认情况下,C:\ProgramData\Tableau\Tableau Server\data\tabsvc\logs\大多数 Tableau Server 日志都写入数据目录。将为服务的每个实例创建子文件夹,其名称包含服务名称和版本代码。例如:

C:\ProgramData\Tableau\Tableau Server\data\tabsvc\logs\backgrounder

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

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

C:\ProgramData\Tableau\Tableau Server\data\tabsvc\config\backgrounder

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

未写入主要位置的日志

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

  • TSM 日志。tsm.log 文件位于 C:\Users\ 中。

  • 安装日志。默认情况下,app-install.log 文件位于 C:\ProgramData\Tableau\Tableau Server\logs 中。

  • 升级日志。默认情况下,app-upgrade.log 文件位于 C:\ProgramData\Tableau\Tableau Server\logs 中。

  • Shell 脚本日志。Tableau Server 脚本位于 \scripts 目录 (默认情况下:C:\Program Files\Tableau\Tableau Server\packages\scripts.) 中,其中许多脚本都会在每次脚本运行时生成日志。脚本日志将保存到:

    <install_drive>\<install\path>\logs\

    默认情况下为:

    C:\ProgramData\Tableau\Tableau Server\logs

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

您可能需要查看 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 进程

临时文件

下面的文件夹中所有以 exe_ 开头的文件都是 Tableau Server 文件,可以删除。

C:\ProgramData\Tableau\Tableau Server\temp


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

注意:有关在较旧版本的 Windows 版 Tableau Server 上收集日志的说明,请参见 Tableau 帮助(链接在新窗口中打开)页面上的存档联机帮助。

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

本主题介绍:

  • 如何生成日志文件快照

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

  • 如何下载快照

  • 如何删除存档的日志

  1. 在浏览器中打开 TSM:

    https://

  2. 单击“维护”

  3. 生成日志文件快照。

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

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

    C:\ProgramData\Tableau\Tableau Server\data\tabsvc\files\log-archives

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

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

      一个选项对话框将显示:

    2. 在“选项”页面上,输入或选择所需的选项,包括说明、要加入的日志文件的时间范围以及要加入 的日志文件的可选类型(“包括 Netstat 信息”“包括 MSInfo”“包括 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)。

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

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

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

(路径以 C:\ProgramData\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