# tableau Tableau Server on Windows (server) - Full Documentation [跳转到主要内容](#main-content) # “升级缩略图”作业 在 Tableau Server 版本 2019.1 及更高版本中,工作簿和视图使用更高分辨率的缩略图。升级到 Tableau Server 版本 2019.1 或更高版本时,后台程序将运行“排队缩略图升级”作业和“升级缩略图”作业,后者将刷新自 Tableau 版本 2018.2 以来未编辑或发布的任何视图的缩略图,并将它们从低分辨率缩略图图像(192 x192 像素)转换为高分辨率缩略图图像(300 x 300 像素),如下图中所示。 **注意:**从 Tableau Server 版本 2020.2 及更高版本开始,默认情况下将关闭“升级缩略图”作业。服务器管理员可以使用 tabcmd 运行“升级缩略图”作业。有关详细信息,请参见[upgradethumbnails](https://help.tableau.com/current/server/zh-cn/tabcmd_cmd.htm#upgradethumbnails)。 ![各国各种健康指标的热图。](/tableau/current/zh-cn/server/zh-cn/Img/adminview_backgrounder_upgrade_thumnails.png) 当“升级缩略图”作业刷新缩略图图像时,视图的修改日期将更改为与缩略图更新日期相匹配。“升级缩略图”作业在更新包含的视图的缩略图时不会更改工作簿的修改日期。 根据您拥有的工作簿的数量,“升级缩略图”作业可能要运行几分钟到几个小时。您可能会注意到,在“升级缩略图”作业运行期间,后台程序节点上的 CPU 使用率要比平常高。您还可能会注意到,在“升级缩略图”作业处理工作簿中使用的所有缩略图的同时,缩略图可能会在升级到 Tableau Server 2019.1 或更高版本后以低分辨率显示长达一周时间。我们建议您在备份 Tableau Server 之前等待“升级缩略图”作业完成。 “升级缩略图”作业第一次运行后,它将按预定义的每周计划运行。“升级缩略图”作业以最低优先级运行,并将在 background\_jobs 表中为每个工作簿创建一个任务,以便升级任何低分辨率缩略图。每周“升级缩略图”作业运行时,会自动清理 Tableau Desktop 版本 2018.3 及更低版本发布到 Tableau Server 的低分辨率缩略图。 ## 疑难解答 您可以使用[“非数据提取后台任务”管理视图](https://help.tableau.com/current/server/zh-cn/adminview_backgrnd_nonextract.htm)检查“升级缩略图”作业的状态。“升级缩略图”作业可能显示成功或错误状态。 “升级缩略图”作业失败,或者该作业完成,但某些缩略图仍为低分辨率。 如果您的凭据错误,“升级缩略图”作业可能会显示错误状态。在这种情况下,工作簿缩略图将仍然以模糊的低分辨率(192 x192 像素)显示。更新您的凭据,“升级缩略图”作业将在下次运行时更新工作簿缩略图。 [跳转到主要内容](#main-content) # “数据解释”功能中分析的字段 “数据解释”功能在仪表板或工作表上运行统计分析,以查找属于异常值的标记,或者特别在您选择的标记上执行。分析还会考虑当前视图中未显示的数据源中可能相关的数据点。 “数据解释”功能可能不会在分析中包括数据源中的每一列。在许多情况下,将自动从分析中排除某些类型的字段。有关详细信息,请参见[默认情况下排除的字段](#DefaultExcFields)。 ![“数据解释”功能视图已分析字段。](/tableau/current/zh-cn/server/zh-cn/Img/explaindata_viewfields.gif) **注意**:具有超过 500 个唯一值的维度不会被考虑用于分析(除非作者在“数据解释”功能设置中允许)。 所有用户都可以查看有关在当前分析中包括或排除哪些字段的信息。拥有编辑权限的 Creator 和 Explorer 可以编辑“数据解释”功能用于统计分析的字段。 ## 查看“数据解释”功能分析的字段 当您展开对标记值有贡献的度量的解释时,“数据指南”窗格底部将显示一个链接,该链接指示分析中考虑的字段数。 ![“数据解释”功能详细信息,包含用于查看与较高总和值相关的 23 个字段中的 14 个字段的链接。](/tableau/current/zh-cn/server/zh-cn/Img/explaindata_fieldslink.png) 单击链接可查看当前统计分析中包括或排除的字段列表。 当数据源包含超过 1000 个未可视化维度或度量时,您可能会看到一条通知,询问您是否希望“数据解释”功能考虑更多字段。单击“全部解释”以运行包含更多字段的分析。分析可能需要更长时间才能完成。 #### 查看“数据解释”功能用于统计分析的字段 1. [在仪表板、工作表或标记上运行“数据解释”功能](https://help.tableau.com/current/server/zh-cn/explain_data_basics.htm#RunExD)。 2. 在“数据指南”窗格中的**“对其值有贡献”**下,单击度量名称。 ![关于所分析标记的“数据解释”功能详细信息,其中突出显示的文本描述了高于预期的行程距离总值 8,800。](/tableau/current/zh-cn/server/zh-cn/Img/explaindata_viewfields1.png) 3. 单击窗格底部的_字段数_链接。 ![关于所分析标记的“数据解释”功能详细信息,其中突出显示的文本为“23 个字段中的 12 个”。](/tableau/current/zh-cn/server/zh-cn/Img/explaindata_viewfields2.png) ## 更改用于统计分析的字段 具有编辑权限的 Creator 和 Explorer 可以在“数据解释设置”对话框的“字段”选项卡中选择要在统计分析中包括或排除的字段。 ![“数据解释设置”窗口,提供有关数据设置的信息,包括字段和数据类型。](/tableau/current/zh-cn/server/zh-cn/Img/explaindata_settings.png) 如果数据源包含的维度具有大量的唯一值(最多 500 个),则不会为分析考虑这些字段。 #### 编辑“数据解释”功能用于统计分析的字段 分析字段的设置应用于数据源级别。 1. 编辑视图时在标记上运行“数据解释”功能。 2. 在“数据指南”窗格中,单击该窗格底部的设置图标。或者,单击“已分析字段”视图中的“编辑”按钮([如何打开已分析字段](#ViewAnalyzed))。 ![“已分析字段”窗格上的“编辑”按钮。](/tableau/current/zh-cn/server/zh-cn/Img/explaindata_editfields.png) 3. 在“数据解释设置”对话框中,单击“字段”选项卡。 4. 单击字段名称旁边的下拉箭头,选择“自动”或“从不包括”,然后单击“确定”。 请注意,要包括在分析中的字段必须少于 500 个唯一值。 ![“数据解释设置”窗口,其中选择了一个度量,并且下拉菜单展开以显示包含或排除该字段的选项。](/tableau/current/zh-cn/server/zh-cn/Img/explaindata_excludefield.png) ## 默认情况下排除的字段
默认情况下排除的字段排除理由

数据源中有超过 1000 个度量时,排除所有未可视化的度量。

数据源中有超过 1000 个维度时,排除所有未可视化的维度。

为超过 1000 个未可视化的度量或维度计算解释可能需要更长时间的计算时间,有时需要几分钟时间。默认情况下会为初始分析排除这些字段,但您可以选择包括这些字段以进行进一步分析。

在此情况下,您可能会看到一条通知,询问您是否希望“数据解释”功能考虑更多字段。单击通知链接以获取更多信息。单击“全部解释”以运行包含更多字段的分析。

使用几何图形、纬度或经度的字段几何图形、纬度或经度本身永远不能是解释。将纬度或经度作为解释的原因极有可能是存在虚假的关联,而不是可能的解释。
具有高基数的维度(成员超过 500 的维度)

高基数维度的计算时间较长。不会考虑将包含超过 500 个唯一值的维度用于分析。

组、数据桶或集当前不支持。
表计算当表计算的详细级别与视图不同时,无法对表计算进行分析。
无法求平均值的未可视化度量无法求平均值的未可视化度量包括作为计算字段的度量,其中计算表达式包含聚合(添加到工作表时显示为 AGG() 字段)。
离散度量和连续维度当前不支持。
隐藏字段不可用。
包含错误的计算字段不存在要分析的值。
[跳转到主要内容](#main-content) # “数据解释”功能中的解释类型 每次您在可视化项或仪表板中选择新标记并运行“数据解释”功能时,Tableau 都会根据该标记和工作簿中的基础数据运行新的统计分析。可能的解释显示在“数据指南”窗格的可展开部分中。有关“数据解释”功能如何分析和评估解释的信息,请参见[“数据解释”功能的工作原理](https://help.tableau.com/current/server/zh-cn/explain_data_explained.htm)。 ## 浏览基础值 此部分列出了每个可以解释的度量(称为_目标度量_)的解释。此处列出的每个解释都描述了与在已分析标记上测试的目标度量值的关系。使用您对数据的真实实际理解来确定“数据解释”功能发现的关系是否有意义且值得探索。 ![关于所分析标记的“数据解释”功能详细信息,其中突出显示的文本描述了高于预期的行程距离总值 8,800。](/tableau/current/zh-cn/server/zh-cn/Img/explaindata_targetmeasure.png) 在此示例中,“Trip Distance”(行程距离)是目标度量 ### 基础特征 这些解释描述了视图中标记的基础记录如何对所解释的度量的聚合值产生影响。标记属性可以包括[极端值](#MA-Extreme)、[Null 值](#MA-Null)、[记录数](#MA-NR)或标记的[平均值](#MA-AVG)。 **注意**:有关解释中常用术语的定义,请参见[解释中的术语和概念](https://help.tableau.com/current/server/zh-cn/explain_data_basics.htm#TermsToKnow "链接到解释中使用的 Tableau 术语和概念的定义。")。 #### 极端值 此解释类型指示一个或多个记录的值是否明显高于或低于大多数记录。如果模型支持该解释,则表明极端值正在影响已分析标记的目标度量。 当标记具有极端值时,并不自动意味着它具有离群值或者您应将这些记录从视图中排除。怎样选择由您根据分析自行决定。解释只是指出标记中一个极端值。例如,它可能会显示记录中一个输入错误的值,即一根香蕉的成本为 10 美元,而不是 10 美分。或者,它可能会显示一名特定销售人员在某个季度的表现特别出色。 **注意**:此解释必须由作者启用才能在已发布工作簿的查看模式下可见。有关详细信息,请参见[控制对“数据解释”功能的访问](https://help.tableau.com/current/server/zh-cn/explain_data_control_access.htm)。

此解释显示:

  • 已分析标记中的基础记录数。
  • 对目标度量值产生影响的一个或多个极端值。
  • 标记中值的分布。
  • 与每个分布值对应的记录详细信息。

探索选项:

  • 将鼠标悬停在图表中的圆上以查看其对应的值。
  • 选择详细信息列表下方的向左或向右箭头可滚动查看记录详细信息。
  • 如果可用,选择“查看完整数据”,然后选择“完整数据”选项卡以查看表中的所有记录。
  • 选择“打开”“打开视图”图标。 图标以查看可视化项的更大版本。

分析的后续步骤:

  • 如果记录数较少,请检查这些值与极端值的比较。
  • 如果极端值明显高于或低于其他记录值,则排除它并考虑它如何改变已分析标记的值。
  • 在考虑有和没有极端值的数据时,以此为契机,应用您对数据的实践知识。

 

在此示例中,租用 463 小时的单个极端值导致总租用时间的总和高于预期的 613 小时。

在此示例中,租用 463 小时的单个极端值导致总租用时间的总和高于预期的 613 小时。

造成如此高值的一个可能原因是,有人在归还自行车时忘记将自行车停靠。在这种情况下,作者可能希望排除此值以供将来分析。

 

可视化差异

本节显示:

  • 排除极端值后,已分析标记值如何变化。

 

 

 

 

 

 

 

探索选项:

  • 选择“打开”“打开视图”图标。 图标以查看可视化项的更大版本。
  • 探索有和没有极端值(或多个极端值)的差异。
  • 作者可以将视图作为新工作表打开,并应用筛选器以排除极端值。

分析的后续步骤:

  • 如果极端值明显高于或低于其他记录值,则排除它并查看它如何改变已分析标记的值。
  • 在考虑有和没有极端值的数据时,以此为契机,应用您对数据的实践知识。
 使用地图快照和说明性文本显示差异标题,说明当排除极值时,值将从 619.3 变为 155.5。

在此示例中,当排除极端值 483 时,与视图中的其他标记相比,已分析标记不再高。

在此示例中,当排除极端值 483 时,与视图中的其他标记相比,已分析标记不再高。其他标记现在会很突出。作者可能想要探索其他标记,以考虑为什么这些其他地点的自行车租赁时间更长。

#### Null 值 Null 值解释类型指出标记中缺失数据量高于预期的情况。它指示为 null 的目标度量值的比例,以及 null 值可能如何影响该度量的聚合值。

此解释显示:

  • 已分析标记(蓝色圆圈)的目标度量中为 null 的值的百分比。

探索选项:

  • 在散点图中将鼠标悬停每个圆圈上可查看其详细信息。
  • 滚动查看更多图表。
  • 选择“打开”“打开视图”图标。 图标以查看可视化项的更大版本。

分析的后续步骤:

  • 可选择排除标记中的 null 值以进行进一步分析。
 

带有“数据解释”功能文本的散点图,解释 null 值的百分比可能对平均值有影响。

在此示例中,目标度量中的 null 值百分比显示为蓝色圆圈。

#### 记录数 这种解释类型描述了基础记录的计数何时与总和相关。分析发现标记中聚合的记录数与标记的实际值之间存在关系。 虽然这看起来很明显,但这种解释类型可帮助您探索标记的值是否受到其记录中值的大小的影响,或者仅仅是因为已分析标记中的记录数而受到影响。

此解释显示:

  • 已分析标记(深蓝色条形)的目标度量中的记录数。
  • 源可视化项中其他标记(浅蓝色条形)的目标度量中的记录数。

探索选项:

  • 将鼠标悬停在每个条形上可查看其详细信息。
  • 滚动查看更多图表。
  • 选择“打开”“打开视图”图标。 图标以查看可视化项的更大版本。

分析的后续步骤:

  • 比较记录的单个值是低还是高,或者已分析标记中的记录数是低还是高。
  • 作者,如果您对大量记录感到惊讶,您可能需要对数据进行标准化。
 

散点图显示了次数和行程距离总和之间的关系,其中“数据解释”功能文本解释道,由于 8 月份的记录数量较多,因此行程距离总和可能较高。

在此示例中,针对“Ride Month”(骑行月)的每个值列出了“Trip Distance”(行程距离)的记录数,这是原始可视化项中的一个维度。八月的总行程距离值最高。

您可能会探索八月的行程距离值最高是否是因为八月的骑行次数更多,还是因为某些骑行时间更长导致行程距离最高。

#### 标记的平均值 这种解释类型描述了度量的平均值何时与总和相关。比较平均值是低还是高,或者记录数是低还是高。

此解释显示:

  • 源可视化项中使用的维度的每个值的目标度量的平均值。

探索选项:

  • 将鼠标悬停在每个条形上可查看其详细信息。
  • 滚动查看更多图表。
  • 选择“打开”“打开视图”图标。 图标以查看可视化项的更大版本。

分析的后续步骤:

  • 比较平均值是低还是高,或者记录数是低还是高。例如,利润高是因为您卖了很多东西还是因为您卖了昂贵的东西?
  • 尝试弄清楚为什么已分析标记具有明显更高或更低的平均值。

 

 选择了平均出行距离维度,并解释平均出行距离正在增加所解释标记的出行距离预期总和。

在此示例中,八月的平均行程距离与大多数月份相比并没有显著提高或降低。这表明八月的行程距离更高是因为八月的骑行次数更多,而不是人们的骑行时间更长。

### 产生影响的单一值 使用此解释来了解构成已分析标记的记录值的组成。 这种解释类型确定非可视化维度中的单个值何时可能对已分析标记的聚合值造成影响。非可视化维度是存在于数据源中,但当前未在视图中使用的维度。 此解释表明何时某个维度的每个基础记录具有相同的值,或者何时某个维度值因许多或少数记录对于已分析标记具有相同的单个值而很突出。 **注意**:有关解释中常用术语的定义,请参见[解释中的术语和概念](https://help.tableau.com/current/server/zh-cn/explain_data_basics.htm#TermsToKnow "链接到解释中使用的 Tableau 术语和概念的定义。")。
此解释显示:
  • 已分析标记(蓝色条形)与源可视化项中的所有标记(灰色条形)的维度的单个值的记录数百分比。
  • 已分析标记(蓝色条形)与源可视化项中的所有标记(灰色条形)的维度的所有其他值的记录数百分比。
  • 已分析标记(蓝色条形)与所有标记(灰色条形)中某个维度的单个值的目标度量的平均值。
  • 已分析标记(蓝色条形)与源可视化项中的所有标记(灰色条形)的维度的所有其他值目标度量的平均值。

探索选项:

  • 将鼠标悬停在每个条形上可查看其详细信息。
  • 选择“打开”“打开视图”图标。 图标以查看可视化项的更大版本。

分析的后续步骤:

  • 使用此解释来了解构成已分析标记的记录值的组成。
  • 作者可能想要创建一个新的可视化项来探索本解释中出现的任何未可视化的维度。
 所选标记的“数据解释”功能详细信息,其中的条形图显示影响该值的记录。

在此示例中,统计分析表明,许多次骑行来自 Back Bay 车站附近。请注意,“Station Neighborhood”(车站附近)是一个未可视化的维度,它与源可视化项的基础数据中的“Trip Distance”(行程距离)有某种关系。

### 主要促成因素 使用此解释查看构成已分析标记的最大部分的值。 对于 COUNT 聚合,主要促成因素显示具有最多记录的维度值。对于 SUM,此解释显示具有最大部分和的维度值。 ### 产生影响的维度 使用此解释来了解构成已分析标记的记录值的组成。 这种解释类型表明,未可视化维度的分布可能对已分析标记的聚合值产生影响。这种类型的解释用于目标度量总和、计算及平均值。非可视化维度是存在于数据源中,但当前未在视图中使用的维度。 **注意**:有关解释中常用术语的定义,请参见[解释中的术语和概念](https://help.tableau.com/current/server/zh-cn/explain_data_basics.htm#TermsToKnow "链接到解释中使用的 Tableau 术语和概念的定义。")。
此解释显示:
  • 源可视化项中已分析标记(蓝色条形)维度的所有值的记录数与所有标记(灰色条形)维度的所有值的百分比。
  • 已分析标记(蓝色条形)某个维度的所有值与所有标记(灰色条形)某个维度的所有值的目标度量平均值。

探索选项:

  • 将鼠标悬停在每个条形上可查看其详细信息。
  • 滚动查看更多图表。
  • 选择“打开”“打开视图”图标。 图标以查看可视化项的更大版本。

分析的后续步骤:

  • 使用此解释来了解构成已分析标记的记录值的组成。
  • 作者可能想要创建一个新的可视化项来探索本解释中出现的任何未可视化的维度。
 所选标记及其分布的“数据解释”功能详细信息。

在这个例子中,统计分析表明,与整体评分相比,从南部车站和 MIT 骑行的次数更多,从 Charles Circle 和 Kendall 骑行的次数更少。

请注意,“Station Name”(车站名称)是一个未可视化的维度,它与源可视化项的基础数据中的“Trip Distance”(行程距离)有某种关系。

### 产生影响的度量 这种解释类型表明,未可视化度量的平均值可能对已分析标记的聚合值产生影响。非可视化度量是存在于数据源中,但当前未在视图中使用的度量。 这种解释可以揭示未可视化度量与目标度量之间的线性或二次关系。 **注意**:有关解释中常用术语的定义,请参见[解释中的术语和概念](https://help.tableau.com/current/server/zh-cn/explain_data_basics.htm#TermsToKnow "链接到解释中使用的 Tableau 术语和概念的定义。")。
此解释显示:
  • 目标度量的总和与视图中已分析标记(蓝色圆圈)和所有标记(灰色圆圈)的未可视化度量的平均值之间的关系。
  • 如果目标度量的总和高或低,因为未可视化度量的平均值高或低。

探索选项:

  • 将鼠标悬停每个圆圈上可查看其详细信息。
  • 选择“打开”“打开视图”图标。 图标以查看可视化项的更大版本。

分析的后续步骤:

  • 作者可能想要创建一个新的可视化项来探索本解释中出现的任何未可视化的度量。
 所选度量的“数据解释”功能详细信息。

在这个例子中,行程距离很长的一个可能原因是平均租用总时间也很长。

## 其他要探索的内容 此部分提供了已分析标记独特或不寻常的可能原因。这些解释: - 不会解释为什么这个标记的值之所以是值的原因。 - 与源可视化项中的度量值没有任何关系。 - 不考虑任何目标度量。 ### 其他感兴趣的维度 使用此解释来了解构成已分析标记的记录值的组成。 与视图中所有其他标记的值分布相比,已分析标记中未可视化维度的分布是不寻常的。非可视化维度是存在于数据源中,但当前未在视图中使用的维度。 **注意**:有关解释中常用术语的定义,请参见[解释中的术语和概念](https://help.tableau.com/current/server/zh-cn/explain_data_basics.htm#TermsToKnow "链接到解释中使用的 Tableau 术语和概念的定义。")。
此解释显示:
  • 源可视化项中已分析标记(蓝色条形)维度的所有值的记录数与所有标记(灰色条形)维度的所有值的百分比。

探索选项:

  • 将鼠标悬停在每个条形上可查看其详细信息。
  • 滚动查看更多图表。
  • 选择“打开”“打开视图”图标。 图标以查看可视化项的更大版本。

分析的后续步骤:

  • 使用此解释来了解构成已分析标记的记录值的组成。
  • 作者可能想要创建一个新的可视化项来探索本解释中出现的任何未可视化的维度。
 其他感兴趣维度的“数据解释”功能详细信息。

在此示例中,很大比例的记录与阴天天气相关。因为数据是关于波士顿的自行车租赁,并且已分析标记是八月的行程距离,我们可以假设天气通常温暖潮湿。人们可能会在阴天更频繁地租用自行车,以避免炎热。八月也有可能有更多的阴天。

[跳转到主要内容](#main-content) # “数据解释”功能入门 当您在可视化项中探索标记时,在分析流程中使用“数据解释”功能。“数据指南”窗格打开时,“数据解释”功能会自动运行,并根据当前选择(仪表板、工作表或标记)进行更新。

使用“数据解释”功能

作者工作簿和控制访问权限

## 在仪表板、工作表或标记上运行“数据解释”功能 以下是在 Tableau Desktop、Tableau Cloud 和 Tableau Server 中运行“数据解释”功能的基本步骤: 1. 打开仪表板或工作簿中的工作表。 2. 在视图工具栏中,选择“数据指南”![“数据网格”图标](/tableau/current/zh-cn/server/zh-cn/Img/data_guide_icon.png)打开“数据指南”窗格。 3. 如果您打开仪表板,“数据解释”功能将对其进行异常值分析。 ![检测到的异常值显示在仪表板的“数据指南”中](/tableau/current/zh-cn/server/zh-cn/Img/explaindata_dg_dashboard.png) 如果您在仪表板中选择了一个工作表,“数据解释”功能会针对异常值分析该工作表中的标记。 ![“数据解释”功能对于所选工作表的详细解释。](/tableau/current/zh-cn/server/zh-cn/Img/explaindata_dg_sheet.png) 如果您在仪表板中选择了一个标记,“数据解释”功能会专门分析该标记进行解释。 ![“数据解释”功能对于所选标记的详细解释。](/tableau/current/zh-cn/server/zh-cn/Img/explaindata_dg_mark.png) 当您选择相应的解释时,正在解释的标记会在可视化项中突出显示。 或者,您可以在可视化项中选择一个标记,将光标悬停在该标记上。在工具提示菜单中,选择**“数据指南”**![“数据网格”图标](/tableau/current/zh-cn/server/zh-cn/Img/data_guide_icon.png)。 ![标记工具提示的图像,其中选择了“数据指南”图标](/tableau/current/zh-cn/server/zh-cn/Img/explaindata_tooltip_dg2.png) 在 Tableau Public 中,选择工具提示菜单中的灯泡以运行“数据解释”功能。 ![单击标记工具提示菜单中的灯泡图标以运行“数据解释”功能。](/tableau/current/zh-cn/server/zh-cn/Img/explaindata_tooltip_button.png) “数据指南”窗格中显示了对已分析标记值的可能解释。选择不同的解释名称以展开详细信息并开始探索。 ### 查看解释所需的“数据解释”功能权限 如果您看到检测到的异常值带有联系可视化项所有者的提示,这是因为您需要权限来查看这些类型的解释。选择所有者姓名,转到包含其电子邮件地址的 Tableau 内容页面。请与所有者联系,要求他们授予您对工作簿或视图的“数据解释”功能权限。 如果您是工作簿的所有者,有关设置权限的详细信息,请参见[控制谁可以使用“数据解释”功能以及他们可以看到什么](https://help.tableau.com/current/server/zh-cn/explain_data_control_access.htm#Control)。 ### 有关使用“数据解释”功能的提示 - 不能选择多个标记进行相互比较。 - 视图必须包含使用 SUM、AVG、COUNT、COUNTD 或 AGG(计算字段)聚合的标记。 - 当“数据解释”功能无法分析选定的标记类型时,会显示一条消息来说明原因。有关详细信息,请参见[“数据解释”功能不可用的情况](https://help.tableau.com/current/server/zh-cn/explain_data_requirements.htm#NotAvailable)。 - 所分析的数据必须从单个主数据源中提取。“数据解释”功能不适用于混合数据源或多维数据集数据源。 - 有关哪些特征使数据源与“数据解释”功能一起使用更有趣的信息,请参见[使用“数据解释”功能的要求和注意事项](https://help.tableau.com/current/server/zh-cn/explain_data_requirements.htm)。 ## 深入解释 1. 在“数据指南”窗格中,选定标记解释名称以查看更多详细信息。 选择解释以展开或收缩其详细信息。 2. 滚动以查看更多解释详细信息。 3. 将鼠标悬停在解释中的图表上可查看有关不同数据点的详细信息。选择“打开”![“打开视图”图标。](/tableau/current/zh-cn/server/zh-cn/Img/explaindata_openviewicon.png) 图标以查看可视化项的更大版本。 打开视图进行编辑的 Creator 或 Explorer 可以选择“打开”![“打开视图”图标。](/tableau/current/zh-cn/server/zh-cn/Img/explaindata_openviewicon.png) 图标以将可视化项作为新工作表打开,并进一步探索数据。 **注意**:具有编辑权限的 Creator 和 Explorer 也可以控制“数据解释”功能设置。有关详细信息,请参见[控制对“数据解释”功能的访问](https://help.tableau.com/current/server/zh-cn/explain_data_control_access.htm)。 4. 将鼠标悬停在帮助图标 ![“数据解释”功能帮助图标。](/tableau/current/zh-cn/server/zh-cn/Img/explaindata_helpicon.png) 上以查看解释的工具提示帮助。选择帮助图标 ![“数据解释”功能帮助图标。](/tableau/current/zh-cn/server/zh-cn/Img/explaindata_helpicon.png) 使工具提示保持打开。选择**“了解更多”**链接以打开相关帮助主题。 ## 查看分析的字段 1. [在仪表板、工作表或标记上运行“数据解释”功能](#RunExD)。 2. 在“数据指南”窗格中的**“浏览其基础值”**下,选择目标度量名称。 ![关于所分析标记的“数据解释”功能详细信息,其中突出显示的文本描述了高于预期的行程距离总值 8,800。](/tableau/current/zh-cn/server/zh-cn/Img/explaindata_viewfields1.png) 3. 选择窗格底部的_字段数_链接。 ![关于所分析标记的“数据解释”功能详细信息,其中突出显示的文本为“23 个字段中的 14 个”。](/tableau/current/zh-cn/server/zh-cn/Img/explaindata_viewfields2.png) 作者可以选择打开“解释数据设置”来控制在分析中包括哪些字段。有关详细信息,请参见[“更改用于统计分析的字段”](https://help.tableau.com/current/server/zh-cn/explain_data_lm_status.htm#IncludeExcludeFields)。 ## 解释中的术语和概念 以下术语和概念经常出现在解释中。您可能会发现在使用“数据解释”功能的上下文中熟悉它们的含义会很有帮助。 什么是标记? 标记是一个可选择的数据点,它汇总了数据中的一些基础记录值。标记可以由单个记录或聚合在一起的多个记录组成。Tableau 中的标记可采用多种不同的方式显示,例如线条、形状、条形和单元格文本。 Tableau 根据视图中字段的交集获取构成标记的记录。 **已分析标记**是指“数据解释”功能分析的仪表板或工作表中的标记。 有关标记的详细信息,请参见[标记](https://help.tableau.com/current/pro/desktop/zh-cn/view_parts.htm#Marks)。 预期意味着什么? 标记的预期值是可视化项中基础数据的预期值范围中的中值。预期范围是统计模型为已分析标记预测的第 15 个和第 85 个百分位数之间的值范围。Tableau 每次对选定标记运行统计分析时都会确定预期范围。 如果预期值摘要显示标记_低于预期_或_高于预期_,则意味着聚合的标记值不在统计模型针对标记预测的值的范围内。如果预期值摘要显示标记_略低于_或_略高于_预期,或_在自然偏差范围内_,则意味着聚合的标记值在预测标记值的范围内,但为该值范围内的较低值或较高值。 有关详细信息,请参见[什么是预期范围?](https://help.tableau.com/current/pro/desktop/zh-cn/explain_data_explained.htm#ExpectedRangeLM) 什么是维度和度量? 数据库中的每个列名称都是一个字段。例如,“产品名称”和“销售额”各自都是字段。在 Tableau 中,对数据进行分类的“产品名称”等字段称为维度;具有可量化数据的字段(如“销售额”)称为度量。默认情况下,当您将度量拖到视图中时,Tableau 会聚合度量。 一些解释描述了基础记录值和这些值的聚合如何影响已分析标记的值。其他解释可能会提到已分析标记跨维度的值分布。 当您在标记上运行“数据解释”功能时,分析会考虑数据源中未在视图中呈现的维度和度量。这些字段称为未可视化维度和未可视化度量。 有关维度和度量的详细信息,请参见[维度和度量](https://help.tableau.com/current/pro/desktop/zh-cn/datafields_typesandroles.htm)。 什么是聚合? 聚合是一个汇总值或总计值。每当您将度量拖到“行”、“列”、“标记”卡选项或视图上时,Tableau 都会自动应用聚合,例如 SUM 或 AVG。例如,度量显示为 SUM(Sales) 或 AVG(Sales) 以指示度量的聚合方式。 若要使用“数据解释”功能,可视化项使用的度量必须是使用 SUM、AVG、COUNT、COUNTD 或 AGG 聚合的。 有关聚合的详细信息,请参见 [Tableau 中的数据聚合](https://help.tableau.com/current/pro/desktop/zh-cn/calculations_aggregation.htm)。 什么是记录值? 记录是数据库表中的一行。一行包含与每个字段对应的值。在此示例中,“类别”、“产品名称”和“销售额”是字段(或列)。“家具”、“落地灯”和“96 美元”是值。
类别产品名称销售额
家具落地灯96.00 美元
什么是分布? 分布是数据的所有可能值(或区间)的列表。它还指示每个值出现的频率(出现频率)。 [跳转到主要内容](#main-content) # “数据解释”功能的工作原理 使用“数据解释”功能作为渐进式的出发点来进一步探索您的数据。它生成的可行解释可帮助您查看构成视图中已分析标记或与之相关的不同值。它可以让您了解数据源中数据点的特征,以及数据如何使用统计建模相关(关联)。这些解释为您提供了另一种工具,用于检查数据并查找有关接下来要探索的内容的有趣线索。 **注意**:“数据解释”功能是一种工具,用于发现和描述数据中的关系。它无法告诉您导致关系的原因或如何解释数据。**您是数据的专家。**在帮助您决定哪些特征对于使用不同视图进一步探索可能很有趣时,您的领域知识和直觉非常关键。 有关“数据解释”功能的工作原理以及如何使用“数据解释”功能来增强分析的相关信息,请参见以下 Tableau 会议演示文稿: - [From Analyst to Statistician: Explain Data in Practice(从分析师到统计师:“数据解释”功能实际运用,1 小时)](https://www.tableau.com/zh-cn/events/tc/2019/analyst-statistician-explain-data-practice) - [Leveraging Explain Data(利用“数据解释”功能,45 分钟)](https://www.tableau.com/zh-cn/events/tc/2019/leveraging-explain-data) ## “数据解释”功能是什么(不是什么) “数据解释”功能是: - 对您的领域专业知识加以利用的工具和工作流。 - 一种工具,可显示数据中的关系并建议下一步查看的位置。 - 有助于加快数据分析并使更广泛的用户更容易访问数据分析的工具和工作流。 “数据解释”功能不是: - 统计测试工具。 - 证明或反驳假设的工具。 - 一个能给您答案或告诉你数据中因果关系的工具。 在标记上运行“数据解释”功能时,请记住以下几点: - **使用可聚合的精细数据。**此功能专为分析聚合数据而设计。这意味着您的数据必须精细,但必须在更高的详细级别对您为“数据解释”功能选择的标记进行聚合或汇总。“数据解释”功能无法在最精细详细级别的解聚标记(行级别数据)上运行。 - **考虑数据的形状、大小和基数。**尽管“数据解释”功能可与较小的数据集结合使用,但它需要足够宽并包含足够标记(粒度)的数据才能创建模型。 - **不要假设因果关系。**关联不是因果关系。解释基于数据的模型,但不是因果性解释。 关联意味着某些数据变量(例如 A 和 B)之间存在关系。您不能仅仅从数据中看到这种关系就知道是 A 导致了 B 还是 B 导致了 A,或者是否发生了更复杂的事情。这些数据模式在每种情况中完全相同,一个算法不能区分每种情况。仅仅因为两个变量看起来一起变化并不一定意味着一个变化会导致另一个变化发生变化。第三个因素可能导致两者都发生了变化,也可能只是巧合,根本没有任何因果关系。 不过,您可能会从外部了解到一些不在数据内的信息,这些信息可帮助您确定所发生的情况。一种通常可从外部了解到的情况是,数据是在实验中收集的。如果您知道 B 是像抛硬币一样随机选择的,那么 A 中任何一致的差异模式(不仅仅是随机噪声)一定是由 B 导致的。有关这些概念更详细、更深入的说明,请参见 Hal Varian 撰写的文章 [Causal inference in economics and marketing(经济和市场营销中的因果推断)](https://www.pnas.org/content/pnas/113/27/7310.full.pdf)。 ## 如何对解释进行分析和评估 “数据解释”功能在仪表板或工作表上运行统计分析,以查找属于异常值的标记,或者特别在您选择的标记上执行。分析还会考虑当前视图中未显示的数据源中可能相关的数据点。 “数据解释”功能第一次只会使用可视化项中存在的数据预测标记的值。接下来,将会考虑数据源(而不是当前视图)中的数据并将其添加到模型。模型确定预测标记值的范围,该范围在预测值的一个标准偏差内。 ### 什么是预期范围? 标记的预期值是可视化项中基础数据的预期值范围中的中值。预期范围是统计模型为已分析标记预测的第 15 个和第 85 个百分位数之间的值范围。Tableau 每次对选定标记运行统计分析时都会确定预期范围。 将使用统计建模基于可能的解释的解释能力来对其进行评估。对于每个解释,Tableau 会将预期值与实际值进行比较。 | 值 | 描述 | | --- | --- | | 高于预期/低于预期 | 如果预期值摘要显示标记_低于预期_或_高于预期_,则意味着聚合的标记值不在统计模型针对标记预测的值的范围内。如果预期值摘要显示标记_略低于_或_略高于_预期,或_在自然偏差范围内_,则意味着聚合的标记值在预测标记值的范围内,但为该值范围内的较低值或较高值。 | | 预期值 | 如果某个标记具有预期值,则意味着其值落在统计模型为该标记预测的预期值范围内。 | | 随机变化 | 当已分析标记的记录数较少时,可能没有足够的数据可供“数据解释”功能来形成具有统计意义的解释。如果标记的值超出预期范围,“数据解释”功能无法确定此意外值是由随机变化引起的还是由基础记录中的有意义的差异引起的。 | | 没有解释 | 当已分析标记值超出预期范围并且不符合用于“数据解释”功能的统计模型时,不会生成解释。 | ### 用于分析的模型 “数据解释”功能会在视图中构建数据模型来预测标记的值然后在给定模型的情况下确定标记是高于还是低于预期值。接下来,它会考虑其他信息,如将数据源中的其他列添加到视图,或将记录级别离群值标记为可能的解释。对于每个可能的解释,“数据解释”功能都会适配一个新模型,并在给定新信息的情况下评估标记的非预期程度。解释的分数是通过将复杂性(从数据源中添加了多少信息)与需要解释的变异量加以权衡得出的。如果解释比它们所解释的变化更简单,则解释就更好。
解释类型评估

极端值

基于可视化标记的模型,极端值是离群值形式的聚合标记。如果所选标记位于数据预期值分布的尾部,则被视为包含极端值。

通过比较有极端值和无极端值的聚合标记来确定极端值。如果删除值后标记变得不那么让人惊讶,则它会得到较高的分数。

当标记具有极端值时,并不自动意味着它具有离群值,或者您应将这些记录从视图中排除。怎样选择由您根据分析自行决定。解释只是指出标记中一个有趣的极端值。例如,它可能会显示记录中一个输入错误的值,即一根香蕉的成本为 10 美元,而不是 10 美分。或者,它可能会显示一名特定销售人员在某个季度的表现特别出色。

记录数

记录数解释根据聚合计数对聚合总和进行建模;记录的平均值根据聚合平均值对其进行建模。模型对总和的解释越好,得分就越高。

此解释描述总和由于计数较高或较低或者平均值较高或较低而是否令人关注。

标记的平均值

这种类型的解释用于总和形式的聚合标记。它解释了标记是否与其他标记一致,因为就其聚合计数或平均值而言,注意关系 SUM(X) = COUNT(X) * AVG(X)。

此解释描述总和由于计数较高或较低或者平均值较高或较低而是否令人关注。

产生影响的维度

该解释根据未可视化维度的类别之间的细分对已分析标记的目标度量进行建模。分析平衡了模型的复杂性和对标记的解释程度。

非可视化维度是存在于数据源中,但当前未在视图中使用的维度。这种类型的解释用于总和、计算及平均值。

非可视化维度的模型是通过以下方式创建的:依据解释列的分类值将标记拆分,然后使用包括源可视化项中所有数据点的值构建模型。对于每一行,模型都会尝试恢复组成每个标记的各个组件。分析指明,与使用非可视化维度的值未知的模型相比,对与非可视化维度对应的组件进行建模然后加总时,模型是否能对标记进行更好的预测。

聚合维度解释探讨在没有任何条件的情况下可将标记值解释到怎样的程度。然后,模型会通过条件对作为可能解释的每一列的值进行限制。通过对解释列的分布进行条件限制,应该能进行更好的预测。

产生影响的度量

此解释根据这种未可视化的度量对标记建模,聚合为其跨可视化维度的平均值。非可视化度量是存在于数据源中,但当前未在视图中使用的度量。

产生影响的度量解释可以揭示未可视化度量与目标度量之间的线性或二次关系。

[跳转到主要内容](#main-content) # Active Directory 部署的域信任要求 在跨多个域(位于相同 Active Directory 林或不同林中)的 Active Directory 环境中运行 Tableau Server 时,某些 Tableau 功能依赖于域之间的信任关系。例如,某些管理员在独立于部署服务器应用程序(例如 Tableau Server)的域的其他域中管理用户。在其他组织中,外部合作伙伴或组织中的不同合作伙伴可能会共用 Tableau Server 部署。最后,Tableau Server 连接到的经过 Windows 身份验证的数据源(例如 SQL Server、MSAS 或 Oracle)也可能在其他域中。 如果可行,我们建议在与 Tableau Server 交互的所有域之间配置双向信任。如果不可行,可将 Tableau Server 配置为支持已配置了单向信任的用户身份验证。在这种情况下,如果安装了 Tableau Server 的域配置为信任用户帐户所在的域,则支持域之间的单向信任。 下图显示安装了 Tableau Server 的域与用户帐户所在域之间的单向信任: ![两个三角形,一个标记为“users.lan”,另一个标记为“dev.local”,其中有一个指向前者的箭头,表示“信任”。](/tableau/current/zh-cn/server/zh-cn/Img/runas_oneway_trust.png) 在此方案中,Tableau Server 位于 dev.local 域中,并会将 users.lan Active Directory 域中的用户导入 Tableau Server。此方案需要单向信任;具体而言,dev.local 域配置为信任 users.lan 域。users.lan 域中的用户可使用其标准 Active Directory 凭据访问 dev.local 中的 Tableau Server。但是,在用户使用昵称记录之前,您可能需要在 Tableau Server 上更新域昵称。有关详细信息,请参阅 [Tableau 知识库](http://kb.tableau.com/articles/Issue/users-from-new-domain-unable-to-log-in-and-do-not-appear-in-user-list?lang=zh-cn)。 为此方案配置 Tableau Server 时,请在安装过程中指定主用户域。请参见[配置初始节点设置](https://help.tableau.com/current/server/zh-cn/config_general.htm)。为了确保 Tableau Server 可以连接到其他 Active Directory 域,您还必须通过使用 TSM 设置 `wgserver.domain.accept_list` 选项来指定 Tableau Server 连接到的其他域。有关详细信息,请参见[wgserver.domain.accept\_list](https://help.tableau.com/current/server/zh-cn/cli_configuration-set_tsm.htm#wgserver-domain-acceptlist)。 运行身份服务帐户帐户还必须对将从中导入用户的每个域具有查询(读取)访问权限。 **注意:**在某些情况下,如果运行身份服务帐户没有权限查询用户所在的辅助域,则可能需要使用对所有用户域都有权限的帐户配置 ldap 绑定。在执行此操作时,我们建议使用 gssapi 绑定代替简单绑定。有关详细信息,请参见[LDAP 与 GSSAPI (Kerberos) 绑定](https://help.tableau.com/current/server/zh-cn/plan_identity_store.htm#gssapi)。 此单向信任方案中支持 Kerberos 单点登录。 查看 [使用外部身份存储的部署中的用户管理](https://help.tableau.com/current/server/zh-cn/users_manage_ad.htm)以了解多个域、域命名、NetBIOS 和 Active Directory 用户名格式会对 Tableau 用户管理产生怎样的影响。 ### 在单向信任方案中连接到实时数据 在单向信任方案中,连接到 Tableau Server 的用户可连接到云中托管的实时数据,或者任何其他不依赖于 Windows 身份验证的本地数据源上的实时数据。 要求 Windows 身份验证的数据源可能有其他身份验证要求,这些要求会使方案复杂化,或者可能会使 Tableau Server 用户无法连接。这是因为 Tableau Server 为此类数据源的身份验证使用用户运行身份服务帐户。如果在与使用 Windows 身份验证的数据源不同的其他域中运行 Tableau Server,请验证用于 Tableau Server 的用户运行身份服务帐户是否能访问数据源。 [跳转到主要内容](#main-content) # ATRDiag.exe 命令行参考 您可以使用 ATRDiag 命令行实用工具来管理与 基于登录名的许可证管理 和授权运行 (ATR) 功能相关的许可问题。 ## 概要 `ATRDiag -dumpATR -showAll -showVerbose -product ["Tableau Desktop"]["Tableau Prep"]["Tableau Server"]` `-subProduct {subProduct} -version {version} -setVersion {version}` `-log [Trace][Debug][Info][Warn][Error][Fatal][Off] -status -deleteAllATRs` `-deleteInvalidATRs -deleteATR {atrIdToDelete}` `-enableATRFeature -disableATRFeature -enableLBLMFeature -disableLBLMFeature` `-requireLBLMFeature -setDuration {seconds`} **注意:**所有 ATRDiag 选项均不区分大小写。 ## 选项 `-dumpATR` 在命令提示符(如果存在)上显示有效的授权运行 (ATR)。使用 `-version/-product/-subProduct/-version` 控制在多个 ATR 有效的情况下转储哪个 ATR。 `-showAll` 枚举注册表的内容以查看可用的 ATR。(其中一些可能无效)。 `-showVerbose` 枚举注册表的内容并使用 `-version/-product/-subProduct/-version` 以便按产品提供。 `-product ["Tableau Desktop"]["Tableau Prep"]["Tableau Server"]` 默认为“Tableau Desktop”。必须指定“Tableau Server”才能显示服务器 ATR。 例如:`atrdiag -product "Tableau Server"` ![带有属性详细信息的命令提示符窗口。](/tableau/current/zh-cn/server/zh-cn/Img/atrdiag_product_tableau_server.png) `-subProduct {subProduct}` 默认为“Professional”。 `-version {version}` 无默认值:此字段的有效值为“Tableau 2021.1”。 `-setVersion {version}` 保留 -version 的默认值。 `-log [Trace][Debug][Info][Warn][Error][Fatal][Off]` 显示 ATR 日志信息。 `-status` 提供 ATR 功能状态(启用或禁用)、许可证服务器和转储 ATR。 `-deleteAllATRs` 移除计算机上的所有 ATR。 `-deleteInvalidATRs` 移除所有无效的 ATR。 `-deleteATR {atrIdToDelete}` 按 ID 移除 ATR。 `-enableATRFeature` 打开 ATR 功能。必须以管理员身份运行。仅供在 Tableau Desktop 上使用。 `-disableATRFeature` 关闭 ATR 功能。必须以管理员身份运行。仅供在 Tableau Desktop 上使用。 `-enableLBLMFeature` 打开 基于登录名的许可证管理 (LBLM)。必须以管理员身份运行。 `-disableLBLMFeature` 关闭 基于登录名的许可证管理 (LBLM)。必须以管理员身份运行。 `-requireLBLMFeature` 将 基于登录名的许可证管理 (LBLM) 功能设置为必需。必须以管理员身份运行。 `-setDuration {seconds}` 将 `ATRRequestedDurationSeconds` 设置为秒数。必须以管理员身份运行。 ## 全局选项 `-h, --help` 可选。 显示命令帮助。 [跳转到主要内容](#main-content) # AWS 上的 Tableau Server 疑难解答 ## 这是存档内容 继续支持公有云部署,但不再更新第三方公有云部署的内容。 有关最新的 Tableau Server 部署内容,请参见 Tableau Server 帮助的[部署](https://help.tableau.com/current/server/zh-cn/install.htm)部分。 对于那些有权访问的客户,我们建议使用 Tableau Cloud。有关更多详细信息,请参见: - [Tableau Cloud 手动迁移指南](https://help.tableau.com/current/guides/migration/zh-cn/emg_intro.htm) - [适用于管理员的 Tableau Cloud 试用版](https://help.tableau.com/current/server-linux/zh-cn/install.htm) - [Tableau Cloud:管理员入门](https://www.tableau.com/zh-cn/learn/get-started/online-admin) ## 简介 按照本主题中的建议来解决在 AWS 云中的 Amazon EC2 实例上安装 Tableau Server 时 Tableau Server 的常见问题。 - **TSM CLI 无法从其他节点中运行** TSM cli 经过相关设计,使您能通过包括 `-s` 选项来指定初始节点的名称或 IP 地址,从而从服务器群集中的任何节点中运行 tsm 命令。在 AWS 中从多个节点运行 TSM 时,可能会出现以下症状: - 带 `-s` 选项运行 tsm 命令时,可能会显示一条消息: `Unable to verify the server's HTTPS certificate.` 若要从不是初始节点的任何节点中的命令提示符处运行 TSM,您需要使用 `-s` 开关和初始节点的私有 IP 地址。 - **Tableau Server 未使用所有 CPU 内核** 在使用 Tableau Server 基于内核的许可时,可能会出现以下一个或多个症状: - 在安装 Tableau Server 时,对于运行 Tableau Server 的计算机,安装程序显示的内核数可能比预期显示的内核数少。 - 在 Tableau Server 的“许可证”页面上,“正在使用的许可证”下列出的内核数比预期显示的内核数少。 - 运行 `tsm licenses list` 时,Tableau Server 报告的内核数可能比预期显示的内核数少。 有关详细信息,请参见 [Tableau Server 未识别所有内核](http://kb.tableau.com/articles/issue/not-all-cores-recognized-by-tableau-server?lang=zh-cn)。 - **I/O 延迟较高** 将磁盘驱动器性能设置更改为“**更好的性能”**可以改善结果。 [跳转到主要内容](#main-content) # AWS 上的 Tableau Server 部署选项 ## 这是存档内容 继续支持公有云部署,但不再更新第三方公有云部署的内容。 有关最新的 Tableau Server 部署内容,请参见 Tableau Server 帮助的[部署](https://help.tableau.com/current/server/zh-cn/install.htm)部分。 对于那些有权访问的客户,我们建议使用 Tableau Cloud。有关更多详细信息,请参见: - [Tableau Cloud 手动迁移指南](https://help.tableau.com/current/guides/migration/zh-cn/emg_intro.htm) - [适用于管理员的 Tableau Cloud 试用版](https://help.tableau.com/current/server-linux/zh-cn/install.htm) - [Tableau Cloud:管理员入门](https://www.tableau.com/zh-cn/learn/get-started/online-admin) ## 简介 您可以在您配置的 Amazon EC2 实例上自行部署 Tableau Server,使用“在 AWS 上快速开始部署 Tableau Server”中的 AWS CloudFormation 模板部署 Tableau Server,或者使用 AWS Marketplace 中的 AWS CloudFormation 模板在 AWS 上部署 Tableau Server。下表显示了每个选项之间的差异。
Tableau ServerAWS 自行部署AWS 快速入门AWS Marketplace
生产准备就绪指示成功的复选标记图标。红色 X 图标。红色 X 图标。
可升级指示成功的复选标记图标。指示成功的复选标记图标。指示成功的复选标记图标。
在 Linux 上安装指示成功的复选标记图标。指示成功的复选标记图标。指示成功的复选标记图标。
在 Windows 上安装指示成功的复选标记图标。指示成功的复选标记图标。指示成功的复选标记图标。
纵向扩展指示成功的复选标记图标。指示成功的复选标记图标。指示成功的复选标记图标。
横向扩展(添加节点)指示成功的复选标记图标。指示成功的复选标记图标。红色 X 图标。
Active Directory 支持指示成功的复选标记图标。红色 X 图标。红色 X 图标。
BYOL 许可证指示成功的复选标记图标。指示成功的复选标记图标。指示成功的复选标记图标。
支持最新版本的 Tableau 指示成功的复选标记图标。指示成功的复选标记图标。指示成功的复选标记图标。
下面详细介绍了每个部署选项: - **自行部署到 Amazon EC2 实例** – 提供最大的灵活性和多种选项以根据您的环境自定义 Tableau Server。如果要快速启动系统,请改用“在 AWS 上快速开始部署 Tableau Server”或 AWS Marketplace 中的 Tableau Server (BYOL) 产品。 对于开始简单但以后可能需要纵向扩展或横向扩展的开发、测试和生产环境,建议将 Tableau Server 自行部署到 Amazon EC2 实例。您可以升级 Tableau Server 而不必替换 VM。 有关自行部署的详细信息,请参见[在 AWS 上自行部署单个 Tableau Server](https://help.tableau.com/current/server/zh-cn/ts_aws_single_server.htm)。有关在分布式环境中进行部署的详细信息,请参见[在分布式环境中向 AWS 自行部署 Tableau Server](https://help.tableau.com/current/server/zh-cn/ts_aws_multiple_server.htm)。 - **在 AWS 上快速开始部署 Tableau Server** – 使用 AWS CloudFormation 模板在独立的 Amazon EC2 实例上或在运行 Microsoft Windows Server、CentOS 或 Ubuntu Server 的独立的 Amazon EC2 实例群集上安装 Tableau Server。此部署策略可让您快速上手并限制整体成本。 对于开始简单但以后可能需要纵向扩展或横向扩展的开发、测试和生产环境,建议使用“在 AWS 上快速开始部署 Tableau Server”。您可以使用自己的许可证 (BYOL) 或[联系销售人员](https://www.tableau.com/zh-cn/about/contact#contact_sales)获取产品密钥。您可以升级 Tableau Server 而不必替换 VM。有关使用“快速开始”安装 Tableau Server 的详细信息,请参见[在 AWS 上快速开始部署 Tableau Server](https://aws.amazon.com/quickstart/architecture/tableau-server/)。 有关其他专业的 Tableau Server on AWS 快速入门指南,请参见: - [AWS 上的云分析现代化快速入门指南:使用 Tableau Server 实现端到端云分析](https://aws.amazon.com/quickstart/architecture/informatica-tableau-analytics/) - [适用于医疗保健行业的 Tableau Server on AWS 快速入门指南:适用于 HIPAA 工作负载的 Tableau Server on AWS](https://aws.amazon.com/quickstart/architecture/tableau-server-healthcare/) - **AWS Marketplace 中的 Tableau Server (BYOL)** – 只需单击几下,即可在 AWS 上安装 Tableau Server (BYOL) 的单节点实例。此解决方案使用 AWS CloudFormation 脚本,这些脚本用于在启动时部署 Tableau Server,与 AWS 快速入门目前的工作方式更加相符,以及确保统一的客户体验。 您可以[联系销售人员](https://www.tableau.com/zh-cn/about/contact#contact_sales)获取产品密钥,或者在 Amazon EC2 实例上启动并运行 Tableau Server 之后,您可以购买 Tableau Server 许可证并激活关联的产品密钥。有关 AWS Marketplace 的详细信息,请参见 [AWS Marketplace](https://aws.amazon.com/marketplace/seller-profile?id=0ef849c5-c2fa-4699-9f67-c47555e148a5)。Tableau Server AWS Marketplace 产品具有以下限制: - 单一计算机,仅纵向扩展。 - 无 Active Directory。仅本地身份验证。如果您需要 Active Directory 身份验证,请参见[在 AWS 上自行部署单个 Tableau Server](https://help.tableau.com/current/server/zh-cn/ts_aws_single_server.htm)。 - 可以部署到一组特定类型和大小的最佳 Amazon EC2 实例上。 - 支持 Windows 和 Linux。 - 支持最新版本的 Tableau。 - 升级 Tableau Server 而不必替换虚拟机。 有关 Tableau Server 的许可选项的详细信息,请参见[许可概述](https://help.tableau.com/current/server/zh-cn/license_server_overview.htm)。 [跳转到主要内容](#main-content) # AWS 密钥管理系统 Tableau Server 有三个密钥管理系统 (KMS) 选项,允许您启用静态加密。其中两个选项需要 Advanced Management 能力,而本地选项可与所有本地安装的 Tableau Server 一起使用。 **重要信息:**自 2024 年 9 月 16 日起,Advanced Management 不再作为独立的附加选项提供。仅当您先前购买了 Advanced Management,或者购买了某些许可证版本:Tableau Enterprise、Tableau Cloud+ 或 Tableau+ Bundle(适用于 Tableau Cloud),或者 Tableau Enterprise 或 Tableau Server+(适用于 Tableau Server)时,Advanced Management 功能才可用。 从版本 2019.3 开始,Tableau Server 添加了这些 KMS 选项:  - 适用于所有安装的本地 KMS。有关详细信息,请参见[Tableau Server 密钥管理系统](https://help.tableau.com/current/server/zh-cn/security_kms.htm)。 - 作为 Advanced Management 一部分提供的基于 AWS 的 KMS。下面介绍了这一点。 从版本 2021.1 开始,Tableau Server 添加了另一个 KMS 选项:  - 作为 Advanced Management 一部分提供的基于 Azure 的 KMS。有关详细信息,请参见[Azure Key Vault](https://help.tableau.com/current/server/zh-cn/security_kms_azure.htm)。 随着版本 2019.3 的发布,Tableau Server 支持将 AWS 密钥管理系统 (KMS) 作为 Advanced Management 的一部分。 ## 用于静态加密的 AWS KMS AWS KMS 作为 Tableau Server 中 Advanced Management 的一部分提供。有关详细信息,请参见[关于 Tableau Server 上的 Tableau Advanced Management](https://help.tableau.com/current/server/zh-cn/itm_intro.htm)。 如果您的组织要部署静态数据提取加密,则可以选择将 Tableau Server 配置为使用 AWS 作为 KMS 进行数据提取加密。若要启用 AWS KMS,您必须将 Tableau Server 部署在 AWS EC2 中。在 AWS 方案中,Tableau Server 使用 AWS KMS 客户主密钥 (CMK) 来生成 [AWS 数据密钥](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#data-keys)。Tableau Server 使用 AWS 数据密钥作为所有已加密数据提取的根主密钥。但是,即使针对 AWS KMS 进行了配置,将仍然会为 Tableau Server 上密文的安全存储使用本机 Java 密钥存储和本地 KMS。AWS KMS 仅用于对加密数据提取的根主密钥进行加密。 使用 AWS 对主根密钥进行加密不会采用与数据提取相同的权限存储主密钥,因此提供了更好的安全属性。 ![说明数据加密的各种密钥的图表。](/tableau/current/zh-cn/server/zh-cn/Img/security_kms_AWS_key_hierarchy.png) 使用 AWS KMS 配置 Tableau Server 时的密钥分层结构 ## 为 Tableau Server 加密数据提取配置 AWS KMS 若要使用 AWS 客户主密钥 (CMK) 对 Tableau Server KMS 分层结构中的根密钥进行加密,您必须按照此部分中所述的方式配置 Tableau Server。 在开始之前,请验证您是否满足以下要求: - Tableau Server 必须部署在 AWS EC2 中。 - Tableau Server 必须配置为具有 Advanced Management。请参见[关于 Tableau Server 上的 Tableau Advanced Management](https://help.tableau.com/current/server/zh-cn/itm_intro.htm)。 - 您必须对在 AWS 密钥管理服务中创建的客户主密钥 (CMK) 具有管理控制权限。 - 配置 AWS KMS 的人员的用户 Id(通常是电子邮件地址)不能超过 26 个字符。 ### 步骤 1:为 AWS 中的 Tableau Server 创建 CMK 和设置密钥策略 以下过程在 AWS KMS 服务中执行。包括了 AWS 文档的参考。 1. 创建将用于 Tableau Server 的 CMK。请参见 AWS 主题[创建密钥](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#data-keys)。 2. 更新服务器实例的 IAM 角色。 Tableau Server 需要能够使用实例的 IAM 角色向 AWS KMS 进行身份验证。角色需要附带有策略。策略应赋予对 CMK 调用“GenerateDataKey”和“Decrypt”操作的实例权限。请参见 [Amazon EC2 的 IAM 角色](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html)。 在 Tableau Server 的多节点节点部署中,服务器的所有节点都必须在附带有此策略(或等效策略)的角色下运行。您可以为群集中的所有节点分配相同的角色。 3. CMK 至少必须具有 `Effect` 设置为 `Allow` `Prinicpal`(附加到服务器实例的IAM 角色)和 `Action` 的密钥策略: `GenerateDataKey` 和 `Decrypt`。请参见[在 AWS KMS 中使用密钥策略](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html)。 ### 步骤 2:收集 AWS 配置参数 您将需要 AWS KMS 中的完整 ARN 字符串。此字符串位于 AWS KMS 管理页面的“常规配置”部分中。ARN 以此格式显示: arn:aws:kms:::key/,例如,`arn:aws:kms:us-west-2:867530990073:key/1abc23de-fg45-6hij-7k89-1l0mn1234567`。 您还需要指定 AWS 区域,它也包括在 ARN 字符串中。在上面的示例中,区域为 `us-west-2`。您的 KMS 实例位于该区域中。在下一步中,您将需要按 [Amazon API 网关表](https://docs.aws.amazon.com/general/latest/gr/rande.html)的“区域”列中所示的方式指定区域。 ### 步骤 3:为 AWS KMS 配置 Tableau Server 在 Tableau Server 上运行以下命令:此命令将重新启动服务器。 - `tsm security kms set-mode aws --aws-region "" --key-arn "arn:aws:kms:::key/"` `--key-arn` 选项从 AMS KMS 管理页面的“常规配置”中的 ARN 中直接复制字符串。 举例来说,如果 AWS KMS 实例正在 us-west-2 区域中运行,您的帐号为 867530990073,CMK 密钥为 1abc23de-fg45-6hij-7k89-1l0mn1234567,则命令将如下所示: `tsm security kms set-mode aws --aws-region "us-west-2" --key-arn "arn:aws:kms:us-west-2:867530990073:key/1abc23de-fg45-6hij-7k89-1l0mn1234567"` ### 步骤 4:启用静态加密 请参见[静态数据提取加密](https://help.tableau.com/current/server/zh-cn/security_ear.htm)。 ### 步骤 5:验证安装 1. 运行以下命令: `tsm security kms status` 可能返回以下信息: - 客户主密钥 (CMK) 的 ARN (ID) - CMK 所在的区域: - 正在使用的根主密钥 (RMK) 的 ID。RMK 是通过 CMK 加密的密钥。Tableau Server 通过调用 AWS KMS 对 CMK 进行解密。RMK 随后用于对主数据提取密钥 (MEK) 进行加密/解密。RMK 可以更改,但一次只能有一个。 - KMS 存储主数据提取密钥 (MEK) 的集合。每个 MEK 具有: - 一个 ID,例如 8ddd70df-be67-4dbf-9c35-1f0aa2421521 - “加密或解密密钥”或“仅解密密钥”状态。如果密钥为“加密或解密”,Tableau Server 将使用它对新数据进行加密。否则,密钥将仅用于解密。 - 创建时间戳,例如“创建时间: 2019-05-29T23:46:54Z。” - 首次过渡到加密和解密:指示密钥何时成为加密或解密密钥的时间戳。 - 过渡到仅解密:指示密钥何时过渡到仅解密的时间戳。 2. 在对数据提取进行加密和解密之后查看日志: - 将数据提取发布到站点,然后对其进加密。请参见[静态数据提取加密](https://help.tableau.com/current/server/zh-cn/security_ear.htm)。 - 使用 Tableau Desktop 或使用 Web 创作制作在浏览器上访问数据提取(这将对数据提取进行解密以供使用)。 - 在 vizqlserver\_node log 文件中搜索 `AwsKmsEncryptionEnvelopeAccessor` 和 `AwsKmsEncryptionEnvelope` 字符串。该日志的默认位置为 `C:\ProgramData\Tableau\Tableau Server\data\tabsvc\logs` 指示成功配置的日志条目示例包括以下内容: - Decrypted the RMK with ID 1abc23de-fg45-6hij-7k89-1l0mn1234567 using the CMK with ARN arn:aws:kms:us-west-2:867530990073:key/1234567d-a6ba-451b-adf6-3179911b760f - Using RMK with ID 1abc23de-fg45-6hij-7k89-1l0mn1234567 to decrypt KMS store 对于与 KMS 相关的发布和数据提取刷新,请搜索后台程序日志。有关日志的详细信息,请参见[Tableau Server 日志和日志文件位置](https://help.tableau.com/current/server/zh-cn/logs_loc.htm)。 ## 故障排除配置 ### 多节点配置不正确 在 AWS KMS 的多节点设置中,`tsm security kms status` 命令可能会报告正常 (OK) 状态,即使群集中的另一个节点配置不正确。KMS 状态检查仅在运行 Tableau Server 管理控制器进程的节点上进行报告,而不在群集中的其他节点上进行报告。默认情况下,Tableau Server 管理控制器进程在群集中的初始节点上运行。 因此,如果另一个节点配置不正确,以致于 Tableau Server 无法访问 AWS CMK,这些节点可能会为将启动失败的各种服务报告错误状态。 如果在您将 KMS 设置为 AWS 模式后,某些服务启动失败,请运行以下命令以恢复为本地模式:`tsm security kms set-mode local`。 ## 刷新 AWS CMK 刷新 AWS CMK 是您使用 AWS 执行的任务。默认情况下,AWS CMK 将每年刷新一次。请参见 AWS 主题[自动密钥轮换的工作方式](https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#rotate-keys-how-it-works)。由于 ARN 和区域不会更改,因此您无需在 Tableau Server 上为正常 CMK 刷新方案更新 KMS 配置。 在 AWS CMK 刷新之后,您必须在 Tableau Server 上重新生成内部 RMK 和 MEK。您还应使用新的 CMK 对所有数据提取进行重新加密: 1. 运行 `[tsm security regenerate-internal-tokens](https://help.tableau.com/current/server/zh-cn/cli_security_tsm.htm#regenerate-tokens)` 命令以在 Tableau Server 上重新生成所有内部密钥,包括用于数据提取加密的 RMK 和 MEK。 2. 运行 `tabcmd reencryptextracts ` 以对给定站点上的数据提取进行重新加密。在您存储加密数据提取的每个站点上运行此命令。根据站点上加密数据提取的数量,此操作可能会占用大量的服务器处理负载。考虑在工作时间以外运行此操作。请参见[静态数据提取加密](https://help.tableau.com/current/server/zh-cn/security_ear.htm)。 ## 在 Tableau Server 上重新生成 RMK 和 MEK 若要在 Tableau Server 上重新生成根主密钥和主加密密钥,请运行 `[tsm security regenerate-internal-tokens](https://help.tableau.com/current/server/zh-cn/cli_security_tsm.htm#regenerate-tokens)` 命令。 ## 使用 AWS KMS 备份和还原 可以在 AWS 模式下进行服务器备份,而无需额外的配置或过程。备份包含 RMK 和 MEK 的加密副本。对密钥进行解密需要访问和控制 AWS CMK。 对于还原方案,要还原到其中的服务器可以处于任一 KMS 模式,包括“本地”模式。唯一的要求是,要将备份还原到其中的服务器对备份本身使用的 CMK 具有解密访问权限。 在还原时,将以仅解密密钥的形式导入备份中的 MEK。RMK 不会迁移。在安装/还原过程中将生成新的 RMK。 [跳转到主要内容](#main-content) # AWS 拓扑上的 Tableau Server ## 这是存档内容 继续支持公有云部署,但不再更新第三方公有云部署的内容。 有关最新的 Tableau Server 部署内容,请参见 Tableau Server 帮助的[部署](https://help.tableau.com/current/server/zh-cn/install.htm)部分。 对于那些有权访问的客户,我们建议使用 Tableau Cloud。有关更多详细信息,请参见: - [Tableau Cloud 手动迁移指南](https://help.tableau.com/current/guides/migration/zh-cn/emg_intro.htm) - [适用于管理员的 Tableau Cloud 试用版](https://help.tableau.com/current/server-linux/zh-cn/install.htm) - [Tableau Cloud:管理员入门](https://www.tableau.com/zh-cn/learn/get-started/online-admin) ## 简介 在 AWS 上部署 Tableau Server 时,您可以选择 Tableau Desktop 和 Tableau Server 在 Amazon EC2 实例上的集成程度和深度。您可以使用 Tableau Desktop 及其从数据源中提取数据的能力来充当数据和 Tableau Server 之间的纽带。根据您的需求,或者如果您的 AWS 云中已经有大量数据,您可能会改为选择将全部 AWS 服务与 Tableau Server 结合使用。下图显示了与 Tableau Desktop 和 Tableau Server 的数据源集成。 ![通过 Tableau Desktop 和基于云的虚拟机将原始数据转换为用户访问数据的流程图。](/tableau/current/zh-cn/server/zh-cn/Img/tableau_cloud_topology.png) 在下图中,您的所有数据都托管在 AWS 上。您可以分析以安全、可扩展的方式管理的结构化和非结构化数据。您可以利用仅位于 AWS 上的数据、位于 AWS 外部的非托管数据或者两者的组合。这种灵活性可以大大改善组织为本地数据向云的迁移提供支持的能力,因为两种数据可受到平等的支持。 ![该图表说明了使用来自 AWS 的数据进行数据收集、存储、分析和可视化的过程。](/tableau/current/zh-cn/server/zh-cn/Img/tableau_aws_data_sources.png) [跳转到主要内容](#main-content) # Azure Key Vault Tableau Server 有三个密钥管理系统 (KMS) 选项,允许您启用静态加密。其中两个选项需要 Advanced Management 能力,而本地选项可与所有本地安装的 Tableau Server 一起使用。 **重要信息:**自 2024 年 9 月 16 日起,Advanced Management 不再作为独立的附加选项提供。仅当您先前购买了 Advanced Management,或者购买了某些许可证版本:Tableau Enterprise、Tableau Cloud+ 或 Tableau+ Bundle(适用于 Tableau Cloud),或者 Tableau Enterprise 或 Tableau Server+(适用于 Tableau Server)时,Advanced Management 功能才可用。 从版本 2019.3 开始,Tableau Server 添加了这些 KMS 选项:  - 适用于所有安装的本地 KMS。有关详细信息,请参见[Tableau Server 密钥管理系统](https://help.tableau.com/current/server/zh-cn/security_kms.htm)。 - 作为 Advanced Management 一部分提供的基于 AWS 的 KMS。有关详细信息,请参见[AWS 密钥管理系统](https://help.tableau.com/current/server/zh-cn/security_kms_aws.htm)。 从版本 2021.1 开始,Tableau Server 添加了另一个 KMS 选项:  - 作为 Advanced Management 一部分提供的基于 Azure 的 KMS。下面介绍了这一点。 ## 用于静态加密的 Azure 密钥库 从版本 2021.1.0 开始,Azure 密钥库作为 Tableau Server 中的 Advanced Management 的一部分提供。有关详细信息,请参见[关于 Tableau Server 上的 Tableau Advanced Management](https://help.tableau.com/current/server/zh-cn/itm_intro.htm)。 如果您的组织正在部署静态数据提取加密,您可以根据需要将 Tableau Server 配置为使用 Azure 密钥库作为数据提取加密的 KMS。若要启用 Azure 密钥库,您必须在 Azure 中部署 Tableau Server。在使用 Azure 的情况下,Tableau Server 使用 Azure Key Vault 加密所有加密数据提取的根主密钥 (RMK)。但是,即使针对 Azure 密钥库进行了配置,将仍然会为 Tableau Server 上密文的安全存储使用 Tableau Server 本机 Java 密钥存储和本地 KMS。Azure 密钥库仅用于对加密数据提取的根主密钥进行加密。 ![说明数据加密的各种密钥的图表。](/tableau/current/zh-cn/server/zh-cn/Img/security_kms_azure_hierarchy.png) 使用 Azure 密钥库配置 Tableau Server 时的密钥分层结构 ## 为 Tableau Server 加密数据提取配置 Azure 密钥库 若要使用 Azure 密钥库对 Tableau Server KMS 分层结构中的根密钥进行加密,您必须按照此部分中所述的方式配置 Tableau Server。 在开始之前,请验证您是否满足以下要求: - Tableau Server 必须部署在 Azure 中 - Tableau Server 必须配置为具有 Advanced Management 许可证。请参见[关于 Tableau Server 上的 Tableau Advanced Management](https://help.tableau.com/current/server/zh-cn/itm_intro.htm)。 - 您必须对密钥所在的 Azure 中的密钥库拥有管理控制权。 ### 步骤 1:在 Azure 中为 Tableau Server 创建密钥库和密钥 以下过程在 Azure 密钥库服务中执行。包括了 Azure 文档的参考。 1. 创建将用于 Tableau Server 的密钥库。请参见 Azure 主题[创建密钥库](https://docs.microsoft.com/zh-cn/azure-stack/user/azure-stack-key-vault-manage-portal?view=azs-2008#create-a-key-vault)。 2. 在库中创建密钥。请参见 Azure 主题[管理密钥和机密](https://docs.microsoft.com/zh-cn/azure-stack/user/azure-stack-key-vault-manage-portal?view=azs-2008)。 密钥必须是不对称 RSA 类型,但可以是任何大小(Tableau Server 不关心密钥大小)。我们建议您使用“最小特权原则”来获得最大的安全性。 Tableau 需要权限来执行 GET、UNWRAP KEY 和 WRAP KEY 命令操作,我们建议您仅针对这些操作允许访问以获得最少的特权。将访问策略分配给正在其上运行 Tableau Server 的 VM。 在 Tableau Server 的多节点部署中,访问策略必须分配给服务器群集的所有节点。 ### 步骤 2:收集 Azure 配置参数 您将需要来自 Azure 的密钥库名称和密钥名称。 ### 步骤 3:为 Azure 密钥库配置 Tableau Server 在 Tableau Server 上运行以下命令:此命令将重新启动服务器。 - ``` tsm security kms set-mode azure --vault-name "" --key-name "" ``` `--vault-name` 和 `--key-name` 选项直接从 Azure 密钥库复制字符串。 举例来说,如果您的 Azure 密钥库名为 `tabsrv-keyvault`,并且您的密钥为 `tabsrv-sandbox-key01`,则命令将为: `tsm security kms set-mode azure --vault-name "tabsrv-keyvault" --key-name "tabsrv-sandbox-key01"` ### 步骤 4:启用静态加密 请参见[静态数据提取加密](security_ear.htm)。 ### 步骤 5:验证安装 1. 运行以下命令: `[tsm security kms status](cli_security_tsm.htm#kms-status)` 可能返回以下信息: - 状态:OK(表示控制器节点可访问密钥库): - 模式:Azure 密钥库 - 密钥库名称: - Azure 密钥库密钥名称: - 用于 MEK 的可用 UUID 列表,指示哪个密钥处于活动状态 - 如果无法访问 KMS 数据,则显示错误信息 2. 在对数据提取进行加密和解密之后查看日志: - 将数据提取发布到站点,然后对其进加密。请参见[静态数据提取加密](security_ear.htm)。 - 使用 Tableau Desktop 或使用 Web 创作制作在浏览器上访问数据提取(这将对数据提取进行解密以供使用)。 - 在 vizqlserver\_node log 文件中搜索 `AzureKeyVaultEnvelopeAccessor` 和 `AzureKeyVaultEnvelope` 字符串。该日志的默认位置为 `C:\ProgramData\Tableau\Tableau Server\data\tabsvc\logs` 对于与 Azure 密钥库相关的发布和数据提取刷新,请搜索后台程序日志。有关日志的详细信息,请参见[Tableau Server 日志和日志文件位置](logs_loc.htm)。 ## 故障排除配置 ### 多节点配置不正确 在 Azure 密钥库的多节点设置中,`tsm security kms status` 命令可能会报告正常 (OK) 状态,即使群集中的另一个节点配置不正确。KMS 状态检查仅在运行 Tableau Server 管理控制器进程的节点上进行报告。它不在群集中的其他节点上进行报告。默认情况下,Tableau Server 管理控制器进程在群集中的初始节点上运行。 因此,如果另一个节点配置不正确,以致于 Tableau Server 无法访问 Azure 密钥,这些节点可能会为将启动失败的各种服务报告错误状态。 如果在您将 KMS 设置为“azure”模式后,某些服务启动失败,请运行以下命令以恢复为本地模式:`tsm security kms set-mode local`。 ## 刷新 Azure 密钥 您在 Azure 中刷新 Azure 密钥。没有必需或计划的密钥刷新周期。您可以通过在 Azure 中创建新密钥版本来刷新密钥。由于密钥库名称和密钥名称不会更改,因此您无需在 Tableau Server 上为正常 Azure 密钥刷新方案更新 KMS 配置。 ## 使用 Azure 密钥库进行备份和还原 可以在 Azure 密钥库模式下进行服务器备份,而无需额外的配置或过程。备份包含 RMK 和 MEK 的加密副本。对密钥进行解密需要访问和控制 Azure 密钥库。 对于还原方案,要还原到其中的服务器可以处于 Azure 密钥库或本地 KMS 模式。唯一的要求是,要将备份还原到其中的服务器对备份本身使用的 Azure 密钥库具有访问权限。 [跳转到主要内容](#main-content) # Creator:连接到 Web 上的数据 您需要先连接到数据,然后才能在 Web 上创建工作簿和构建视图来分析数据。Tableau 支持连接到 Web 上通过 Tableau Desktop 发布的数据源,或通过 Tableau Cloud、Tableau Server 或 Tableau Public 直接连接到数据。 从 2019.3 开始,Tableau Catalog 作为适用于 Tableau Server 和 Tableau Cloud 的 Data Management 产品的一部分提供。在环境中启用了 Tableau Catalog 后,除了通过“浏览”导航和连接到数据外,您还可以通过 Tableau Catalog 导航和连接到更多种类的数据,如数据库和表。有关 Tableau Catalog 的详细信息,请参见 [Tableau Server](https://help.tableau.com/current/server/zh-cn/dm_catalog_overview.htm) 或 [Tableau Cloud](https://help.tableau.com/current/online/zh-cn/dm_catalog_overview.htm) 帮助中的“关于 Tableau Catalog”。从 2021.4 开始,Data Management 包括虚拟连接,即数据的中央访问点。有关详细信息,请参见 [Tableau Server](https://help.tableau.com/current/server/zh-cn/dm_vconn_overview.htm) 或 [Tableau Cloud](https://help.tableau.com/current/online/zh-cn/dm_vconn_overview.htm) 帮助中的“关于虚拟连接和数据策略”。 ## 打开“连接到数据”页面 在 Web 上,使用“连接到数据”页面访问要连接的数据。登录到 Tableau Server 或 Tableau Cloud,可以通过两种方式打开此页面: - “主页”\>“新建”\>“工作簿” - “浏览”\>“新建”\>“工作簿” 如果使用 Tableau Public,您可以从作者个人资料中打开此页面: - “我的个人资料”\>“创建可视化项” “连接到数据”对话框显示常见混合内容的可滚动列表。如果有 Data Management 许可证,您可以使用虚拟连接来连接到数据,如果有启用了 Tableau Catalog 的 Data Management,您还可以连接到外部资产,比如数据库、文件和表。 响应式搜索字段显示建议列表,该列表会在您输入文本时更新。按数据类型、认证状态或其他取决于所选数据类型的筛选器来筛选结果。例如,某些类型的数据可能允许您根据标记、连接类型、数据质量警告或其他条件进行筛选。旧版本的对话框和功能略有不同,但整体功能相似。 ![连接到 Tableau Cloud 上的数据,可选择连接到数据源、虚拟连接、数据库和文件或表。](/tableau/current/zh-cn/server/zh-cn/Img/connect_to_data.png) 在“连接到数据”页面上,您看到的选项卡取决于您所拥有的产品。 在 Tableau Server 上,从以下选项卡中选择以连接到数据:“此站点上”、“文件”和“连接器”。 ### 连接到“此站点上”的数据 1. 选择“此站点上”浏览到或搜索已发布的数据源。 2. 在“名称”下选择数据源,并单击“连接”按钮。 **注意:**除了连接到数据源之外,当您拥有 Data Management 时,您可以使用“此站点上”通过虚拟连接来连接到数据。启用 Tableau Catalog 后,您还可以连接到数据库、文件和表。 ### 连接到文件 Tableau 支持直接在浏览器中上载 Excel 基于文本的数据源(.xlsx、.csv、.tsv),以及只需要一个文件的空间文件格式(.kml、.geojson、.topojson、.json 以及打包在 .zip 中的 Esri shapefile 和 Esri 文件地理数据库)。在“连接到数据”窗格的“文件”选项卡中,通过将文件拖放到字段中或单击“从计算机上载”来连接到该文件。您可以上载的最大文件大小为 1 GB。 ### 使用连接器 从“连接器”选项卡中,您可以连接到存放于企业中的云数据库中或服务器上的数据。您必须为想要进行的每个数据连接提供连接信息。例如,对于大多数数据连接,您必须提供服务器名称和您的登录信息。 [支持的连接器](https://help.tableau.com/current/pro/desktop/zh-cn/exampleconnections_overview.htm)包含有关如何将 Tableau 连接到其中每种连接器类型以设置数据源的信息。如果所需的连接器未出现在“连接器”选项卡中,您可以通过 Tableau Desktop 连接到数据,并将数据源发布到 Tableau Cloud 或 Tableau Server 用于 Web 制作。详细了解如何在 Tableau Desktop 中[发布数据源](https://help.tableau.com/current/pro/desktop/zh-cn/publish_datasources.htm)。 Tableau 成功连接到您的数据后,“数据源”页面将打开,以便您能够准备要分析的数据并开始构建视图。若要了解详细信息,请参见 [Creator:在 Web 上准备数据](https://help.tableau.com/current/pro/desktop/zh-cn/creator_data_prep.htm)。 #### Tableau Server 连接器

Actian Matrix*

Alibaba AnalyticDB for MySQL‡

Alibaba Data Lake Analytics‡

Alibaba MaxCompute‡

Amazon Athena‡

Amazon Aurora for MySQL‡

Amazon EMR Hadoop Hive‡

Amazon Redshift‡

Apache Drill‡

Aster Database*

Azure Data Lake Storage Gen2‡

Box‡

Cloudera Hadoop‡

Databricks‡

Datorama by Salesforce‡

Denodo‡

Dremio by Dremio‡

Dropbox‡

Esri 连接器‡

Exasol‡

Google BigQuery**‡

Google BigQuery JDBC**‡

Google Cloud SQL‡

Google 云端硬盘‡

Impala‡

Kognito*

Kyvos‡

Hortonworks Hadoop Hive

IBM BigInsights

IBM DB2‡

IBM PDA (Netezza)*

Kyvos‡

MariaDB‡

MarkLogic*

Microsoft Azure SQL Database‡

Microsoft Azure Synapse Analytics‡

Microsoft SQL Server‡

MonetDB*

MongoDB BI Connector‡

MySQL‡

OData‡

OneDrive‡

Oracle‡

Pivotal Greenplum Database‡

PostgreSQL‡

Progress OpenEdge*

Presto‡

Qubole Presto‡

SAP HANA(仅适用于虚拟连接)‡

SAP Sybase ASE*

SAP Sybase IQ*

Salesforce‡

Sharepoint 列表‡

SingleStore(前身为 MemSQL)‡

Snowflake‡

Spark SQL‡

Teradata***‡

Vertica‡

\*在 Linux 服务器上不可用。 \*\*在通过 Web 创建数据源时,Google BigQuery 需要 OAuth。详细了解服务器管理员如何能[为 Google 设置 OAuth](https://help.tableau.com/current/server/zh-cn/config_oauth_google.htm)。 \*\*\*Teradata Web 制作当前不支持查询分段功能。有关详细信息,请参见 [Teradata](https://help.tableau.com/current/pro/desktop/zh-cn/examples_teradata.htm)。 ‡支持虚拟连接(如果您有 Data Management)。有关详细信息,请参见 Tableau Server 帮助中的[关于虚拟连接和数据策略](https://help.tableau.com/current/server/zh-cn/dm_vconn_overview.htm)。 #### Tableau Catalog 支持的连接器 Tableau Catalog 支持使用 Tableau Server 支持的一部分数据连接器进行连接。如果数据源、数据库、文件或表呈灰色显示,则无法通过 Tableau Server 进行连接。不过,如果有正确的权限,您可以通过 Tableau Desktop 的“连接”窗格进行连接。 在 Tableau Cloud 上,从以下选项卡中选择以连接到数据:“此站点上”、“文件”、“连接器”和“仪表板起始模板”。 ### 连接到“此站点上”的数据 1. 选择“此站点上”浏览到或搜索已发布的数据源。 2. 在“名称”下选择数据源,并单击“连接”按钮。 **注意:**除了连接到数据源之外,当您拥有 Data Management 时,您可以使用“此站点上”通过虚拟连接来连接到数据。启用 Tableau Catalog 后,您还可以连接到数据库、文件和表。 ### 连接到文件 Tableau 支持直接在浏览器中上载 Excel 或基于文本的数据源(.xlsx、.csv、.tsv)。在“连接到数据”窗格的“文件”选项卡中,通过将 Excel 或文本文件拖放到字段中并单击“从计算机上载”来连接到该文件。您可以上载的最大文件大小为 1 GB。 ### 使用连接器 从“连接器”选项卡中,您可以连接到存放于企业中的云数据库中或服务器上的数据。您必须为想要进行的每个数据连接提供连接信息。例如,对于大多数数据连接,您必须提供服务器名称和您的登录信息。 [支持的连接器](https://help.tableau.com/current/pro/desktop/zh-cn/exampleconnections_overview.htm)包含有关如何使用连接器将 Tableau 连接到数据的信息。如果所需的连接器未出现在“连接器”选项卡中,您可以通过 Tableau Desktop 连接到数据,并将数据源发布到 Tableau Cloud 或 Tableau Server 用于 Web 制作。详细了解如何在 Tableau Desktop 中[发布数据源](https://help.tableau.com/current/pro/desktop/zh-cn/publish_datasources.htm)。 **注意**:如果无法从 Tableau Cloud 连接到数据,请检查以确定数据库是否可公开访问。Tableau Cloud 只能连接到可从公共 Internet 中访问的数据。如果您的数据位于专用网络后面,您可以使用 Tableau Bridge 进行连接。若要了解详细信息,请参见[发布者:使用 Tableau Bridge 使 Tableau Cloud 数据保持最新](https://help.tableau.com/current/online/zh-cn/qs_refresh_local_data.htm)。 #### Tableau Cloud 连接器

Alibaba AnalyticsDB for MySQL‡

Alibaba Data Lake Analytics‡

Amazon Athena‡

Amazon Aurora for MySQL‡

Amazon EMR Hadoop Hive‡

Amazon Redshift‡

Apache Drill‡

Azure Data Lake Storage Gen2‡

Azure Synapse Analytics(兼容 SQL Server)

Box‡

Cloudera Hadoop‡

Databricks‡

Datorama by Salesforce‡

Denodo‡

Dremio by Dremio‡

Dropbox*‡

Esri 连接器‡

Exasol‡

Google BigQuery*‡

Google Cloud SQL(兼容 MySQL)‡§

Google 云端硬盘‡

Hortonworks Hadoop Hive

Impala‡

Kyvos‡

MariaDB‡

Microsoft Azure SQL Database‡

Microsoft Azure Synapse Analytics‡

Microsoft SQL Server‡

MongoDB BI Connector‡

MySQL‡

OData‡

OneDrive*‡

Oracle‡

Pivotal Greenplum Database‡

PostgreSQL‡

Presto‡

Qubole Presto‡

Salesforce‡

SAP HANA(仅适用于虚拟连接)‡

Sharepoint 列表‡

SingleStore(前身为 MemSQL)‡

Snowflake‡

Spark SQL‡

Teradata**‡

Vertica‡

\* 有关在 Tableau Cloud 中对 Google BigQuery、OneDrive 和 Dropbox 连接使用 OAuth 2.0 标准的详细信息,请参见 [OAuth 连接](https://help.tableau.com/current/online/zh-cn/protected_auth.htm)。 \*\*Teradata Web 制作当前不支持查询分段功能。有关详细信息,请参见 [Teradata](https://help.tableau.com/current/pro/desktop/zh-cn/examples_teradata.htm)。 ‡支持虚拟连接(如果您有 Data Management)。有关详细信息,请参见 Tableau Cloud 帮助中的[关于虚拟连接和数据策略](https://help.tableau.com/current/online/zh-cn/dm_vconn_overview.htm)。 §Tableau Cloud 不支持使用 Google Cloud SQL 的 SSL。 #### Tableau Catalog 支持的连接器 Tableau Catalog 支持使用 Tableau Cloud 支持的一部分数据连接器进行连接。如果数据源、数据库、文件或表呈灰色显示,则无法通过 Tableau Cloud 进行连接。不过,如果有正确的权限,您可以通过 Tableau Desktop 的“连接”窗格进行连接。 ### 使用仪表板起始模板 在 Tableau Cloud 上,您可以使用“仪表板起始模板”制作和分析来自 LinkedIn Sales Navigator、Oracle Eloqua、Salesforce、ServiceNow ITSM 和 QuickBooks Online 的数据。在“仪表板起始模板”选项卡上,从预先构建的设计列表中选择一个选项,并单击“使用仪表板”。有关详细信息,请参见[基于云的数据源的仪表板起始模板](https://help.tableau.com/current/pro/desktop/zh-cn/starters.htm)。 ### 使用 Tableau Bridge 进行 Web 制作 在 Tableau Cloud 内制作数据视图或直接在 Web 上工作时,Tableau Bridge 为各种数据库和云数据环境提供完整的查询支持: - **指定连接器**:您可以在 Web 制作会话期间直接为 Tableau Cloud 连接窗格中显示的任何受支持的命名连接器建立全新的数据连接。 - **非指定/通用连接器**:在修改已指向功能齐全、预先存在的 Bridge 支持的架构的内容时,Web 制作与某些非指定数据库连接器完全兼容。这包括: - “编辑数据源”选项可能不适用于所有未命名连接器。 - 编辑现有且正常运行的云工作簿中的嵌入式数据源。 Tableau 不支持在所有情况下通过 Web 制作编辑已发布数据源。限制如下: - **“编辑数据源”**选项可能不适用于使用未命名(通用)连接器的已发布数据源。按钮显示为灰色。 - 当前不支持编辑包含 Bridge 数据源的多个连接的实时已发布数据源,否则会导致错误。 有关详细信息,请参见[“与 Bridge 的连接”](https://help.tableau.com/current/online/zh-cn/to_sync_local_data.htm)。 在 Tableau Public 上,您可以通过上传支持的文件连接到数据。 ### 连接到文件 Tableau 支持直接在浏览器中上载 Excel 或基于文本的数据源(.xlsx、.csv、.tsv)。在“连接到数据”窗格的“文件”选项卡中,通过将 Excel 或文本文件拖放到字段中并单击“从计算机上载”来连接到该文件。您可以上载的最大文件大小为 1 GB。 如果您没有数据集,请查看 Tableau Public 网站上免费的[示例数据集](https://public.tableau.com/zh-cn/s/resources?qt-overview_resources=1#qt-overview_resources)。 ### 使用连接器 从“连接器”选项卡中,您可以连接到存放于云数据库中的数据。您必须为想要进行的每个数据连接提供连接信息。例如,对于大多数数据连接,您必须提供您的登录信息。 [支持的连接器](https://help.tableau.com/current/pro/desktop/zh-cn/exampleconnections_overview.htm)包含有关如何使用连接器将 Tableau 连接到数据的信息。如果所需的连接器未出现在“连接器”选项卡中,您可以通过 Tableau Desktop 连接到数据,并创建数据提取。 **注意**:如果无法从 Tableau Public 连接到数据,请检查以确定数据库是否可公开访问。Tableau Public 只能连接到可从公共 Internet 中访问的数据。 #### Tableau Public 连接器

Google 云端硬盘

OData

## 连接之后 Tableau 连接到您的数据后,“数据源”页面将打开,以便您能够准备要分析的数据并开始构建视图。若要了解详细信息,请参见 [Creator:在 Web 上准备数据](https://help.tableau.com/current/pro/desktop/zh-cn/creator_data_prep.htm)。 ## 在 Web 制作过程中使数据保持最新 **在 Tableau Cloud 或 Tableau Server 中更新上载的文件**:如果手动上载文件(Excel 或文本)进行 Web 制作,Tableau 无法自动刷新文件。若要更新数据,请选择“编辑连接”来上载文件的新版本。 在 Tableau Public 中,转到您的可视化项并单击“请求更新”。您还可以通过在 Tableau Desktop Public Edition 中选择“使此数据保持同步”来自动使数据保持最新。 **在 Tableau Cloud 中更新基于文件的已发布数据源:**如果 Tableau Cloud 中有使用基于文件的数据的已发布数据源(通过 Tableau Desktop 发布),您可以使用 Tableau Bridge 使其保持最新。有关详细信息,请参见[使用 Tableau Bridge 扩展数据新鲜度选项](https://help.tableau.com/current/online/zh-cn/to_sync_local_data.htm)。 并非所有情形都支持通过 Web 制作编辑已发布数据源。限制如下: - 对于使用未命名(通用)连接器的已发布数据源,“编辑数据源”选项不可用。该按钮可能显示为灰色。 - 编辑实时 PDS(无论是通过 Web 制作创建还是从 Tableau Desktop 发布)可能会导致连接错误。Tableau Cloud 可能会尝试直接连接到数据库,而不是通过 Bridge 路由,从而导致请求失败。 - 当前不支持编辑包含 Bridge 数据源的多个连接的实时 PDS,并且将导致错误。 了解使用 Bridge 进行 Web 制作期间的错误 Web 制作失败期间显示的错误消息可能未明确指明与 Bridge 相关的问题。常见情形及其含义: - 网络或登录超时错误(例如,“发生了网络相关或实例特定的错误”或“登录超时已过期”)可能表示 Tableau Cloud 回退为直接尝试连接,而不是通过 Bridge 进行路由。验证您的 Bridge 客户端是否已连接并分配给正确的池。 - NO\_POOLED\_AGENTS\_ASSIGNED\_NAMED\_POOL 错误表示没有将 Bridge 代理分配给为您的站点配置的命名池。分配一个活动 Bridge 客户端来解决此问题。 - 如果“编辑数据源”按钮呈灰色显示,则数据源使用当前不支持通过 Web 制作进行编辑的未命名连接器。 [跳转到主要内容](#main-content) # CSV 导入文件准则 通过创建含有用户信息的逗号分隔值 (CSV) 文件,然后导入该文件,即可批量添加用户。您可以在 CSV 文件中包括属性(例如许可级别和发布访问权限),以便在导入这些属性的同时将它们应用于用户。 本主题介绍 CSV 文件本身的详细信息。若要使用 CSV 导入用户,您可以: - 使用服务器或站点管理页面。有关信息,请参见[导入用户](https://help.tableau.com/current/server/zh-cn/users_import.htm)。 - 使用 `tabcmd` 实用工具。有关信息,请参见 [createsiteusers filename.csv](https://help.tableau.com/current/server/zh-cn/tabcmd_cmd.htm#idd1b7729f-dd20-475a-96f6-17fcd2577894)。 您可以在站点或服务器级别导入用户。如果将用户导入到服务器(而不是导入特定站点),则不会将用户分配到站点,并且会以 Unlicensed 方式导入用户。 **注意:**除非另有说明,否则本主题中指定的准则适用于配置或未配置[身份池](https://help.tableau.com/current/server/zh-cn/identity_pools.htm)的 Tableau Server。 ## CSV 文件格式要求 用于导入用户的 CSV 文件具有以下格式要求: - 没有列标题。Tableau Server假定文件中的每一行代表一个用户。 - 只有在导入到站点时才支持带字节顺序标记 (BOM) 的 UTF-8 格式。如果要导入到 Tableau Cloud Manager,请使用 UTF-8 格式并从文件中移除任何 BOM。 - 诸如 BIG-5 等字符编码必须转换为 UTF-8。可通过在文本编辑器中打开文件并使用“另存为”命令来达到此目的。 - 如果 `@` 字符出现在除域分隔符以外的任何**用户名**字段中,则它必须为十六进制格式:`\0x40`。例如,`user@fremont@mycompany.com` 应该为 `user\0x40fremont@mycompany.com`。 ## CSV 文件中所需的列结构 文件不应包含标题行。并非所有列都需要填写,但必须通过包括所有预期的逗号分隔符来保留所需的列结构。 列结构因产品和导入工具而异。确保使用适合您的环境的结构: - **Tableau Cloud:**username、password、display name、license level、administrator level、publishing capability、email address - **带有 Tableau Cloud Manager (TCM) 的 Tableau Cloud:**tenant or site URI、username, password、display name、license level、administrator level、publishing capability、email address、authentication type - **Tableau Server:**username、password、display name、license level、admin level、publishing capability、email address - **使用身份池的 Tableau Server:**username、password、display name、license level、admin level、publishing capability、email address、identity pool name、identifier 有关每列的可能值的详细信息,请参见下面的列详细信息部分。 > [!WARNING] > > **重要信息:**列的顺序非常重要。将第一列视为用户名,将第二列视为密码,将第三列视为显示名称等等,而不考虑列中的内容。如果忽略字段的值,您必须仍然包括字段的逗号分隔符。 ## Tableau Server 的列详细信息 **注意**:如果未登录到特定站点,并且在服务器级别导入用户,则只能分配“服务器管理员”和“未许可”站点角色。 CSV 文件的列结构: `username, password, display name, license level, admin level, publishing capability, email address` ### 列详细信息  **Username:**_必填_。用户的名称。 - 如果服务器配置为使用 Active Directory,则此值必须与 Active Directory 中定义的用户匹配。如果用户名在域之间不唯一,请包括域作为用户名的一部分(例如,`example\Adam` 或 `adam@example`)。 - 如果将用户添加到[身份池](https://help.tableau.com/current/server/zh-cn/identity_pools.htm),请确保以下内容: - 如果将用户添加到使用 AD 作为其身份存储的身份池,请确保使用 AD sAMAccountName 值作为用户名。 - 如果将用户添加到使用 LDAP 作为其身份存储的身份池,请确保使用 LDAP 用户名值作为用户名。 **Password:**用户的密码。此列是否为必需取决于服务器的配置: - Local authentication:_必填_。从 Tableau Server 2024.2 开始强制要求 password 字段。有关详细信息,请参见[尝试通过 Tableau Server 2024.2 中的 tabcmd 添加用户时,出现意外的“errorCode=134”](https://help.salesforce.com/s/articleView?id=002277940&type=1)知识文章。 - Active Directory:_忽略_。作为最佳做法,请将此列留空。 **Display name:**显示名称是用于在服务器上标识用户的信息的一部分。是否使用此列取决于服务器的配置: - Local authentication:如果用户的显示名称已在使用,Tableau Server 将使用 CSV 文件中的设置更新现有用户信息。 - Active Directory:_忽略_。作为最佳做法,请将此列留空。 **License level:**可以是**“Creator”**、**“Explorer”**、**“Viewer(查看者)”**或**“Unlicensed”**。 - 如果 license level 为 Creator,则 publishing capability 必须为 Yes/True/1 - 如果有基于用户的服务器安装,并且添加用户会超出许可证允许的用户数,则会以未许可用户形式添加用户。 - 如果使用 `tabcmd` 并指定许可证,但导入用户会超出许可证限制,则会以“未许可”用户方式导入用户。 **Administrator level:**可以是**“System”**、 **“Site”**或**“None”**,并确定是否以管理员形式导入用户。 - System = 服务器管理员,Site = 站点管理员,None = 非管理员。 - 如果未登录到特定站点,并且在服务器级别导入用户,则只能分配“服务器管理员”和 Unlicensed。 - 如果使用 Web UI 导入用户,则只有在服务器(所有站点)级别导入文件时,您才能将管理员站点角色设置为“System”。如果登录到特定站点,并且 CSV 文件中用户的管理员列设置为“System”,则 Tableau Server 将以站点管理员形式导入用户。 **Publishing capability:**可以是**“Yes/True/1”**或**“No/False/0”**。如果使用 Web UI,则只有在登录到特定站点的同时进行导入才会使用 publishing capability。 - 如果 license level 为 Creator,则 publishing capability 必须为 Yes/True/1 - 如果 license level 为 Explorer,则 publishing capability 值就是区分“Explorer(可发布)”和“Explorer”的站点角色的值 - 如果 license level 为 Viewer 或 Unlicensed,则无论此列的值如何,用户都将无法进行发布 **Email address:**电子邮件地址是用于在服务器上识别用户的信息的一部分。如果电子邮件地址已在使用,Tableau Server 将使用 CSV 文件中的设置更新现有用户信息。 任何留空的列仍必须用逗号分隔,以保留列结构。 ### 身份池 如果将用户添加到身份池,除了标准列之外,还需要以下列: CSV 文件的列结构: `username, password, display name, license level, admin level, publishing capability, email address, identity pool name, identifier` 其他列详细信息: **Identity pool name:**您要将用户添加到其中的身份池的名称。如果您要将用户添加到身份池并且未指定身份池名称,则会将用户添加到初始池(TSM 配置),这是 Tableau Server 设置期间在 TSM 中预置的用户集。 **Identifier:**您要添加的用户的标识符。标识符仅用于身份匹配目的。有关详细信息,请参见[Tableau 中的用户名和标识符](https://help.tableau.com/current/server/zh-cn/identity_pools.htm#usernames_identifiers)。 - Local authentication:_可选_ - Active Directory or LDAP:_必填_ #### 使用身份池批量添加用户 您可以使用 CSV 导入过程来: - 将用户批量添加到其他身份池。**注意:**您无法使用 CSV 导入过程将用户已所属的身份池替换为另一个身份池。如果您添加具有不同身份池值的现有用户,他们将被添加到该附加身份池中。 - 为还没有标识符的用户批量添加标识符。**注意:**如果您为同一池中的用户添加不同的标识符,它不会替换该用户的现有标识符。相反,将为该用户创建一个新的标识符记录。 ### Tableau Server 的 CSV 导入示例 > [!TIP] > > **提示**:请记住,结构为:`username, password, display name, license level, admin level, publishing capability, email address`。 以下示例显示了一个包含若干用户的信息的 CSV 文件。 henryw,henrypassword,Henry Wilson,Creator,None,yes,henryw@example.com freds,fredpassword,Fred Suzuki,Viewer,None,no,freds@example.com alanw,alanpassword,Alan Wang,Explorer,Site,yes,alanw@example.com michellek,michellepassword,Michelle Kim,Creator,System,yes,michellek@example.com - 如果在管理站点的同时导入此文件,则会向该站点中添加四个用户。用户 Michelle 的 `Administrator` 设置为 `System`。但是,由于您在将用户导入站点,Tableau Server 会为 Michelle 授予“站点管理员 Creator”站点角色。其中三个用户允许进行发布。 - 如果在管理服务器的同时导入此文件,则会向服务器中添加四个用户,但不会将它们添加到任何站点。只会导入一个用户作为服务器管理员;其余用户设置为 Unlicensed。 #### 身份池示例 > [!TIP] > > **提示**:请记住,结构为:`username, password, display name, license level, admin level, publishing capability, email address, identity pool name, identifier`。 以下示例显示了一个 CSV 文件,其中包含添加到身份池的两个用户的信息。 henryw,henrypassword,Henry Wilson,Viewer,None,yes,hwilson@myco.com,General Contractors,hwilson freds,fredpassword,Fred Suzuki,Creator,None,no,fsuzuki@myco.com,General Contractors,fsuzuki 以下示例显示了一个 CSV 文件,其中包含添加到附加身份池的两个用户的信息。 henryw,henrypassword,Henry Wilson,Viewer,None,yes,hwilson@myco.com,General Contractors 2,hwilson freds,fredpassword,Fred Suzuki,Creator,None,no,fsuzuki@myco.com,General Contractors 2,fsuzuki 以下示例显示了一个 CSV 文件,其中包含添加到没有现有标识符的两个用户的信息。 janes,janepassword,Jane Smith,Viewer,None,yes,jsmith@myco.com,General Contractors,jwang laurar,laurapassword,Laura Rodriguez,Creator,None,no,lrodriguez@myco.com,General Contractors,jrodriguez ### 提高通过 tabcmd 传递的大型 CSV 文件的性能 **注意:**这些设置适用于 Tableau Server 版本 2022.1 及更低版本。从版本 2022.3 开始,它们影响的搜索和索引服务已弃用,并在 2023.3 中已停用(完全移除)。 服务器管理员可以启用服务器设置,帮助提高通过 tabcmd 命令导入大型 CSV 文件的性能。您可以使用以下选项运行 `tsm configuration set` 命令来完成此操作: - `vizportal.csv_user_mgmt.index_site_users` - `vizportal.csv_user_mgmt.bulk_index_users` - `searchserver.index.bulk_query_user_groups` 本质上,这些选项会在处理 CSV 文件后建立这些用户的索引,而不是在将用户添加到服务器的数据库后逐个建立用户索引。这将减少数据库调用次数和处理文件所需的内存。这些 `tsm configuration set` 选项适用于 `tabcmd createsiteusers`、`deletesiteusers`、`addusers` 和 `removeusers` 命令。 有关这些设置的说明,请参见[tsm configuration set 选项](https://help.tableau.com/current/server/zh-cn/cli_configuration-set_tsm.htm)。 ## CSV 设置和站点角色 用户的许可证级别、管理员和发布设置确定如何在导入过程中设置用户的站点角色。下面介绍了应如何在 CSV 中捕获站点角色。
站点角色License levelAdministrator levelPublishing capability

服务器管理员

仅当您在管理服务器(即未登录到特定站点)的情况下导入用户时,此角色才有效。

任何,但“服务器管理员”站点角色始终获得“Creator”许可证(如果有)。如果没有“Creator”许可证,请参见许可疑难解答了解 Tableau Server 如何处理此情况。SystemTrue

站点管理员 Creator 或站点管理员 Explorer

仅当您在登录到特定站点的情况下导入用户时,这些角色才有效。

Creator 或 ExplorerSiteTrue
CreatorCreatorNoneTrue
Explorer(可发布)ExplorerNoneTrue
ExplorerExplorerNoneFalse
Viewer(查看者)Viewer(查看者)NoneFalse
UnlicensedUnlicensedNoneFalse
[跳转到主要内容](#main-content) # gatewaySettings 实体 您必须为 Tableau Server 计算机配置网关设置。 使用下面的配置文件模板创建一个 json 文件。使用适当的值填充各个选项之后,使用以下命令传递 json 文件并应用设置: `tsm settings import -f /path/to/file.json` `tsm pending-changes apply` 如果待定更改需要重新启动服务器,`pending-changes apply` 命令将显示一个提示,告知您将进行重新启动。即使服务器已停止,此提示也会显示,但在这种情况下不会重新启动。您可以使用 `--ignore-prompt` 选项隐藏提示,但这样做不会改变重新启动行为。如果更改不需要重新启动,则会在不提示的情况下应用更改。有关详细信息,请参见[tsm pending-changes apply](https://help.tableau.com/current/server/zh-cn/cli_pending-changes.htm#pending-changes-apply)。 ### 网关设置 以下模板中的网关设置指定 Tableau Server 的 HTTP 设置。我们建议使用 SSL/TLS。Tableau Server 采用硬编码以将端口 443 用于 SSL/TLS。因此,如果启用 SSL,则不需要更新 gatewaySettings 实体。 ### 配置模板 使用此模板配置网关设置。 **重要信息:**所有实体选项均区分大小写。 有关配置文件、实体和密钥的更多说明,请参见[配置文件示例](https://help.tableau.com/current/server/zh-cn/config_file_example.htm)。 { "configEntities": { "gatewaySettings": { "\_type": "gatewaySettingsType", "port": 80, "sslRedirectEnabled": true, "publicHost": "localhost" } } } ### 配置文件参考 此表包括可随 `"gatewaySettings"` 实体集一起包括的所有选项。 \_type 必需。 值:`"gatewaySettingsType"` 请不要更改。 port 指定 HTTP 端口。默认端口为端口 80。 sslRedirectEnabled 选项:`true` 或 `false`。 publicHost 指定 http/s 服务的主机名。 trustedIPs 指定与 Tableau Server 通信的受信任 IP 地址。受信任的 IP 地址包括上游代理服务器,以及用于向 Tableau Server 进行受信任的身份验证的服务器。请参见[为 Tableau Server 配置代理和负载平衡器](https://help.tableau.com/current/server/zh-cn/proxy.htm)和[向 Tableau Server 添加受信任的 IP 地址或主机名称](https://help.tableau.com/current/server/zh-cn/trusted_auth_trustIP.htm)。 如果您在群集中运行 Tableau Server,则群集的所有其他节点将自动包含在该实体更新的相应配置文件中。因此,如果为 `trustedIPs` 指定新值,则必须在值中包含其他节点的 IP 地址。 此选项采用字符串列表,该列表要求以引号或方括号传递每个 IP 或主机,用逗号(无空格)分隔。例如:`["192.168.1.101","192.168.1.102","192.168.1.103"]` 或 `["webserv1","webserv2","webserv3"]`。 trustedHosts 指定与 Tableau Server 通信的受信任 IP 地址。通常,此值包含上游代理服务器的列表。trustedHosts 中的值用于确定客户端请求目标。 如果您在群集中运行 Tableau Server,则群集的所有其他节点将自动包含在该实体更新的相应配置文件中。因此,如果为 `trustedIPs` 指定新值,则必须在值中包含其他节点的 IP 地址。 此选项采用字符串列表,该列表要求以引号或方括号传递每个 IP 或主机,用逗号(无空格)分隔。例如:`["192.168.1.101","192.168.1.102","192.168.1.103"]` 或 `["webserv1","webserv2","webserv3"]`。 [跳转到主要内容](#main-content) # Google 云平台上的 Tableau Server 拓扑 ## 这是存档内容 继续支持公有云部署,但不再更新第三方公有云部署的内容。 有关最新的 Tableau Server 部署内容,请参见 Tableau Server 帮助的[部署](https://help.tableau.com/current/server/zh-cn/install.htm)部分。 对于那些有权访问的客户,我们建议使用 Tableau Cloud。有关更多详细信息,请参见: - [Tableau Cloud 手动迁移指南](https://help.tableau.com/current/guides/migration/zh-cn/emg_intro.htm) - [适用于管理员的 Tableau Cloud 试用版](https://help.tableau.com/current/server-linux/zh-cn/install.htm) - [Tableau Cloud:管理员入门](https://www.tableau.com/zh-cn/learn/get-started/online-admin) ## 简介 在 Google 云平台上部署 Tableau Server 时,您可以选择 Tableau Desktop 和 Tableau Server 在 Google 计算引擎 (GCE) 虚拟机 (VM) 上的集成程度和深度。您可以使用 Tableau Desktop 及其从数据源中提取数据的能力来充当数据和 Tableau Server 之间的纽带。根据您的需求,或者如果您的 Google 云平台中已经有大量数据,您可能会改为选择将全部 Google 云平台服务与 Tableau Server 结合使用。下图显示了与 Tableau Desktop 和 Tableau Server 的数据源集成。 ![通过 Tableau Desktop 和基于云的虚拟机将原始数据转换为用户访问数据的流程图。](/tableau/current/zh-cn/server/zh-cn/Img/tableau_cloud_topology.png) 在下图中,您的所有数据都托管在 Google 云平台上。您可以分析以安全、可扩展的方式管理的结构化和非结构化数据。您可以利用仅位于 Google 云平台上的数据、位于 Google 云平台外部的非托管数据或者两者的组合。这种灵活性可以大大改善组织为本地数据向云的迁移提供支持的能力,因为两种数据可受到平等的支持。 ![该图表说明了使用来自 Google 的数据进行数据收集、存储、分析和可视化的过程。](/tableau/current/zh-cn/server/zh-cn/Img/tableau_google_data_sources.png) [跳转到主要内容](#main-content) # Google 云平台上的 Tableau Server 疑难解答 ## 这是存档内容 继续支持公有云部署,但不再更新第三方公有云部署的内容。 有关最新的 Tableau Server 部署内容,请参见 Tableau Server 帮助的[部署](https://help.tableau.com/current/server/zh-cn/install.htm)部分。 对于那些有权访问的客户,我们建议使用 Tableau Cloud。有关更多详细信息,请参见: - [Tableau Cloud 手动迁移指南](https://help.tableau.com/current/guides/migration/zh-cn/emg_intro.htm) - [适用于管理员的 Tableau Cloud 试用版](https://help.tableau.com/current/server-linux/zh-cn/install.htm) - [Tableau Cloud:管理员入门](https://www.tableau.com/zh-cn/learn/get-started/online-admin) ## 简介 如果在使用 Google 云计算引擎 (GCE) 虚拟机 (VM) 上的 Tableau Server 或在安装之后访问 Tableau Server 遇到问题,请查看以下疑难解答提示。 - **无法使用 RDP 连接到 VM** 以下一个或多个问题可能会使您无法使用 RDP 连接到 VM: - 确保使用正确的凭据。 - 选择“**Other User**”(其他用户)选项,并在该处输入您的凭据。 - 确保使用在 GCP 实例上有效的用户名。例如,如果您使用管理员帐户 **myuser** 创建了实例,请在 RDP 对话框中输入 **.\\myuser** 作为用户名。 - **无法从远程浏览器中访问服务器** 以下一个或多个问题可能会使您无法从远程浏览器中访问服务器: - 登录到实例并确保服务器正在运行。 - 在实例中,打开浏览器,并以本地方式访问服务器(例如,使用 http://localhost 或 http://localhost:port,其中 port 是服务器配置为在其上侦听的端口号)。 - 在 GCP 计算引擎控制台中,确保配置一个端点以允许进入实例的 HTTP 流量。 **注意:**您无法使用 Windows ping 实用工具来测试与实例的连接。从公共 Internet 中使用时,ping 实用工具会始终报告超时。 - **您收到以下错误消息:Tableau Server 未获许可** 如果在未先停用许可证的情况下关闭实例,则可能出现此错误。请与 [Tableau 支持部门](http://www.tableau.com/zh-cn/support/request)联系。 - **Tableau Server 未使用所有 CPU 内核** 在使用 Tableau Server 基于内核的许可时,可能会出现以下一个或多个症状: - 在安装 Tableau Server 时,对于运行 Tableau Server 的计算机,安装程序显示的内核数可能比预期显示的内核数少。 - 在 Tableau Server 的“许可证”页面上,“正在使用的许可证”下列出的内核数比预期显示的内核数少。 - 运行 `tsm licenses list` 时,Tableau Server 报告的内核数可能比预期显示的内核数少。 有关详细信息,请参见 [Tableau Server 未识别所有内核](http://kb.tableau.com/articles/issue/not-all-cores-recognized-by-tableau-server?lang=zh-cn)。 [跳转到主要内容](#main-content) # Tableau Server Helm 图表 - 先决条件 **重要信息**:本文档假设您了解 Helm 和 Helm 图表,并不试图提供详细的说明性示例。它是为熟悉 Tableau Server 以及 Helm 和 Helm 图表的客户设计的。 本主题介绍使用 Helm 图表部署 Tableau Server 所需的先决条件。 ## Helm 图表下载和分发 Helm 图表将作为“容器中的 Tableau Server”设置工具 (`tableau-server-container-setup-tool-.tar.gz`) 的一部分提供,并可从 [Tableau Server 下载](http://tableau.com/zh-cn/support/releases/server/latest)页面下载。 提取后,所需的 Helm 图表文件位于 `helm/tableau` 目录中。 ## 所需工具 - `kubectl` CLI(配置为访问 Kubernetes 群集) - `helm` CLI 版本 3.x 或更高版本 - 访问 Kubernetes 群集 (1.19+) ## 群集要求 - 至少一个具有 16GB RAM 和 4 个 CPU 内核(推荐使用 8 个内核)的节点。 - 为动态 PersistentVolume 预置配置的 StorageClass。 - 能够创建 LoadBalancer 服务或入口资源。 ## 所需信息 在开始之前,请确保您具有以下各项: - 您的 Tableau Server **许可证密钥** - 初始帐户的 **TSM 管理员 `username` 和** `**password**` - 用于访问的 Tableau Server **主机名** ## Amazon Elastic Kubernetes Service (EKS) 先决条件 ### `efs-bootstrap` StorageClass 默认情况下,`efs-bootstrap` 不是在 EKS 中创建的。对于多节点引导程序共享,请在安装 Helm 之前创建它。 对于多节点部署,引导程序存储必须可预置,然后 pod 才能进行计划。如果您的 `efs-bootstrap` StorageClass 不动态预置 EFS 卷,您必须: - 提前创建静态引导 PV 并将其绑定到 `tableau-server-bootstrap` 或 - 设置 `persistence.bootstrap.createPV: true` 并提供 `valid persistence.bootstrap.pv.csi.volumeHandle`(实际 EFS ID,fs-...)。 如果不这样做,pod 将保持待处理状态,并包含未绑定的 PVC。 1. 确保您的群集中安装了 EFS CSI 驱动程序。 kubectl get csidriver efs.csi.aws.com 即使未安装 EKS 托管加载项,`CSIDriver` 对象也可能存在。显式确认加载项。 如果您遇到 `ResourceNotFoundException` 错误(无加载项),或者 pod 稍后因挂载错误而失败,例如 `driver name efs.csi.aws.com not found in the list of registered CSI drivers`,请安装 EKS 加载项并等待状态变为 ACTIVE,然后验证节点插件 pod。 这是必需的,因为多节点引导程序使用 EFS 支持的卷 (ReadWriteMany)。如果没有附加节点上的 EFS CSI 节点插件,引导程序 PVC 可以绑定,但挂载失败,pod 保持状态 `Init/Pending` 。 如果 EFS 挂载失败,并出现: is not authorized to perform: elasticfilesystem:DescribeMountTargets 或 Failed to resolve "fs-....efs..amazonaws.com" 使用以下补救措施之一: - **针对 EKS 节点角色的 IAM 修复**(首选):授予 EFS 和 EC2 读取权限,以便挂载目标和 AZ 发现正常工作。解析节点组中的节点实例角色名称: aws eks list-nodegroups --cluster-name aws eks describe-nodegroup \\ \--cluster-name \\ \--nodegroup-name \\ \--query "nodegroup.nodeRole" \\ \--output text - 在 `attach-role-policy`中使用 **IAM \*\*角色名称\*\***(ARN 的最后一段): aws iam attach-role-policy \\ \--role-name \\ \--policy-arn arn:aws:iam::aws:policy/AmazonElasticFileSystemClientReadWriteAccess aws iam attach-role-policy \\ \--role-name \\ \--policy-arn arn:aws:iam::aws:policy/AmazonEC2ReadOnlyAccess - 涉及的典型权限: - elasticfilesystem:DescribeMountTargets, elasticfilesystem:DescribeFileSystems - `ec2:DescribeAvailabilityZones`(在挂载错误中出现 `DescribeAvailabilityZones` 时通常需要) - **显式挂载目标 IP**:当 DNS/发现在您的环境中受到限制时,在引导程序 PV CSI 卷属性上设置 `mounttargetip`。 - Helm 值(`createPV: true` 路径): persistence: bootstrap: pv: csi: volumeAttributes: mounttargetip: "10.x.x.x" - 手动 PV 路径 spec: csi: driver: efs.csi.aws.com volumeHandle: fs-xxxxxxxx volumeAttributes: mounttargetip: 10.x.x.x 2. 创建 `efs-bootstrap` StorageClass(示例): apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: efs-bootstrap provisioner: efs.csi.aws.com reclaimPolicy: Retain volumeBindingMode: Immediate allowVolumeExpansion: true 3. 选择一个引导程序预置路径(必需): - **动态 EFS 预配路径**: 使用为访问点配置的 EFS CSI 动态 StorageClass(例如,根据您的平台标准,使用 `provisioningMode: efs-ap, fileSystemId` 以及 permissions/basePath 参数)。 - **静态 PV 路径**: 使用 `csi.driver: efs.csi.aws.com` 和 `csi.volumeHandle: fs-...` 手动创建 `tableau-bootstrap-pv` 然后设置: - `persistence.bootstrap.createPV: false` - `persistence.bootstrap.volumeName: tableau-bootstrap-pv` - **Helm 创建的静态 PV 路径**: 设置: - `persistence.bootstrap.createPV: true` - `persistence.bootstrap.pv.csi.volumeHandle: fs-...` ## 非 EKS 先决条件 ### `ReadWriteMany` StorageClass 对于未托管在 EKS 上的集群(或者如果不使用 EFS),多节点引导程序共享的关键要求是提供支持 `ReadWriteMany (RWX)` 引导程序卷访问模式的 StorageClass。这是必需的,因为在 pod 可以进行计划之前,引导程序存储必须是可预置的。 Kubernetes 常见的自托管 RWX 存储后端包括: - NFS(最常见、最容易测试) - CephFS - Longhorn(如果已安装) - GlusterFS - NetApp/其他企业存储 您必须确保安装所选后端的相应 CSI 驱动程序。 若要将 Tableau Server 配置为使用自定义 RWX StorageClass,请更新 Helm 值(例如 `values-multinode.yaml`)以将 `persistence.bootstrap.storageClass` 设置为 StorageClass 的名称: persistence: # ... other persistence settings ... # Bootstrap volume (required for multi-node) bootstrap: enabled: true storageClass: "my-rwx-storage" # <--- Replace with your StorageClass name accessMode: ReadWriteMany size: 1Gi createPV: false ## 其他资源 - [Tableau Server Helm 图表 - 概述](https://help.tableau.com/current/server/zh-cn/server-in-container_helm-chart.htm) - [Tableau Server Helm 图表 - 部署](https://help.tableau.com/current/server/zh-cn/server-helm-deploy.htm) - [Tableau Server Helm 图表 - 疑难解答](https://help.tableau.com/current/server/zh-cn/server-helm-troubleshooting.htm) - [Helm 文档](https://helm.sh/docs/) - [Tableau Server 文档](https://help.tableau.com/current/server-linux/zh-cn/) [跳转到主要内容](#main-content) # Tableau Server Helm 图表 - 参考 **重要信息**:本文档假设您了解 Helm 和 Helm 图表,并不试图提供详细的说明性示例。它是为熟悉 Tableau Server 以及 Helm 和 Helm 图表的客户设计的。 ## 简介 本主题提供有关使用 Helm 图表在 Kubernetes 上部署 Tableau Server 的参考信息。 ### 值属性矩阵 下表列出了 `values.yaml` 中的所有叶属性。 - **值**:点分隔键路径 - **可选**:是否可以为图表呈现省略该属性 - **预期值**:有效类型或允许值 - 范围:数字或语义范围(如果适用) | 值 | 默认值 | 描述 | 可选 | 预期值 | 范围 | | --- | --- | --- | --- | --- | --- | | deploymentMode | single | 部署模式选择器 | true | `single` 或 `multinode` | 不可用 | | image.repository | "" | Tableau 映像存储库 | false | 容器映像存储库字符串 | 非空字符串 | | image.tag | "" | Tableau 映像标记 | false | 映像标记字符串 | 非空字符串 | | image.pullPolicy | IfNotPresent | 映像拉取策略 | true | `Always,IfNotPresent,Never` | 不可用 | | image.pullSecrets | \[\] | 映像拉取密文引用 | true | 密文名称字符串数组 | 不可用 | | serviceAccount.create | true | 创建专用服务帐户 | true | 布尔值 | 不可用 | | serviceAccount.name | "" | 服务帐户名称覆盖 | true | 字符串 | DNS 标签 | | serviceAccount.annotations | {} | 服务帐户注解 | true | map\[字符串\]字符串 | 不可用 | | securityContext.runAsUser | 999 | 容器 UID | true | 整数 | \>=0 | | securityContext.runAsGroup | 998 | 容器 GID | true | 整数 | \>=0 | | podSecurityContext.runAsUser | 999 | Pod 级 UID | true | 整数 | \>=0 | | podSecurityContext.runAsGroup | 998 | Pod 级 GID | true | 整数 | \>=0 | | podSecurityContext.fsGroup | 998 | 共享卷 FS 组 | true | 整数 | \>=0 | | podSecurityContext.fsGroupChangePolicy | OnRootMismatch | FS 组所有权策略 | true | `OnRootMismatch` 或 `Always` | 不可用 | | primary.replicaCount | 1 | 主 StatefulSet 副本 | true | 整数 | \>=1 | | primary.hostname | 主节点 | 主主机名提示 | true | 字符串 | 非空 | | primary.resources.limits.cpu | "16" | 主 CPU 限制 | true | Kubernetes CPU 数量 | \>0 | | primary.resources.limits.memory | "64Gi" | 主内存限制 | true | Kubernetes 内存数量 | \>0 | | primary.resources.requests.cpu | "8" | 主 CPU 请求 | true | Kubernetes CPU 数量 | \>0 | | primary.resources.requests.memory | "32Gi" | 主内存请求 | true | Kubernetes 内存数量 | \>0 | | primary.nodeSelector | {} | 主节点选择器 | true | map\[字符串\]字符串 | 不可用 | | primary.tolerations | \[\] | 主容忍度 | true | 容忍对象数组 | 不可用 | | primary.affinity | {} | 主关联性规则 | true | 关联性对象 | 不可用 | | worker.replicaCount | 1 | 工作线程 StatefulSet 副本 | true | 整数 | \>=0 | | worker.hostname | 工作线程 | 工作线程主机名提示 | true | 字符串 | 非空 | | worker.resources.limits.cpu | "16" | 工作线程 CPU 限制 | true | Kubernetes CPU 数量 | \>0 | | worker.resources.limits.memory | "64Gi" | 工作线程内存限制 | true | Kubernetes 内存数量 | \>0 | | worker.resources.requests.cpu | "8" | 工作线程 CPU 请求 | true | Kubernetes CPU 数量 | \>0 | | worker.resources.requests.memory | "32Gi" | 工作线程内存请求 | true | Kubernetes 内存数量 | \>0 | | worker.nodeSelector | {} | 工作线程节点选择器 | true | map\[字符串\]字符串 | 不可用 | | worker.tolerations | \[\] | 工作线程容忍度 | true | 容忍对象数组 | 不可用 | | worker.affinity | {} | 工作线程关联性规则 | true | 关联性对象 | 不可用 | | worker.healthChecks.enabled | false | 启用工作线程探测器 | true | 布尔值 | 不可用 | | env.ACCEPTEULA | "1" | 接受 Tableau EULA | true | "`1`" 或 "`0`" | 不可用 | | env.LICENSE\_KEY | "" | 通过 env 传递的许可证密钥 | true | 字符串 | 如果使用,则为非空 | | env.TABLEAU\_HOSTNAME | "" | 显式 Tableau 主机名 | true | 字符串 | DNS 名称/FQDN | | env.TSM\_ONLY | "0" | 仅运行 TSM 模式 | true | "`1`" 或 "`0`" | 不可用 | | env.TSM\_REMOTE\_UID | "" | TSM 远程 UID | true | 数字字符串 | \>=0 | | env.TSM\_REMOTE\_USERNAME | "" | TSM 远程用户名 | true | 字符串 | 不可用 | | env.TSM\_REMOTE\_PASSWORD | "" | 通过 env 传递的 TSM 远程密码 | true | 字符串 | 如果使用,则为非空 | | env.TABLEAU\_USERNAME | "" | 通过 env 传递的 Tableau 管理员用户名 | true | 字符串 | 如果使用,则为非空 | | env.TABLEAU\_PASSWORD | "" | 通过 env 传递的 Tableau 管理员密码 | true | 字符串 | 如果使用,则为非空 | | env.ALWAYS\_WRITE\_BOOTSTRAP\_FILE | "0" | 从主节点写入引导程序文件 | true | "`1`" 或 "`0`" | 不可用 | | env.BOOTSTRAP\_INSTALL | "0" | 工作线程引导程序安装模式 | true | "`1`" 或 "`0`" | 不可用 | | env.WAIT\_FOR\_BOOTSTRAP\_FILE | "0" | 工作线程引导程序安装模式 | true | "`1`" 或 "`0`" | 不可用 | | env.HTTP\_PROXY | "" | 等待引导程序文件 | true | URL 字符串 | 不可用 | | env.HTTPS\_PROXY | "" | HTTPS 代理 URL | true | URL 字符串 | 不可用 | | env.NO\_PROXY | "" | HTTPS 代理 URL | true | 逗号分隔的主机/CIDR | 不可用 | | env.PORT\_RANGE\_MIN | 8600 | 动态端口范围最小值(无代理列表) | true | 数字字符串 | 1-65535 | | env.PORT\_RANGE\_MAX | 9000 | 动态端口范围最大值 | true | 数字字符串 | 1-65535;>= 最小值 | | env.COORDINATION\_SERVICE\_CLIENT\_PORT | "" | ZK 客户端端口覆盖 | true | 数字字符串 | 1-65535 | | env.COORDINATION\_SERVICE\_PEER\_PORT | "" | ZK 对等端口覆盖 | true | 数字字符串 | 1-65535 | | env.LICENSE\_SERVICE\_VENDOR\_DAEMON\_PORT | "" | ZK 领导端口覆盖 | true | 数字字符串 | 1-65535 | | env.COORDINATION\_SERVICE\_LEADER\_PORT | "" | 许可证守护程序端口覆盖 | true | 数字字符串 | 1-65535 | | env.AGENT\_FILE\_TRANSFER\_PORT | "" | 代理文件传输端口覆盖 | true | 数字字符串 | 1-65535 | | env.CONTROLLER\_PORT | "" | 控制器端口覆盖 | true | 数字字符串 | 1-65535 | | persistence.enabled | true | 启用数据 PVC | true | 布尔值 | 不可用 | | persistence.storageClass | "" | 数据 PVC 存储类 | true | 字符串 | 现有 StorageClass | | persistence.accessMode | ReadWriteOnce | 数据 PVC 访问方式 | true | `ReadWriteOnce,ReadOnlyMany,ReadWriteMany` | 不可用 | | persistence.size | 100Gi | 数据 PVC 大小 | true | Kubernetes 数量 | \>0 | | persistence.bootstrap.enabled | true | 启用引导程序 PVC(多节点) | true | 布尔值 | 不可用 | | persistence.bootstrap.storageClass | "" | 引导程序 PVC 存储类 | true | 字符串 | 现有 StorageClass | | persistence.bootstrap.accessMode | ReadWriteMany | 引导程序 PVC 访问模式 | true | 通常为 `ReadWriteMany` | 不可用 | | persistence.bootstrap.size | 1Gi | 引导程序 PVC 大小 | true | Kubernetes 数量 | \>0 | | persistence.bootstrap.createPV | false | 让图表创建静态 PV | true | 布尔值 | 不可用 | | persistence.bootstrap.volumeName | "" | 显式引导程序 PV 名称绑定 | true | 字符串 | 现有 PV 名称 | | persistence.bootstrap.pv.name | "" | 当 `createPV=true` 时为 PV 名称 | true | 字符串 | DNS-1123 | | persistence.bootstrap.pv.capacity | 1Gi | PV 容量 | true | Kubernetes 数量 | \>0 | | persistence.bootstrap.pv.reclaimPolicy | Retain | PV 回收政策 | true | `Retain,Delete,Recycle` | 不可用 | | persistence.bootstrap.pv.volumeMode | Filesystem | PV 卷模式 | true | `Filesystem` 或 `Block` | 不可用 | | persistence.bootstrap.pv.csi.driver | efs.csi.aws.com | 引导程序 PV 的 CSI 驱动程序 | true | CSI 驱动程序名称 | 不可用 | | persistence.bootstrap.pv.csi.volumeHandle | "" | EFS/FileSystem 句柄 | true | 特定于提供程序的 ID | 如果 `createPV=true`,则为非空 | | persistence.bootstrap.pv.csi.volumeAttributes | {} | CSI 卷属性映射 | true | map\[字符串\]字符串 | 不可用 | | persistence.bootstrap.permissionsFix.enabled | false | 启用引导程序权限初始化 | true | 布尔值 | 不可用 | | persistence.bootstrap.permissionsFix.image | busybox:1.36 | 权限修复映像 | true | 有效的映像参考 | 不可用 | | persistence.bootstrap.permissionsFix.runAsUser | 0 | permission-fix init 的 UID | true | 整数 | \>=0 | | persistence.bootstrap.permissionsFix.fsOwner | 999 | 引导程序目录的 chown UID | true | 整数 | \>=0 | | persistence.bootstrap.permissionsFix.fsGroup | 998 | 引导程序目录的 chown GID | true | 整数 | \>=0 | | persistence.bootstrap.permissionsFix.dirMode | "2775" | 引导程序目录的 chmod 模式 | true | 字符串八进制模式 | 0000-7777 | | config.configJson | JSON 块 | Tableau `config.json` 内容 | true | 有效的 JSON 字符串 | 不可用 | | config.regInfoJson | JSON 块 | Tableau 注册 JSON | true | 有效的 JSON 字符串 | 不可用 | | config.tabsvcYml | YAML 块 | Tableau `tabsvc.yml` 内容 | true | 有效的 YAML 字符串 | 不可用 | |   |   | 通过图表密文传递的许可证密钥 | true | 字符串 | 如果使用,则为非空 | | secrets.tsmRemotePassword | "" | 通过密文传递的 TSM 远程密码 | true | 字符串 | 如果使用,则为非空 | | secrets.tableauUsername | "" | 通过密文传递的 Tableau 管理员用户名 | true | 字符串 | 如果使用,则为非空 | | secrets.tableauPassword | "" | 通过密文传递的 Tableau 管理员密码 | true | 字符串 | 如果使用,则为非空 | | service.primary.type | 群集 IP | 主要服务类型 | true | `ClusterIP,NodePort,LoadBalancer` | 不可用 | | service.primary.ports.http | 80 | 主 HTTP 端口 | true | 整数 | 1-65535 | | service.primary.ports.gateway | 8080 | 主网关端口 | true | 整数 | 1-65535 | | service.primary.ports.ssl | 8443 | 主 SSL 端口 | true | 整数 | 1-65535 | | service.primary.ports.tsm | 8850 | 主 TSM 端口 | true | 整数 | 1-65535 | | service.primary.ports.dynamic.start | 8600 | 动态端口起始值 | true | 整数 | 1-65535 | | service.primary.ports.dynamic.end | 9000 | 动态端口结束值 | true | 整数 | 1-65535;>= 起始值 | | service.primary.annotations | {} | 主服务注释 | true | map\[字符串\]字符串 | 不可用 | | service.worker.ports.http | 群集 IP | 工作线程服务类型 | true | `ClusterIP,NodePort,LoadBalancer` | 不可用 | | service.worker.ports.http | 80 | 工作线程 HTTP 端口 | true | 整数 | 1-65535 | | service.worker.ports.gateway | 8080 | 工作线程网关端口 | true | 整数 | 1-65535 | | service.worker.ports.ssl | 8443 | 工作线程 SSL 端口 | true | 整数 | 1-65535 | | service.worker.ports.tsm | 8850 | 工作线程 TSM 端口 | true | 整数 | 1-65535 | | service.worker.ports.dynamic.start | 8600 | 工作线程动态端口起始值 | true | 整数 | 1-65535 | | service.worker.ports.dynamic.end | 9000 | 工作线程动态端口结束值 | true | 整数 | 1-65535;>= 起始值 | | service.worker.annotations | {} | 工作线程服务注释 | true | map\[字符串\]字符串 | 不可用 | | ingress.enabled | false | 启用入口 | true | 布尔值 | 不可用 | | ingress.className | "" | 入口类名称 | true | 字符串 | 现有类 | | ingress.annotations | {} | 入口注释 | true | map\[字符串\]字符串 | 不可用 | | 入口主机 | \[{host: tableau.example.com, paths:\[...\]}\] | 入口主机/路径配置 | true | 主机/路径对象数组 | 不可用 | | ingress.tls | \[\] | 入口 TLS 条目 | true | TLS 对象数组 | 不可用 | | healthChecks.startup.enabled | true | 启用启动探测 | true | 布尔值 | 不可用 | | healthChecks.startup.initialDelaySeconds | 300 | 启动探测延迟 | true | 整数 | \>=0 | | healthChecks.startup.periodSeconds | 15 | 启动探测周期 | true | 整数 | \>=1 | | healthChecks.startup.timeoutSeconds | 30 | 启动探测超时 | true | 整数 | \>=1 | | healthChecks.startup.failureThreshold | 200 | 启动失败阈值 | true | 整数 | \>=1 | | healthChecks.liveness.enabled | true | 启用活动性探测 | true | 布尔值 | 不可用 | | healthChecks.liveness.initialDelaySeconds | 300 | 活动性探测延迟 | true | 整数 | \>=0 | | healthChecks.liveness.periodSeconds | 30 | 活动性探测周期 | true | 整数 | \>=1 | | healthChecks.liveness.timeoutSeconds | 10 | 活动性探测超时 | true | 整数 | \>=1 | | healthChecks.liveness.successThreshold | 1 | 活动性成功阈值 | true | 整数 | \>=1 | | healthChecks.liveness.failureThreshold | 3 | 活动性失败阈值 | true | 整数 | \>=1 | | healthChecks.readiness.enabled | true | 启用就绪性探测 | true | 布尔值 | 不可用 | | healthChecks.readiness.initialDelaySeconds | 300 | 就绪性探测延迟 | true | 整数 | \>=0 | | healthChecks.readiness.periodSeconds | 10 | 就绪性探测周期 | true | 整数 | \>=1 | | healthChecks.readiness.timeoutSeconds | 5 | 就绪性探测超时 | true | 整数 | \>=1 | | healthChecks.readiness.successThreshold | 1 | 就绪性成功阈值 | true | 整数 | \>=1 | | healthChecks.readiness.failureThreshold | 3 | 就绪性失败阈值 | true | 整数 | \>=1 | | podDisruptionBudget.enabled | false | 启用 PodDisruptionBudget | true | 布尔值 | 不可用 | | podDisruptionBudget.minAvailable | 1 | 最少可用 Pod 数 | true | 整数或百分比字符串 | \>=0 | | labels | {} | 额外的常用标签 | true | map\[字符串\]字符串 | 不可用 | | annotations | {} | 额外的常用注释 | true | map\[字符串\]字符串 | 不可用 | | podLabels | {} | 额外的 pod 标签 | true | map\[字符串\]字符串 | 不可用 | | podAnnotations | {} | 额外的 pod 注释 | true | map\[字符串\]字符串 | 不可用 | | hooks.autoApplyWorkerTopology.enabled | false | 启用安装后/升级拓扑挂钩 | true | 布尔值 | 不可用 | | hooks.autoApplyWorkerTopology.kubectlImage | bitnami/kubectl:latest | 挂钩作业 kubectl 映像 | true | 有效的映像参考 | 不可用 | | hooks.autoApplyWorkerTopology.timeoutSeconds | 3600 | 等待工作线程时挂钩超时 | True 整数 >=60 | 整数 >=60 | \>=60 | ## 其他资源 - [Tableau Server Helm 图表 - 概述](https://help.tableau.com/current/server/zh-cn/server-in-container_helm-chart.htm) - [Tableau Server Helm 图表 - 先决条件](https://help.tableau.com/current/server/zh-cn/server-helm-prerequisites.htm) - [Tableau Server Helm 图表 - 部署](https://help.tableau.com/current/server/zh-cn/server-helm-deploy.htm) - [Tableau Server Helm 图表 - 示例](https://help.tableau.com/current/server/zh-cn/server-helm-examples.htm) - [Tableau Server Helm 图表 - 疑难解答](https://help.tableau.com/current/server/zh-cn/server-helm-troubleshooting.htm) - [Tableau Server 文档](https://help.tableau.com/current/server-linux/zh-cn/) [跳转到主要内容](#main-content) # Tableau Server Helm 图表 - 疑难解答 **重要信息**:本文档假设您了解 Helm 和 Helm 图表,并不试图提供详细的说明性示例。它是为熟悉 Tableau Server 以及 Helm 和 Helm 图表的客户设计的。 ## 简介 本主题帮助您诊断和解决使用 Helm 图表在 Kubernetes 上部署 Tableau Server 时的常见问题。它涵盖了安装问题、运行时问题和调试技术。 ## 一般疑难解答步骤 在 Kubernetes 中遇到 Tableau Server 问题时: 1. 检查 pod 状态和事件 2. 查看容器日志 3. 验证资源可用性 4. 检查持久性卷声明 5. 查看 Helm 版本状态 6. 检查服务和网络连接 ## Pod 未启动 1. 检查 pod 状态: kubectl get pods -l app.kubernetes.io/instance=tableau-server kubectl describe pod 2. 检查日志: kubectl logs 3. 检查事件: kubectl get events --sort-by='.lastTimestamp' ## 持久性卷问题 1. 检查 PVC 状态: kubectl get pvc kubectl describe pvc 2. 验证存储类: kubectl get storageclass ## 许可证密钥问题 1. 验证是否设置了许可证密钥: kubectl get secret tableau-server-secrets -o jsonpath='{.data.LICENSE\_KEY}' | base64 -d 2. 更新许可证密钥: \# Edit values.yaml and upgrade helm upgrade tableau-server ./helm/tableau-server -f ./helm/tableau-server/values.yaml ## 运行状况检查失败 1. 检查运行状况检查脚本: kubectl exec -- /docker/alive-check kubectl exec -- /docker/server-ready-check 2. 调整运行状况检查时间: healthChecks: liveness: initialDelaySeconds: 600 # Increase if server takes longer to start ## 多节点引导程序问题 1. 验证引导程序卷: kubectl get pvc | grep bootstrap 2. 检查引导程序文件: kubectl exec -- ls -la /docker/config/bootstrap 3. 验证 ReadWriteMany 访问模式: persistence: bootstrap: accessMode: ReadWriteMany # Required for multi-node 4. 验证 EFS 静态预置的引导程序 PV/PVC 绑定: kubectl get pv tableau-bootstrap-pv kubectl get pvc -n default tableau-server-bootstrap kubectl describe pv tableau-bootstrap-pv kubectl describe pvc -n default tableau-server-bootstrap 5. 如果绑定 PVC 后挂载失败,请检查 EFS CSI/IAM 错误: kubectl describe pod -n default tableau-server-primary-0 kubectl get events -n default --sort-by='.lastTimestamp' 6. `driver name efs.csi.aws.com not found` 错误: 按照[Amazon Elastic Kubernetes Service (EKS) 先决条件](https://help.tableau.com/current/server/zh-cn/server-helm-prerequisites.htm#EKS-Prereq-storageclass)中所述安装并验证 EKS 加载项。 7. 修复 `DescribeMountTargets` 授权失败 - 首选方法: aws iam attach-role-policy \\ --role-name \\ --policy-arn arn:aws:iam::aws:policy/AmazonElasticFileSystemClientReadWriteAccess 然后重新启动受影响的 pod(主节点和所有工作线程节点)。工作线程按标签选择,因此会覆盖任何副本计数。 - 替代方法 在引导程序 PV 配置中强制挂载目标 IP: 设置 `persistence.bootstrap.pv.csi.volumeAttributes.mounttargetip`(或手动 PV `volumeAttributes.mounttargetip`)并重新应用/升级。 ## 其他资源 - [Tableau Server 文档](https://help.tableau.com/current/server-linux/zh-cn/) - [Tableau Server 日志参考](https://help.tableau.com/current/server-linux/zh-cn/logs.htm) - [Kubernetes 故障排除](https://kubernetes.io/docs/tasks/debug/) - [Helm 故障排除](https://helm.sh/docs/faq/troubleshooting/) - [Helm 文档](https://helm.sh/docs/) [跳转到主要内容](#main-content) # Tableau Server Helm 图表 - 示例 **重要信息**:本文档假设您了解 Helm 和 Helm 图表,并不试图提供详细的说明性示例。它是为熟悉 Tableau Server 以及 Helm 和 Helm 图表的客户设计的。 ## 简介 本文档提供了在各种配置和情况下使用 Helm 图表部署 Tableau Server 的示例。 ## Helm 图表下载和分发 Helm 图表将作为“容器中的 Tableau Server”设置工具 (`tableau-server-container-setup-tool-.tar.gz`) 的一部分提供,并可从 [Tableau Server 下载](http://tableau.com/zh-cn/support/releases/server/latest)页面下载。 提取后,所需的 Helm 图表文件位于 `helm/tableau` 目录中。 ## 示例 1:具有 NodePort 的单节点 deploymentMode: "single" service: primary: type: NodePort secrets: licenseKey: "YOUR-LICENSE-KEY" ## 示例 2:具有 LoadBalancer 的多节点(三个工作线程) 对于多节点部署,请使用 `worker.replicaCount ≥ 1`,其中数字是工作线程计数。下面的示例使用三个工作线程。 deploymentMode: "multinode" primary: replicaCount: 1 worker: replicaCount: 3 service: primary: type: LoadBalancer persistence: bootstrap: enabled: true accessMode: ReadWriteMany secrets: licenseKey: "YOUR-LICENSE-KEY" ### 示例 3:使用 Ingress 和 TLS 的生产 deploymentMode: "single" ingress: enabled: true className: "nginx" hosts: - host: tableau.company.com paths: - path: / pathType: Prefix tls: - secretName: tableau-tls hosts: - tableau.company.com service: primary: type: ClusterIP persistence: storageClass: "fast-ssd" size: 500Gi primary: resources: limits: cpu: "8" memory: "16Gi" requests: cpu: "4" memory: "8Gi" ## 其他资源 - [Tableau Server Helm 图表 - 概述](https://help.tableau.com/current/server/zh-cn/server-in-container_helm-chart.htm) - [Tableau Server Helm 图表 - 先决条件](https://help.tableau.com/current/server/zh-cn/server-helm-prerequisites.htm) - [Tableau Server Helm 图表 - 部署](https://help.tableau.com/current/server/zh-cn/server-helm-deploy.htm) - [Tableau Server Helm 图表 - 疑难解答](https://help.tableau.com/current/server/zh-cn/server-helm-troubleshooting.htm) - [Tableau Server Helm 图表 - 示例](#) - [Tableau Server 文档](https://help.tableau.com/current/server-linux/zh-cn/) [跳转到主要内容](#main-content) # Tableau Server Helm 图表 - 部署 **重要信息**:本文档假设您了解 Helm 和 Helm 图表,并不试图提供详细的说明性示例。它是为熟悉 Tableau Server 以及 Helm 和 Helm 图表的客户设计的。 本主题将引导您完成使用 Helm 图表在 Kubernetes 上部署 Tableau Server 的高级步骤。 ## 先决条件 在开始之前,请确保您已满足先决条件。有关详细信息,请参见[Tableau Server Helm 图表 - 先决条件](https://help.tableau.com/current/server/zh-cn/server-helm-prerequisites.htm)。 ### Helm 图表下载 Helm 图表将作为“容器中的 Tableau Server”设置工具 (`tableau-server-container-setup-tool-.tar.gz`) 的一部分提供,并可从 [Tableau Server 下载](http://tableau.com/zh-cn/support/releases/server/latest)页面下载。 提取后,所需的 Helm 图表文件位于 `helm/tableau` 目录中。 ## 快速概览:使用 Helm 图表部署 Tableau Server **重要信息**:这是使用 Helm 图表部署 Tableau Server 的基本概略描述。这并不是一个完整的过程。它假定您了解 Helm 和 Helm 图表。 在开始之前,请确保您已满足使用 Helm 图表部署 Tableau Server 的先决条件。有关详细信息,请参见[Tableau Server Helm 图表 - 先决条件](https://help.tableau.com/current/server/zh-cn/server-helm-prerequisites.htm)。 ### 将许可证密钥添加到 values.yaml 编辑 `values.yaml` 并设置您的许可证密钥。 ### 部署单节点 Tableau Server 通过在提示符处执行以下命令来部署 Tableau Server 的单节点实例(用您的发布命名空间替换 ``,例如 `tableau` 或 `default`): helm install tableau-server ./helm/tableau-server \\ -n \\ --create-namespace \\ -f ./helm/tableau-server/values-single.yaml ### 部署多节点 Tableau Server 通过在提示符处执行以下命令并使用与上面相同的命名空间约定来部署 Server 的多节点实例: helm install tableau-server ./helm/tableau-server \\ \-n \\ \--create-namespace \\ -f ./helm/tableau-server/values-multinode.yaml ## EKS 多节点 Runbook(命名空间 + 静态引导程序 PV) 本部分介绍 EKS 的操作顺序:专用命名空间、EFS CSI 加载项、节点角色上的 IAM、静态引导程序 PV 和 Helm。 1. 创建专用命名空间。 这必须在引导程序 PV 上匹配 `claimFef.namespace`。此示例使用 `tableau`。 kubectl create namespace tableau-server kubectl get namespace tableau 2. 确认 EFS CSI 加载项存在。 如果缺少加载项,请创建它并等待状态变为 `ACTIVE`: kubectl get csidriver efs.csi.aws.com aws eks describe-addon \\ --cluster-name \\ --addon-name aws-efs-csi-driver \\ --region \\ --query 'addon.status' 3. 确认 Storageclass: `efs-bootstrap` Storageclass - 如果尚未存在,则应用。有关详细信息,请参见[Amazon Elastic Kubernetes Service (EKS) 先决条件](https://help.tableau.com/current/server/zh-cn/server-helm-prerequisites.htm#EKS-Prereq-storageclass)。 kubectl get csidriver efs.csi.aws.com aws eks describe-addon \\ --cluster-name \\ --addon-name aws-efs-csi-driver \\ --region \\ --query 'addon.status' 4. 确认静态引导程序 PV。 `claimRef` 必须引用 Helm 图表创建的相同命名空间和 PVC 名称 (`tableau-server-bootstrap`)。将 `fs-...` 替换为您的 EFS 文件系统 ID: cat > /tmp/tableau-bootstrap-pv.yaml <<'EOF' apiVersion: v1 kind: PersistentVolume metadata: name: tableau-bootstrap-pv spec: capacity: storage: 1Gi volumeMode: Filesystem accessModes: - ReadWriteMany persistentVolumeReclaimPolicy: Retain storageClassName: efs-bootstrap claimRef: namespace: tableau name: tableau-server-bootstrap csi: driver: efs.csi.aws.com volumeHandle: EOF kubectl apply -f /tmp/tableau-bootstrap-pv.yaml kubectl get pv tableau-bootstrap-pv 5. 节点实例角色上的 IAM。 附加 EFS 客户端和 EC2 只读策略。请参见从节点组解析 `` 的 [Amazon Elastic Kubernetes Service (EKS) 先决条件](https://help.tableau.com/current/server/zh-cn/server-helm-prerequisites.htm#EKS-Prereq-storageclass)。 `efs-bootstrap` Storageclass - 如果尚未存在,则应用。有关详细信息,请参见[Amazon Elastic Kubernetes Service (EKS) 先决条件](https://help.tableau.com/current/server/zh-cn/server-helm-prerequisites.htm#EKS-Prereq-storageclass)。 kubectl get csidriver efs.csi.aws.com aws eks describe-addon \\ --cluster-name \\ --addon-name aws-efs-csi-driver \\ --region \\ --query 'addon.status' 6. 值 在 `values-multinode.yaml`(或叠加)中,设置手动静态 PV 模式 persistence: bootstrap: createPV: false volumeName: tableau-bootstrap-pv storageClass: efs-bootstrap 7. 确保按要求设置了 `image.repository`、`image.tag` 以及密文/许可证。 8. 安装 Helm 图表 将图表安装到与 PV `claimRef` 相同的命名空间中: helm install tableau-server ./helm/tableau-server \\ -n tableau \\ -f ./helm/tableau-server/values-multinode.yaml 9. 验证存储和 pod: kubectl get pv,pvc -n tableau kubectl get pods -n tableau -w 10. 数据 PVC 状态 在附加 EBS 卷之前,数据 PVC 可能会短暂显示 `Pending`。所有 PVC 都应过渡到 `Bound`,然后是 `Running`,最后是 `READY 1/1`。 11. 拓扑(可选) 如果禁用了安装后挂钩,则可能需要设置节点 `clustercontroller` 并应用挂起的更改(请参见本文档后面的“安装后拓扑自动化(挂钩)”)。当您有多个 Tableau 节点时,`tsm pending-changes apply` 命令可能会生成有关索引和搜索服务器分发或协调服务整体的警告。按照[索引和搜索服务器](https://help.tableau.com/current/server/zh-cn/server_process_index-and-search.htm)以及[Tableau Server 协调服务](https://help.tableau.com/current/server/zh-cn/server_process_coordination.htm)中所述解决这些警告。 ### 自定义安装 1. 自定义值 cp ./helm/tableau-server/values.yaml ./helm/tableau-server/my-values.yaml \# Edit ./helm/tableau-server/my-values.yaml with your configuration 2. 使用自定义值安装 helm install tableau-server ./helm/tableau-server -f ./helm/tableau-server/my-values.yaml ## 配置 ### 部署模式 #### 单节点部署 单节点部署将 Tableau Server 作为整体容器运行。 使用 `values-single.yaml` 或设置: deploymentMode: "single" primary: replicaCount: 1 worker: replicaCount: 0 #### 多节点部署 多节点部署运行一个主节点以及一个或多个工作线程。使用 `worker.replicaCount` 设置工作线程计数 — 使用 1、2 或群集容量和 Tableau 拓扑允许的任何更高值。图表针对 `replicaCount: N` 创建 `tableau-server-worker-0 … tableau-server-worker-(N-1)`。 使用 `values-multinode.yaml`(默认示例使用两个工作线程)或显式设置: deploymentMode: "multinode" primary: replicaCount: 1 worker: replicaCount: 3 # example: three workers 拓扑对齐:`values-multinode.yaml` 随示例 `config.configJson` 拓扑(节点 ID,例如 `node1`、`node2`、`node3`)一起提供。如果您更改 `worker.replicaCount` 或重新排列服务,请更新该拓扑(以及任何相关的 Tableau 进程分配),以使 TSM 节点的数量和角色与您的部署匹配 — 请参见 Tableau Server 群集和进程布局帮助。 ### 关键配置选项 #### 映像配置 image: repository: tableau\_server\_image tag: "latest" pullPolicy: IfNotPresent pullSecrets: \[\] #### 许可证和密文 secrets: licenseKey: "YOUR-LICENSE-KEY" tsmRemotePassword: "password" tableauUsername: "admin" tableauPassword: "password" 或者,您可以使用环境变量设置这些值: env: LICENSE\_KEY: "YOUR-LICENSE-KEY" TSM\_REMOTE\_PASSWORD: "password" TABLEAU\_USERNAME: "admin" TABLEAU\_PASSWORD: "password" 我们建议使用单独的文件(例如 `secrets.yaml`)并使用 `-f` 开关传递该文件。 `secrets.yaml`: secrets: licenseKey: "YOUR-LICENSE-KEY" tsmRemotePassword: "YOUR-TSM-PASSWORD" tableauUsername: "YOUR-ADMIN-USER" tableauPassword: "YOUR-ADMIN-PASSWORD" 具有 `secrets.yaml` 的安装/升级示例: helm upgrade --install tableau-server ./helm/tableau-server \\ -n default \\ -f ./helm/tableau-server/values-multinode.yaml \\ -f ./helm/tableau-server/secrets.yaml **注意:**目前不支持引用预先存在的 Kubernetes 密文(例如 s`ecrets.existingSecret`)。唯一支持的方法是将图表值与单独的密文值文件配合使用。 #### 外部 PostgreSQL 存储库 默认情况下,Helm 图表不使用专用值键启用外部存储库。 我们建议您采取以下步骤来启用外部存储库: 1. 部署图表并确认主节点运行正常。 2. 从主 pod 中运行 Tableau `tsm external repository` 命令。 3. 应用待处理的更改。 示例工作流(命令发现和应用): \# Discover command syntax for your Tableau version kubectl exec -n default tableau-server-primary-0 -- sh -lc 'tsm topology external-services repository enable --help' \# After enabling external repository with Tableau-supported args/options: kubectl exec -n default tableau-server-primary-0 -- sh -lc 'tsm pending-changes apply -iw --ignore-prompt' kubectl exec -n default tableau-server-primary-0 -- sh -lc 'tsm status -v' 注意: - 外部存储库配置特定于 Tableau 版本(SSL 模式、故障转移选项、凭据字段)。有关详细信息,请参见[Tableau Server 外部存储库](https://help.tableau.com/current/server/zh-cn/server_external_repo.htm)和[tsm topology](https://help.tableau.com/current/server/zh-cn/cli_topology_tsm.htm)。 - 对于客户部署,请将数据库凭据存储在 Kubernetes 密文中,并避免在 shell 历史记录中使用纯文本。 #### 持久性存储 persistence: enabled: true storageClass: "standard" accessMode: ReadWriteOnce size: 100Gi # Bootstrap volume (required for multi-node) bootstrap: enabled: true storageClass: "standard" accessMode: ReadWriteMany size: 1Gi createPV: false 对于使用静态 EFS CSI 的群集(例如,使用 `mounttargetip`),Helm 可以同时管理引导程序 PV 和 PVC: persistence: bootstrap: enabled: true storageClass: "efs-bootstrap" accessMode: ReadWriteMany size: 1Gi createPV: true permissionsFix: enabled: true pv: name: "tableau-bootstrap-pv" csi: driver: efs.csi.aws.com volumeHandle: "fs-xxxxxxxx" volumeAttributes: mounttargetip: "10.x.x.x" `permissionsFix.enabled` 添加一个进行 `chown/chmods /docker/config/bootstrap` 的初始化容器,以便 Tableau 进程 (UID/GID 999:998) 可以在默认为 `root:root` 的共享 EFS 挂载上写入 `bootstrap.json`。 当 `createPV: true` 时,图表会依据值(例如 `tableau-bootstrap-pv`)创建引导程序 PV,并将 `tableau-server-bootstrap` PVC 绑定到该 PV。 如果您手动管理引导程序 PV,请先创建 `tableau-bootstrap-pv`,然后使用 `createPV: false` 和 `volumeName: tableau-bootstrap-pv:` 安装 Helm apiVersion: v1 kind: PersistentVolume metadata: name: tableau-bootstrap-pv spec: capacity: storage: 1Gi volumeMode: Filesystem accessModes: - ReadWriteMany persistentVolumeReclaimPolicy: Retain storageClassName: efs-bootstrap csi: driver: efs.csi.aws.com volumeHandle: fs-xxxxxxxx volumeAttributes: mounttargetip: 10.x.x.x kubectl apply -f tableau-bootstrap-pv.yaml kubectl get pv tableau-bootstrap-pv #### 资源限制 primary: resources: limits: cpu: "4" memory: "8Gi" requests: cpu: "2" memory: "4Gi" worker: resources: limits: cpu: "4" memory: "8Gi" requests: cpu: "2" memory: "4Gi" #### 服务配置 service: primary: type: ClusterIP # or NodePort, LoadBalancer ports: http: 80 https: 8080 tsm: 8850 #### 入口 ingress: enabled: true className: "nginx" hosts: - host: tableau.example.com paths: - path: / pathType: Prefix tls: - secretName: tableau-tls hosts: - tableau.example.com #### 入口设置 Runbook(示例:NGINX 入口控制器) 1. 在群集中安装入口控制器(启用图表入口之前需要)。 2. 在您的 values 文件中设置入口值: ingress: enabled: true className: "nginx" annotations: nginx.ingress.kubernetes.io/proxy-body-size: "64m" nginx.ingress.kubernetes.io/proxy-read-timeout: "3600" nginx.ingress.kubernetes.io/proxy-send-timeout: "3600" hosts: - host: tableau.example.com paths: - path: / pathType: Prefix tls: - secretName: tableau-tls hosts: - tableau.example.com 3. 创建将 tableau.example.com 指向您的入口/负载均衡器端点的 DNS 记录。 4. 在 release 命名空间中创建 TLS 密文(或使用 cert-manager)。 5. 部署/升级图表并验证入口: helm upgrade --install tableau-server ./helm/tableau-server -n default -f ./helm/tableau-server/values.yaml kubectl get ingress -n default kubectl describe ingress tableau-server 有关详细信息,请参见: - [Kubernetes 入口概念](https://kubernetes.io/docs/concepts/services-networking/ingress/) - [ingress-nginx 部署指南](https://kubernetes.github.io/ingress-nginx/deploy/) - [cert-manager 入门](https://cert-manager.io/docs/tutorials/getting-started-aks-letsencrypt/) #### 运行状况检查 图表支持启动、活动和就绪情况探测器。启动探测器允许在活动/就绪情况探测器运行之前进行长时间的首次初始化(例如 failureThreshold:200 × periodSeconds): healthChecks: startup: enabled: true initialDelaySeconds: 300 periodSeconds: 15 timeoutSeconds: 30 failureThreshold: 200 liveness: enabled: true initialDelaySeconds: 300 periodSeconds: 30 timeoutSeconds: 10 failureThreshold: 3 readiness: enabled: true initialDelaySeconds: 300 periodSeconds: 10 timeoutSeconds: 5 failureThreshold: 3 对于多节点工作线程 pod,图表的默认值 `worker.healthChecks.enabled: false` 是为了避免在工作线程运行有限的进程集(例如,仅限管理代理 + 群集控制器)时出现错误探测故障。 ### 用法 #### 访问 Tableau Server 安装后,根据您的服务配置访问 Tableau Server: - **ClusterIP**:使用端口转发或入口 - **NodePort**:通过 `:` 进行访问 - **LoadBalancer**:通过提供的外部 IP 进行访问 #### 使用 TSM 命令 \# Get pod name POD\_NAME=$(kubectl get pods -l app.kubernetes.io/component=primary -o jsonpath='{.items\[0\].metadata.name}') # Run tabcmd kubectl exec -it $POD\_NAME -- tsm status kubectl exec -it $POD\_NAME -- tsm configuration get #### 使用 tabcmd \# Get pod name POD\_NAME=$(kubectl get pods -l app.kubernetes.io/component=primary -o jsonpath='{.items\[0\].metadata.name}') # Run tabcmd kubectl exec -it $POD\_NAME -- tabcmd login -u admin -p password kubectl exec -it $POD\_NAME -- tabcmd sites #### 查看 Tableau Server 日志 \# Primary node logs kubectl logs -l app.kubernetes.io/component=primary -f # Worker node logs (multi-node) kubectl logs -l app.kubernetes.io/component=worker -f # All logs kubectl logs -l app.kubernetes.io/instance=tableau-server -f #### Shell 访问 \# Get pod name POD\_NAME=$(kubectl get pods -l app.kubernetes.io/component=primary -o jsonpath='{.items\[0\].metadata.name}') # Open shell kubectl exec -it $POD\_NAME -- /bin/bash ### 升级 #### 升级 Tableau Server Helm 图表 helm upgrade tableau-server ./helm/tableau-server -f ./helm/tableau-server/values.yaml #### 使用新值升级 helm upgrade tableau-server ./helm/tableau-server -f ./helm/tableau-server/new-values.yaml ### 安装后拓扑自动化(挂钩) 对于多节点安装,此图表可以运行安装后/升级后的挂钩作业,该作业: - 等待工作线程节点在 TSM 中注册 - 设置工作线程 `clustercontroller` 进程分配 - 在更改处于挂起状态时运行 `tsm pending-changes apply -iw --ignore-prompt` 配置: hooks: autoApplyWorkerTopology: enabled: true kubectlImage: "bitnami/kubectl:latest" timeoutSeconds: 3600 默认值: - 在 `values.yaml` 中已禁用 - 在 `values-multinode.yaml` 中,检查 `hooks.autoApplyWorkerTopology.enabled`(可能是 `true` 或 `false` ,具体取决于版本;为无需人工操作的工作线程 `clustercontroller` 设置启用) 验证挂钩执行: kubectl get jobs -n default kubectl get pods -n default -l job-name=tableau-server-hook-topology kubectl logs -n default job/tableau-server-hook-topology 如果挂钩被禁用或失败则手动回退 — 为每个工作线程 TSM 节点运行 `tsm topology set-process`(当您有 N 个工作线程时,通常为节点 2 到节点 (1+N);使用 `tsm topology list-nodes -v` 确认 ID): kubectl exec -n default tableau-server-primary-0 -- sh -lc ' tsm topology set-process -n node2 -pr clustercontroller -c 1 tsm topology set-process -n node3 -pr clustercontroller -c 1 # Add one line per additional worker node, e.g. for four workers: # tsm topology set-process -n node4 -pr clustercontroller -c 1 # tsm topology set-process -n node5 -pr clustercontroller -c 1 tsm pending-changes apply -iw --ignore-prompt tsm topology list-nodes -v tsm status -v **注意**:为 `tsm pending-changes apply` 使用 `-iw`。`-ig` 选项在此环境中无效。 ### 卸载 helm uninstall tableau-server **警告**:这将删除所有资源,包括持久性卷。确保在卸载之前备份您的数据。 #### 验证步骤 在发布之前或更改图表时,请运行: 1. Lint: helm lint helm/tableau-server -f helm/tableau-server/values-single.yaml helm lint helm/tableau-server -f helm/tableau-server/values-multinode.yaml 2. 模板(试运行): helm template tableau-server helm/tableau-server -f helm/tableau-server/values-single.yaml helm template tableau-server helm/tableau-server -f helm/tableau-server/values-multinode.yaml 3. 安装测试(可选): 1. 在测试命名空间中,使用 values-single 或 values-multinode 运行 `helm install`。 2. 运行 `kubectl rollout status`(对于 StatefulSet,请等待 pod 就绪)和基本冒烟检查(例如 `tsm status` 或 HTTP 到服务)。 有关详细的疑难解答,请参见[Tableau Server Helm 图表 - 疑难解答](https://help.tableau.com/current/server/zh-cn/server-helm-troubleshooting.htm)。 ## 其他资源 - [Tableau Server 文档](https://help.tableau.com/current/server-linux/zh-cn/) - [Helm 文档](https://helm.sh/docs/) - [Helm 图表升级](https://helm.sh/docs/helm/helm_upgrade/) [跳转到主要内容](#main-content) # HTTP 401 – 未授权 如果您收到**“401- 未授权”错误**,可能是由于以下原因之一导致的:  - 您可能已将 Tableau Server 配置为将 Active Directory 与 SSPI 结合使用。如果您的 Web 服务器使用 SSPI,则无需设置受信任身体验证。您可以嵌入视图,这样,只要您的用户是 Tableau. Server 许可用户并且是您的 Active Directory 的成员,他们就可以访问这些视图。有关详细信息,请参见[tsm authentication sspi ](https://help.tableau.com/current/server/zh-cn/cli_authentication_tsm.htm#TSMSspi)。 **注意:**只能在 Windows 版 Tableau Server 上配置 SSPI。 - 或者在部署 Tableau Server 后看到 **302- Redirect 错误**,则您编写用以构造客户端 URL 的受信任票证代码可能未针对两部分票证 URL 格式的帐户进行更新。有关详细信息,请参见[从 Tableau Server 获取票证](https://help.tableau.com/current/server/zh-cn/trusted_auth_webrequ.htm)。 [跳转到主要内容](#main-content) # HTTP 404 – 未找到文件 如果您的程序代码引用不存在的 Tableau Server URL,就可能会收到此错误。例如,您的 Web 服务器可能会构造一个网页尝试检索时找不到的无效 URL。 此错误的另一个原因是,您未输入[向 Tableau Server 添加受信任的 IP 地址或主机名称](https://help.tableau.com/current/server/zh-cn/trusted_auth_trustIP.htm)中指定的受信任 Web 服务器。如果已输入受信任的 Web 服务器,请验证 IP 地址或主机名是否正确。 [跳转到主要内容](#main-content) # HTTP 响应标头 Tableau Server 支持 [OWASP Secure Headers Project](https://owasp.org/www-project-secure-headers/#div-headers) 中指定的某些响应标头。 本主题介绍如何为 Tableau Server 配置以下响应标头: - HTTP 严格传输安全性 (HSTS) - Referrer-Policy - X-Content-Type-Options - X-XSS-Protection Tableau Server 还支持内容安全策略 (CSP) 标准。本主题未讨论 CSP 配置。请参见[内容安全策略](https://help.tableau.com/current/server/zh-cn/security_csp.htm)。 ## 配置响应标头 所有响应标头都是使用 [tsm configuration set](https://help.tableau.com/current/server/zh-cn/cli_configuration_tsm.htm#TSMSet) 命令配置的。 配置完响应标头后,运行 [tsm pending-changes apply](https://help.tableau.com/current/server/zh-cn/cli_pending-changes.htm#pending-changes-apply)。 如果待定更改需要重新启动服务器,`pending-changes apply` 命令将显示一个提示,告知您将进行重新启动。即使服务器已停止,此提示也会显示,但在这种情况下不会重新启动。您可以使用 `--ignore-prompt` 选项隐藏提示,但这样做不会改变重新启动行为。如果更改不需要重新启动,则会在不提示的情况下应用更改。有关详细信息,请参见[tsm pending-changes apply](https://help.tableau.com/current/server/zh-cn/cli_pending-changes.htm#pending-changes-apply)。 ## HTTP 严格传输安全性 (HSTS) HSTS 强制连接到 Tableau Server 的客户端使用 HTTPS 进行连接。有关详细信息,请参见 OWASP 条目 [HTTP 严格传输安全性 (HSTS)](https://owasp.org/www-project-secure-headers/#div-headers)。 ### 选项 gateway.http.hsts 默认值:`false` HTTP 严格传输安全性 (HSTS) 头强制浏览器在启用它的域上使用 HTTPS。 gateway.http.hsts\_options 默认值:`"max-age=31536000"` 默认情况下,会为一年(31536000 秒)期间设置 HSTS 策略。此时间段指定浏览器将通过 HTTPS 访问服务器的时间量。 ## Referrer-Policy 从 2019.2 开始,Tableau Server 包括配置 Referrer-Policy HTTP 标头行为的功能。此策略启用时的默认行为是将包括所有“secure as”连接的来源 URL(策略 `no-referrer-when-downgrade`)。在以前的版本中,Tableau Server 发送的响应中未包括 Referrer-Policy 标头。有关 Referrer-Policy 支持的各种策略选项的详细信息,请参见 OWASP 条目 [Referrer-Policy](https://owasp.org/www-project-secure-headers/#div-headers)。 ### 选项 gateway.http.referrer\_policy\_enabled 默认值:`true` 若要从 Tableau Server 发送的响应中排除 Referrer-Policy 标头,请将此值设置为 `false`。 gateway.http.referrer\_policy 默认值:`no-referrer-when-downgrade` 此选项定义 Tableau Server 的引用页策略。您可以指定 OWASP 网页上的 [Referrer-Policy](https://owasp.org/www-project-secure-headers/#div-headers) 表中列出的任何策略值字符串。 ## X-Content-Type-Options X-Content-Type-Options 响应 HTTP 头指定 Content-Type 头中的 MIME 类型不应由浏览器更改。在某些情况下,如果未指定 MIME 类型,则浏览器可能会通过评估有效负载的特征来尝试确定 MIME 类型。然后浏览器将相应地显示内容。这个过程被称为“嗅探”。误解 MIME 类型可能会导致安全漏洞。 有关详细信息,请参见 OWASP 条目 [X-Content-Type-Options](https://owasp.org/www-project-secure-headers/#div-headers)。 ### 选项 gateway.http.x\_content\_type\_nosniff 默认值:`true` 默认情况下,系统使用此选项将 X-Content-Type-Options HTTP 头设置为“nosniff”。 ## X-XSS-Protection HTTP X-XSS-Protection 响应头会发送到浏览器以启用跨站点脚本 (XSS) 保护。在用户在浏览器中禁用 XSS 保护的情况下,X-XSS-Protection 响应头会覆盖配置。 有关详细信息,请参见 OWASP 条目 [X-XSS-Protection](https://owasp.org/www-project-secure-headers/#div-headers)。 ### 选项 gateway.http.x\_xss\_protection 默认值:`true` 默认情况下,系统使用此选项启用了 X-XSS-Protection 响应头。 ## 此部分中的其他文章 [跳转到主要内容](#main-content) # Hyper Query Processing(测试版) **注意:**由于 Hyper Query Processing 是测试版本,因此名称可能会在正式发布之前更改。 客户数据平台 (CDP) 连接器现在由 Hyper Query Processing 引擎提供支持。它支持具有快速数据查询处理的交互式分析,并简化了连接到数据的体验,以加快数据探索。在使用实时连接和 Tableau 数据提取从 Tableau 查询客户数据平台数据时,Hyper Query Processing 引擎加快了查询时间。 > [!IMPORTANT] > > **测试眰功能:**Hyper Query Processing 测试版功能免费提供额外功能。您可以自行决定选择试用此服务。对测试版服务的任何使用均受[协议和条款](https://www.salesforce.com/company/legal/agreements/)中规定的适用测试版服务条款的约束。 ## 在 Tableau Server 中启用 Hyper Query Processing 完成以下步骤以启用 Hyper Query Processing。 1.连接到 Salesforce CDP。 2.按照屏幕上的说明安装 hyper jdbc 驱动程序。 `-Salesforce-cdp-hyper-beta-1.15.0.jar`,或从[此处](https://github.com/forcedotcom/Salesforce-CDP-jdbc/releases)下载 .jar 文件。 3.根据您的系统,将下载的文件移动到以下任一目录路径。 Windows:`C:\Program Files\Tableau\Drivers` macOS: `/Users/[user]/Library/Tableau/Drivers` 4.将驱动程序移动到正确的路径后,再次进行连接。您的客户数据平台连接器已准备好在 Tableau Server 中使用。 **注意:** Hyper Query Processing 支持为测试版。它适用于 Tableau Server。Tableau Desktop 和 Tableau Online 将从 2022 年 12 月开始提供支持。这些日期可能会发生变化。 ### 另请参见 - Tableau 帮助:[将 Tableau Server 连接到客户数据平台](https://help.tableau.com/current/server-linux/zh-cn/config_oauth_sfdc_cdp.htm) - Salesforce 帮助:[在 Customer Data Platform 中设置 Tableau](https://help.salesforce.com/s/articleView?id=sf.c360_a_set_up_tableau_connected_app.htm&type=5&language=en_US) - Salesforce 帮助:[在 Tableau 中启用 Customer Data Platform](https://help.salesforce.com/s/articleView?id=sf.c360_a_enable_tableau_connector.htm&type=5&language=en_US) - Salesforce 帮助:[在 Tableau 中使用 Customer Data Platform](https://help.salesforce.com/s/articleView?id=sf.c360_a_using_customer_360_aud_data_in_tableau.htm&type=5&language=en_US) [跳转到主要内容](#main-content) # Hyper 假脱机事件 当 Hyper 查询假脱机到磁盘时,_Hyper 假脱机_事件将被记录为警告。通常,当没有足够的可用内存并且 Tableau Server 数据引擎进程通过临时写入磁盘而转移到假脱机时,就会发生这种情况。[Tableau Server 数据引擎](https://help.tableau.com/current/server/zh-cn/data_engine2_intro.htm)主题在内存使用部分中对此进行了更详细的描述。 ## 谁可以执行此操作 具有**服务器/环境管理**角色的Resource Monitoring Tool管理员或Resource Monitoring Tool用户。 [跳转到主要内容](#main-content) # identityStore 实体 Tableau Server 需要身份存储来存储用户和组信息。在首次配置身份存储之前,请查看[身份验证](https://help.tableau.com/current/server/zh-cn/security_auth.htm)和[身份存储](https://help.tableau.com/current/server/zh-cn/plan_identity_store.htm)主题。在 Tableau Server 上安装了身份存储后,如果不重新安装服务器,则无法更改身份存储。 **重要信息:**所有实体选项均区分大小写。 ## 开始之前 查看以下信息: - 如果您将不使用本地身份存储,则将使用某种版本的 LDAP。在这种情况下,请与您的目录/LDAP 管理员一起针对 LDAP 模式配置 Tableau Server 并绑定要求。 - Tableau Server 配置已针对 Active Directory 进行优化。如果安装到 Active Directory 中,我们建议使用 [配置初始节点设置](https://help.tableau.com/current/server/zh-cn/config_general.htm#tsm-ui-steps)配置身份存储。 - LDAP 绑定与用户身份验证无关。例如,您可以将 Tableau Server 配置为使用简单绑定来向 LDAP 目录进行身份验证,然后将 Tableau Server 配置为在安装后使用 Kerberos 进行用户身份验证。 - 不要通过不安全的连接使用简单绑定连接到 LDAP。默认情况下,使用简单绑定的 LDAP 以明文发送数据。使用 LDAPS 通过简单绑定加密流量。请参见[将加密通道配置为 LDAP 外部身份存储](https://help.tableau.com/current/server/zh-cn/config_encrypt_ldap.htm)。 - 若要为具有 Tableau Server 服务的 LDAP 绑定使用 Kerberos 身份验证,您将需要用于 GSSAPI 绑定的密钥表文件,如以上部分所述。另请参见[了解密钥表要求](https://help.tableau.com/current/server/zh-cn/kerberos_keytab.htm)。在 Kerberos 的上下文中,您只需在 Tableau Server 的基本安装过程中进行 GSSAPI 绑定。安装服务器之后,您可以随后[为用户身份验证配置 Kerberos](https://help.tableau.com/current/server/zh-cn/config_kerberos.htm) 以及[将 Kerberos 委派给数据源](https://help.tableau.com/current/server/zh-cn/kerberos_delegation.htm)。 - 在本主题中,我们区分了 _LDAP_(用于连接到目录服务的协议)和 _LDAP 服务器_(目录服务的实现)。例如,`slapd` 是 OpenLDAP 项目中的 LDAP 服务器。 - 在初始化服务器之前验证 LDAP 配置,请参见[配置初始节点设置](https://help.tableau.com/current/server/zh-cn/config_general.htm)。 - 只会在初始配置过程中导入 JSON 配置文件。如果需要在导入 JSON 配置文件并初始化 Tableau Server 后进行 LDAP 更改,请不要尝试重新导入 JSON 文件。而是使用本机 tsm 命令或 `tsm configuration set` 进行单独的键更改。请参见[外部身份识存储配置参考](https://help.tableau.com/current/server/zh-cn/ldap_config.htm)。 ## 配置模板 此部分中的 JSON 模板用于配置具有不同身份存储方案的 Tableau Server。除非您正在配置本地身份存储,否则需要选择并编辑特定于 LDAP 环境的配置文件模板。 考虑使用 [Tableau 身份存储配置工具](https://tagyoureit.github.io/tableau-identitystore-config-tool/)来帮助生成 LDAP JSON 配置文件。该工具本身不受 Tableau 支持。不过,使用该工具创建的 JSON 文件(而不是手动创建文件)不会改变服务器的受支持状态。 选择身份存储配置模板以编辑: - 本地 - LDAP - Active Directory - OpenLDAP - GSSAPI 绑定 - OpenLDAP - 简单绑定 有关配置文件、实体和密钥的更多说明,请参见[配置文件示例](https://help.tableau.com/current/server/zh-cn/config_file_example.htm)。 ### 本地 如果组织还没有用于用户身份验证的 Active Directory 或 LDAP 服务器,请将“本地”配置为身份存储类型。选择“本地”作为身份存储类型时,可以使用 Tableau Server 创建和管理用户。 为本地身份存储配置 Tableau Server 的另一种方法是在安装过程中运行安装程序 GUI 并选择“本地”。请参见[配置初始节点设置](https://help.tableau.com/current/server/zh-cn/config_general.htm)。 { "configEntities": { "identityStore": { "\_type": "identityStoreType", "type": "local" } } } ![](/tableau/current/zh-cn/server/zh-cn/Img/Road-sign-alert.png) ### 重要信息 下面的 LDAP 配置模板是一些示例。所呈现的模板将不会在您的组织中配置 LDAP 连接。您必须与您的目录管理员一起编辑 LDAP 模板值才能成功部署。 此外,configEntities 中引用的所有文件均必须位于本地计算机上。不要指定 UNC 路径。 ### LDAP - Active Directory Tableau Server 配置已针对 Active Directory 进行优化。如果安装到 Active Directory 中,请使用 [配置初始节点设置](https://help.tableau.com/current/server/zh-cn/config_general.htm#tsm-ui-steps)配置身份存储。 需要与 Active Directory 的加密连接。请参见[将加密通道配置为 LDAP 外部身份存储](https://help.tableau.com/current/server/zh-cn/config_encrypt_ldap.htm)。 如果由于某种原因无法将身份存储配置为使用 TSM Web 界面与 Active Directory 通信,请使用此 JSON 模板配置 Tableau Server 以连接到 Active Directory。此模板使用 GSSAPI (Kerberos) 绑定向 Active Directory 验证 Tableau Server 服务的身份。Tableau Server 包括对 Active Directory 架构的支持。因此,如果将 `"directoryServiceType"` 选项设置为 `"activedirectory"`,则不需要在 `"identityStoreSchemaType"` 选项中提供架构信息。 { "configEntities":{ "identityStore": { "\_type": "identityStoreType", "type": "activedirectory", "domain": "your-domain.lan", "nickname": "YOUR-DOMAIN-NICKNAME", "directoryServiceType": "activedirectory", "bind": "gssapi", "kerberosKeytab": "", "kerberosConfig": "/etc/krb5.conf", "kerberosPrincipal": "your-principal@YOUR.DOMAIN" } } } 我们建议您使用 GSSAPI 绑定到 Active Directory。但是,您可以使用简单的绑定和 LDAPS 进行连接。要使用简单绑定进行连接,请将 `bind` 更改为 `simple`,删除三个 Kerberos 实体,并添加 `port`/`sslPort`、`username` 和 `password` 选项。以下示例显示了 Active Directory 以及简单绑定 json。 { "configEntities":{ "identityStore": { "\_type": "identityStoreType", "type": "activedirectory", "domain": "your-domain.lan", "nickname": "YOUR-DOMAIN-NICKNAME", "directoryServiceType": "activedirectory", "hostname": "optional-ldap-server", "sslPort": "636", "bind": "simple", "username": "username", "password": "password" } } } ### OpenLDAP - GSSAPI 绑定 使用下面的模板来配置包含 GSSAPI 绑定的 OpenLDAP。如果您的组织正在运行 Active Directory,请不要使用此模板。如果要安装到 Active Directory 中,请使用下面的 LDAP - Active Directory 模板。 大多数情况下,将 OpenLDAP 与 GSSAPI (Kerberos) 配合使用的组织将使用密钥表文件来存储凭据。在以下示例中,keytab 文件用于存储身份验证凭据。 但是,您可以通过 `username` 和 `password` 实体提供凭据。 您还可以同时指定密钥表以及用户名和密码对。在这种情况下,Tableau Server 将尝试使用 keytab,但是如果由于任何原因导致身份验证失败,它将回退并使用用户名和密码凭据。 { "configEntities":{ "identityStore": { "\_type": "identityStoreType", "type": "activedirectory", "domain": "your-domain.lan", "nickname": "YOUR-DOMAIN-NICKNAME", "directoryServiceType": "openldap", "bind": "gssapi", "kerberosKeytab": "", "kerberosConfig": "/etc/krb5.conf", "kerberosPrincipal": "your-principal@YOUR.DOMAIN", "identityStoreSchemaType": { "userBaseFilter": "(objectClass=inetOrgPerson)", "userUsername": "user", "userDisplayName": "displayname", "userEmail": "email", "userCertificate": "certificate", "userThumbnail": "thumbnail", "userJpegPhoto": "photo", "groupBaseFilter": "(objectClass=groupofNames)", "groupName": "groupname", "groupEmail": "groupemail", "groupDescription": "groupdescription", "member": "member", "distinguishedNameAttribute": "", "serverSideSorting": "", "rangeRetrieval": "", "userClassNames": \["inetOrgPerson","someClass2"\], "groupClassNames": \["groupOfUniqueNames1","groupOfUniqueNames2"\] } } } } ### OpenLDAP - 简单绑定 { "configEntities":{ "identityStore": { "\_type": "identityStoreType", "type": "activedirectory", "domain": "my.root", "nickname": "", "hostname": "optional-ldap-server", "port": "389", "directoryServiceType": "openldap", "bind": "simple", "username": "cn=username,dc=your,dc=domain", "password": "password", "identityStoreSchemaType": { "userBaseFilter": "(objectClass=inetOrgPerson)", "userUsername": "user", "userDisplayName": "displayname", "userEmail": "email", "userCertificate": "certificate", "userThumbnail": "thumbnail", "userJpegPhoto": "photo", "groupBaseFilter": "(objectClass=groupofNames)", "groupName": "groupname", "groupEmail": "groupemail", "groupDescription": "groupdescription", "member": "member", "distinguishedNameAttribute": "", "serverSideSorting": "", "rangeRetrieval": "", "userClassNames": \["inetOrgPerson","someClass2"\], "groupClassNames": \["groupOfUniqueNames1","groupOfUniqueNames2"\] } } } } ## 配置模板参考 ### 共享身份存储选项 type 您想要在其中存储用户身份信息的位置。`local` 或 `activedirectory`。(如果要连接到任何 LDAP 服务器,请选择 `activedirectory`。) domain 您在其中安装 Tableau Server 的计算机的域。 nickname 域的昵称。这在 Windows 环境中也称为 NetBIOS 名称。 所有 LDAP 实体都需要 `nickname` 选项。如果您的组织不需要昵称/NetBIOS,则传递一个空白键,例如:`"nickname": ""`。 ### LDAP GSSAPI 绑定选项 directoryservicetype 要连接到的目录服务的类型。`activedirectory` 或 `openldap`。 kerberosConfig 本地计算机上 Kerberos 配置文件的路径。如果要安装到 Active Directory 目录,我们不建议使用现有 Kerberos 配置文件或联接域的计算机上已有的密钥表文件。请参见[身份存储](https://help.tableau.com/current/server/zh-cn/plan_identity_store.htm)。 kerberosKeytab 本地计算机上 Kerberos 密钥表文件的路径。建议您创建一个包含专门用于 Tableau Server 服务的密钥的密钥表文件,并且不要与计算机上的其他应用程序共享此密钥表文件。 kerberosPrincipal Tableau Server 在主计算机上的服务主体名称。密钥表必须具有此主体的权限。不要使用系统的现有密钥表。相反,我们建议您注册一个新的服务主体名称。若要查看给定密钥表中的主体,请运行 `klist -k` 命令。请参见[了解密钥表要求](https://help.tableau.com/current/server/zh-cn/kerberos_keytab.htm)。 ### LDAP 简单绑定选项 directoryservicetype 要连接到的目录服务的类型。`activedirectory` 或 `openldap`。 hostname LDAP 服务器的主机名。您可以为此值输入主机名或 IP 地址。此处指定的主机将仅用于主域上的用户/组查询。如果用户/组查询在其他域中(不在主域中),Tableau Server 将不会使用此值,而是会查询 DNS 以识别适当的域控制器。 port 使用此选项指定 LDAP 服务器的非安全端口。明文通常使用 389。 sslPort 使用此选项启用 LDAPS。指定 LDAP 服务器的安全端口。LDAPS 通常使用端口 636。若要使用 LDAPS,还必须指定 hostname 选项。请参见[将加密通道配置为 LDAP 外部身份存储](https://help.tableau.com/current/server/zh-cn/config_encrypt_ldap.htm)。 username 要用于连接到目录服务的用户名。指定的帐户必须具有查询目录服务的权限。对于 Active Directory,输入用户名,例如 `jsmith`。对于 LDAP 服务器,请输入进行连接所要使用的用户可分辨名称 (DN)。例如,您可能会输入 `cn=username,dc=your-local-domain,dc=lan`。 password 要用于连接到 LDAP 服务器的用户的密码。 ### 共享 LDAP 选项 可以为通用 LDAP、OpenLDAP 或 Active Directory 实现设置以下选项。 bind 将身份验证通信从 Tableau Server 服务传递到 LDAP 目录服务的所需方式。为 GSSAPI (Kerberos) 输入 `gssapi`。 domain 在 Active Directory 环境中,指定安装 Tableau Server 所在的域,例如“example.lan”。 对于非 AD LDAP:您为此值输入的字符串显示在用户管理工具的“域”列中。您可以输入任意字符串,但键不能为空。 root 仅限 LDAP。不要为 Active Directory 指定。 如果不在 LDAP 根中使用 dc 组件,或者要指定更复杂的根,您需要设置 LDAP 根。使用“o=my,u=root”格式。例如,对于域 `example.lan`,根将为 `"o=example,u=lan"`。 membersRetrievalPageSize 此选项确定 LDAP 查询返回的最大结果数。 例如,假设有这样一种场景:Tableau Server 正在导入包含 50,000 名用户的 LDAP 组。尝试在一次操作中导入如此大量的用户不是最佳做法。此选项设置为 1500 时,Tableau Server 会在第一次响应中导入前 1500 名用户。处理了这些用户之后,Tableau Server 将从 LDAP 服务器请求接下来的 1500 名用户,依此类推。 我们建议只有在要适应 LDAP 服务器的需求时才修改此选项。 ### `identityStoreSchemaType` 选项 如果配置与 LDAP 服务器的 LDAP 连接,您可以在 `identityStoreSchemaType` 对象中输入特定于 LDAP 服务器的架构信息。 **重要信息:**如果连接到 Active Directory (`"directoryServiceType": "activedirectory"`),则不要配置这些选项。 userBaseFilter 要用于 Tableau Server 用户的筛选器。例如,您可以指定对象类属性和组织单元属性。 userUsername 与 LDAP 服务器上的用户名对应的属性。 userDisplayName 与 LDAP 服务器上的用户显示名称对应的属性。 userEmail 与 LDAP 服务器上的用户电子邮件地址对应的属性。 userCertificate 与 LDAP 服务器上的用户证书对应的属性。 userThumbnail 与 LDAP 服务器上的用户缩略图图像对应的属性。 userJpegPhoto 与 LDAP 服务器上的用户配置文件图像对应的属性。 groupBaseFilter 要用于 Tableau Server 用户组的筛选器。例如,您可以指定对象类属性和组织单元属性。 groupName 与 LDAP 服务器上的组名称对应的属性。 groupEmail 与 LDAP 服务器上的组电子邮件地址对应的属性。 groupDescription 与 LDAP 服务器上的组说明对应的属性。 member 用于描述组中用户列表的属性。 distinguishedNameAttribute 用于存储用户的可分辨名称的属性。此属性是可选属性,但它大大提高了 LDAP 查询的性能。 serverSideSorting 是否为查询结果的服务器端排序配置了 LDAP 服务器。如果您的 LDAP 服务器支持服务器端排序,请将此选项设置为 `true`。如果不确定您的 LDAP 服务器是否支持此功能,请输入 `false`,因为配置不正确可能会导致错误。 rangeRetrieval LDAP 服务器是否配置为返回请求查询结果的范围。这意味着将以多个小的集合的形式请求包含多个用户的组,而不是一次请求全部。支持范围检索的 LDAP 服务器执行大型查询的性能更出色。如果您的 LDAP 服务器支持范围检索,请将此选项设置为 `true`。如果不确定您的 LDAP 服务器是否支持范围检索,请输入 `false`,因为配置不正确可能会导致错误。 groupClassNames 默认情况下,Tableau Server 会查找包含字符串“group”的 LDAP 组对象类。如果您的 LDAP 组对象不适合默认类名,请通过设置此值来覆盖默认值。您可以提供由逗号分隔的多个类名。此选项采用字符串列表,该列表要求以引号或方括号传递每个 IP 或主机,用逗号(无空格)分隔。例如:`["basegroup","othergroup"]`。 userClassNames 默认情况下,Tableau Server 会查找包含字符串“user”和“inetOrgPerson”的 LDAP 用户对象类。如果您的 LDAP 用户对象不使用这些默认类名,请通过设置此值来覆盖默认值。您可以提供由逗号分隔的多个类名。此选项采用字符串列表,该列表要求以引号或方括号传递每个 IP 或主机,用逗号(无空格)分隔。例如:`["userclass1",userclass2”]`。 ## 导入 JSON 文件 编辑完 JSON 文件后,请使用以下命令传递 .json 文件并应用设置: `tsm settings import -f path-to-file.json` `tsm pending-changes apply` 如果待定更改需要重新启动服务器,`pending-changes apply` 命令将显示一个提示,告知您将进行重新启动。即使服务器已停止,此提示也会显示,但在这种情况下不会重新启动。您可以使用 `--ignore-prompt` 选项隐藏提示,但这样做不会改变重新启动行为。如果更改不需要重新启动,则会在不提示的情况下应用更改。有关详细信息,请参见[tsm pending-changes apply](https://help.tableau.com/current/server/zh-cn/cli_pending-changes.htm#pending-changes-apply)。 [跳转到主要内容](#main-content) # Kerberos Kerberos 是一种三向的身份验证协议,它依赖于使用名为“密钥分发中心”(KDC) 的受信任第三方网络服务来验证计算机的身份,以及通过交换_“票证”_在计算机之间提供安全的连接。这些票证在计算机或服务之间提供相互身份验证,并验证某计算机或服务是否有权访问另一计算机或服务。 Tableau Server 支持 Active Directory Kerberos 环境中的 Kerberos 身份验证(Tableau Server 用户的身份验证由 Kerberos 处理)。 **注意:**  - Tableau Server 中的 Kerberos 支持是针对用户身份验证的。它并不处理与 Tableau Server 内容(例如工作簿)有关的内部权限和授权。 - 身份池是一种工具,旨在补充和支持您在组织中可能需要的其他用户预置和身份验证选项,它仅支持 OpenID Connect (OIDC) 身份验证。有关详细信息,请参见[使用身份池预置和验证用户](https://help.tableau.com/current/server/zh-cn/identity_pools.htm)。 ## Kerberos 的工作原理 当在 Active Directory (AD) 环境中将 Tableau Server 配置为使用 Kerberos 时,AD 域控制器还充当 Kerberos 密钥分发中心 (KDC),并向域中的其他节点颁发票证授予票证。由 KDC 验证身份的用户在连接到 Tableau Server 时不必接受进一步的身份验证。 下面是身份验证工作流的图示。 ![说明 Tableau Server 用户的身份验证过程的图表。](/tableau/current/zh-cn/server/zh-cn/Img/kerb_client_server.png)
一个蓝色圆圈,中间有一个白色数字 1。用户登录到其 Active Directory 域。一个蓝色圆圈,中间有一个白色数字 2。Kerberos KDC 验证用户的身份并将“票证授予票证”(TGT) 发送到用户的计算机。
一个蓝色圆圈,中间有一个白色数字 3。用户在 Tableau Desktop 或 Web 浏览器中连接到 Tableau Server。一个蓝色圆圈,中间有一个白色数字 4。

Tableau Server 验证用户身份。

## 此部分中的其他文章 [跳转到主要内容](#main-content) # Kerberos SSO 的 Tableau 客户端支持 本文介绍有关将 Kerberos 单点登录 (SSO) 与 Tableau Server 结合使用的一些要求和细微差别,具体情况取决于特定 Tableau 客户端和操作系统。本文中涵盖的 Tableau 客户端包括常用 Web 浏览器、Tableau Desktop 和 Tableau Mobile 应用。 ## 一般浏览器客户端支持 要使用基于浏览器的 Kerberos 单点登录 (SSO),必须满足以下条件: - 必须在 Tableau Server 上启用 Kerberos。 - 用户必须具有用于登录到 Tableau Server 的用户名和密码。 **注意:**当 Kerberos SSO 失败时,如果设置了回退,用户可以回退为使用其用户名和密码凭据。 - 必须在客户端计算机或移动设备上通过 Kerberos 向 Active Directory 验证用户的身份。具体而言,这意味着他们具有 Kerberos 票证授予票证 (TGT)。 ## Tableau Desktop 和浏览器客户端 在 Windows 或 Mac 上,您可以使用 Kerberos SSO 从以下版本的 Tableau Desktop 或浏览器中登录到 Tableau Server。特别要说明的是,可能需要额外的配置。 Windows - 支持 Tableau Desktop 10.3 或更高版本。 - Internet Explorer - 支持,可能需要配置,请参见[注释 1](#note1) - Chrome - 支持,可能需要配置,请参见[注释 1](#note1) - Firefox - 需要配置,请参见[注释 2](#note2) - Safari - 不支持 Mac OS X - Tableau Desktop 10.3 或更高版本 - Safari - 支持 - Chrome - 请参见[注释 3](#note3) - Firefox - 请参见[注释 2](#note2) - Internet Explorer - 不支持 ## Tableau Mobile 应用客户端 在 iOS 或 Andoid 设备上,您可以使用以下 Tableau Mobile 或移动浏览器版本,通过 Kerberos 向 Tableau Server 进行身份验证: iOS - Tableau Mobile 应用 - 请参见 [注释 4](#note4) - Safari - 请参见[注释 4](#note4) - Chrome - 不支持 Android - 请参见[注释 5](#note5) - Tableau Mobile 应用 - Chrome ## 特定于操作系统和浏览器的注意事项 以下注意事项描述特定操作系统和客户端组合的配置要求或问题。 ### 注释 1:Windows 桌面上的 Internet Explorer 或 Chrome Internet Explorer 和 Chrome 上都支持 Kerberos SSO,但需要在 Windows Internet 选项中进行配置: 1. 启用集成 Windows 身份验证。 2. 验证 Tableau Server URL 是否位于本地 Intranet 区域中。 Internet Explorer 有时可能会检测到 Intranet 区域并配置此设置。如果未检测到和配置 Tableau Server URL,则您必须将 URL 手动添加到本地 Intranet 区域。 启用集成 Windows 身份验证: 1. 在 Windows 控制面板中,打开**“Internet 选项”**。 2. 在**“高级”**选项卡上,向下滚动到**“安全”**部分。 3. 选择**“启用集成 Windows 验证”**。 4. 单击**“应用”**。 进行验证或将 Tableau Server URL 添加到本地 Intranet 区域: 1. 在 Windows 控制面板中,打开**“Internet 选项”**。 2. 在**“安全”**选项卡上上,选择**“本地 Intranet”**,然后单击**“站点”**。 3. 在**“本地 Intranet”**对话框上,单击**“高级”**。 在“**网站**”字段中,查找内部 Tableau Server URL。 在某些组织中,IT 管理员将使用通配符 (\*) 来指定内部 URL。例如,以下 URL 包括本地 Intranet 区域中内部 `example.lan` 命名空间内的所有服务器。 `https://*.example.lan` 下图显示了 `https://tableau.example.lan` 的特定 URL。 ![用于在区域中添加或移除网站的本地内联网对话框。](/tableau/current/zh-cn/server/zh-cn/Img/kerberos_intranet_zone.png) 4. 如果 Tableau Server URL 或通配符 URL 未在**“网站”**字段中指定,请在**“将该网站添加到区域”**字段中输入 Tableau Server URL,单击**“添加”**,然后单击**“确定”**。 如果 Tableau Server URL 已经列在“网站”中,您只需关闭对话框即可。 ### 注释 2:Windows 或 Mac OS X 桌面上的 Firefox 您可以在 Windows 或 Mac 上将 Firefox 与 Kerberos SSO 结合使用来登录到 Tableau Server。为此,您必须完成以下步骤,将 Firefox 配置为支持 Kerberos: 1. 在 Firefox 的地址栏中输入 `about:config`。 2. 出现有关更改高级设置的警告时,单击**“我承诺我会小心”**。 3. 在“搜索”框中输入 `negotiate`。 ![Firefox 中的示例 Tableau Server 配置页面。](/tableau/current/zh-cn/server/zh-cn/Img/kerberos_firefox.png) 4. 双击**“network.negotiate-auth.allow-non-fqdn”**,然后将值设置为 **true**。 5. 双击**“network.negotiate-auth.trusted-uris”**,并输入 Tableau Server 的完全限定域名 (FQDN)。例如,`tableau.example.com`。 ### 注释 3:Mac OS X 桌面上的 Chrome 根据 Chrome 文档,当您使用以下命令从终端窗口中启动 Chrome 时,Kerberos SSO 可在 Mac 上工作:: `open -a "Google Chrome.app" --args --auth-server-whitelist="tableauserver.example.com"` 其中,`tableauserver.example.com` 是您的环境中 Tableau Server 的 URL。 但是,我们在测试中发现了不一致的结果。因此,如果想要在 Mac 上使用 Kerberos SSO,我们建议您使用 Safari 或 Firefox。有关详细信息,请参见“The Chromium Projects”站点上 [HTTP authentication(HTTP 身份验证)](http://www.chromium.org/developers/design-documents/http-authentication)中的_“Integrated Authentication”(集成身份验证)_部分。 **注意**:用户仍然可以在 Mac OS X 上使用 Chrome 登录到 Tableau Server,但可能会提示用户使用其用户名和密码登录(单点登录可能不起作用)。 ### 注释 4:iOS 上的 Mobile Safari 或 Tableau Mobile 如果针对 Kerberos 配置了 iOS,则支持 Kerberos SSO。iOS 设备必须已安装 Kerberos 身份验证配置文件。此操作通常由企业 IT 团队完成。Tableau 支持团队无法协助您针对 Kerberos 配置 iOS 设备。请参见 _Tableau Mobile 部署指南_中的[身份验证主题](https://help.tableau.com/current/mobile/mobile-admin/zh-cn/admin_mobile_sso.htm#kerberos-ios-and-tableau-server-only)。 ### 注释 5:Android 平台 Android 操作系统上的 Tableau Mobile 应用不支持 Kerberos SSO。如果 Kerberos 设置了当 SSO 无法接受用户名和密码身份验证时的回退功能,您仍然可以使用 Android 设备和 Tableau Mobile 应用或受支持的移动浏览器连接到 Tableau Server。在这种情况下,用户在访问 Tableau Server 时,系统会提示用户输入其凭据,而不是使用 Kerberos 进行身份验证。 ### 详细信息 - _Tableau Mobile 部署指南_:[控制 Tableau Mobile 的身份验证和访问权限](https://help.tableau.com/current/mobile/mobile-admin/zh-cn/admin_mobile_sso.htm) - 请参见 [Tableau Server 技术规格](https://www.tableau.com/zh-cn/products/techspecs#paragraph-id--211678)下的“_Web 浏览器_” [跳转到主要内容](#main-content) # Kerberos 疑难解答 本主题中的故障排除建议分为与服务器上的单一登录 (SSO) 相关的问题以及委派数据源的问题。 ## Tableau Server 单点登录 在 Kerberos SSO 环境中,通过 Web 浏览器或 Tableau Desktop 登录到 Tableau Server 的用户可能会看到一条消息,指明 Tableau Server 无法(使用单点登录)自动将这些用户登录。该消息建议用户改为提供 Tableau Server 用户名和密码。 ![](/tableau/current/zh-cn/server/zh-cn/Img/kerb_auth_failed.png) ### 在客户端计算机上排查登录错误 - **输入用户名和密码** — 若要检查用户对 Tableau Server 的一般访问权限,请通过输入用户的名称和密码进行登录。 如果这些凭据失败,则该用户可能不是 Tableau Server 上的用户。为了使 Kerberos SSO 起作用,用户必须能够访问 Tableau Server,并且必须获得 Active Directory 授予的票证授予票证 (TGT),如此列表后面的“**TGT**”项中所述。 - **检查其他用户的 SSO 凭据** — 尝试使用其他用户帐户通过 SSO 连接到 Tableau Server。如果所有用户均受影响,则问题可能在 Kerberos 配置中。 - **使用不是服务器计算机的计算机** — 如果在 localhost 上登录 Tableau Server,Kerberos SSO 将不起作用。客户端必须从 Tableau Server 计算机以外的计算机进行连接。 - **使用服务器名称而不是 IP 地址** — 如果输入 IP 地址作为 Tableau Server 名称,Kerberos SSO 将不起作用。此外,用于访问 Tableau Server 的服务器名称必须与 Kerberos 配置中使用的名称匹配(请参见下面的**[密钥表条目](#keytable)**)。 - **确认客户端有 TGT** — 客户端计算机必须有来自 Active Directory 域的 TGT(票证授予票证)。不支持代理授予票证的约束委派。 若要确认客户端计算机具有 TGT,请执行以下操作: - 在 Windows 上,打开命令提示符并键入以下命令:`klist tgt` - 在 Mac 上,打开终端窗口并键入以下命令:`klist` 输出应显示正尝试接受 Tableau Server 身份验证的用户/域的 TGT。 在以下情况下,客户端计算机可能没有 TGT: - 客户端计算机使用 VPN 连接。 - 客户端计算机没有加入域(例如,它是在工作时使用的非工作用计算机)。 - 用户使用本地(非域)帐户登录到计算机。 - 计算机是没有将 Active Directory 用作网络帐户服务器的 Mac 计算机。 - **确认浏览器版本和设置** — 对于 Web 浏览器登录,请确保浏览器对于 Kerberos 受支持并在必要的情况下已正确配置。 - Internet Explorer (IE) 和 Chrome 立即可在 Windows 上运行。 - Safari 立即可在 Mac 上运行。 - Firefox 需要额外的配置。 有关详细信息,请参见[Kerberos SSO 的 Tableau 客户端支持](https://help.tableau.com/current/server/zh-cn/kerberos_browser.htm)。 ### 在服务器上排查登录错误 如果无法通过客户端计算机解决问题,则下面的步骤是在运行 Tableau Server 的计算机上排除故障。管理员可以使用请求 ID 在 Tableau Server 上的 Apache 日志中查找登录尝试。 - **日志文件** — 查看 Apache error.log 中的错误(含有失败登录尝试的确切日期/时间)。 - 在 ziplog 存档中,这些日志位于 \\httpd 文件夹下。 - 在 Tableau Server 上,这些日志位于 \\data\\tabsvc\\logs\\httpd\\ 文件夹中。 - **键表条目** — 如果 error.log 条目包含“No key table entry matching HTTP/..@”(没有与 HTTP/<服务器名称>.<域>. 匹配的键表条目)消息,例如: `[Fri Oct 24 10:58:46.087683 2014] [:error] [pid 2104:tid 4776] [client 10.10.1.62:56789] gss_acquire_cred() failed: Unspecified GSS failure. Minor code may provide more information (, No key table entry found matching HTTP/servername.domain.com@)` 此错误是由以下任意项的不匹配造成的: - **Tableau Server URL** - 客户端计算机用于访问服务器的 URL。 这是您键入 Tableau Desktop 或浏览器地址栏的名称。它可以是短名称 (`http://servername`),也可以是完全限定域名 (`http://servername.domain.com`) ![Internet 浏览器地址栏中显示的 Tableau 服务器名称示例。](/tableau/current/zh-cn/server/zh-cn/Img/kerb_servername_1.png) ![Tableau Server 登录对话框中显示的 Tableau 服务器名称示例。](/tableau/current/zh-cn/server/zh-cn/Img/kerb_servername_2.png) - 服务器 IP 地址的 **DNS 反向查找。** 它使用 IP 地址查找 DNS 名称。 在命令提示符处,键入: `ping servername` 利用在 ping 服务器之后返回的 IP 地址执行 DNS 反向查找,键入: `nslookup ` nslookup 命令将返回该 IP 地址的网络信息。在响应的 _Non-authoritative answer_ 部分中,验证完全限定的域名 (FQDN) 是否与以下配置的值匹配:  - Kerberos .keytab 文件。 - 服务器的服务主体名称 (SPN) 有关配置这些值的详细信息,请参见[了解密钥表要求](https://help.tableau.com/current/server/zh-cn/kerberos_keytab.htm)。 ### 验证 Kerberos 配置脚本 您可能需要修改用于生成环境变量密钥表文件的 ktpass 命令。查看知识库文章[无法为 Tableau Server 生成 Kerberos 脚本配置](https://kb.tableau.com/articles/issue/unable-to-generate-kerberos-script-configuration-for-tableau-server?lang=zh-cn)中的疑难解答步骤。 ## 数据源 SSO ### 委派的数据源访问失败 检查 vizqlserver 日志文件中是否有“workgroup-auth-mode”: - 在 ziplog 存档中,这些日志位于 \\vizqlserver\\Logs 文件夹中 - 在 Tableau Server 上, 这些日志位于 \\data\\tabsvc\\vizqlserver\\Logs 文件夹中 在日志文件中查找“workgroup-auth-mode”。它应显示“kerberos-impersonate”而不是“as-is”。 ### Kerberos 委派多域配置 Tableau Server 能够从其他 Active Directory 域中委派用户。如果您的数据库使用 MIT Kerberos,您需要将 Kerberos 主体调整为数据库用户映射。具体而言,您将需要使用用户将从中连接的每个 Kerberos 域的规则更新 krb5.conf。使用 `[realms]` 部分中的 `auth_to_local` 标记将主体名称映射到本地用户名。 例如,假设一个用户为 `EXAMPLE\jsmith`,其 Kerberos 主体为 `jsmith@EXAMPLE.LAN`。在这种情况下,Tableau Server 将指定委派用户 `jsmith@EXAMPLE`。Tableau Server 将使用 Active Directory 旧域别名作为 Kerberos 域。 目标数据库可能已经有诸如以下规则,用于将用户 `jsmith@EXAMPLE.LAN` 映射到数据库用户 `jsmith`。 `EXAMPLE.LAN = {    RULE:[1:$1@$0](https://help.tableau.com/current/server/zh-cn/.*@EXAMPLE.LAN)s/@.*//    DEFAULT }` 为了支持委派,您必须添加另一条规则,将 jsmith@EXAMPLE 映射到数据库用户: `EXAMPLE.LAN = {    RULE:[1:$1@$0](https://help.tableau.com/current/server/zh-cn/.*@EXAMPLE.LAN)s/@.*//    RULE:[1:$1@$0](https://help.tableau.com/current/server/zh-cn/.*@EXAMPLE)s/@.*//    DEFAULT }` 有关详细信息,请参见 MIT Kerberos 文档主题 [krb5.conf](https://web.mit.edu/kerberos/krb5-1.12/doc/admin/conf_files/krb5_conf.html)。 ### 跨域约束委派 在 KDC 运行于 Windows 2012 之前的 Windows Server 上的某些跨域方案中,委派可能会失败。您可能会看到以下错误: - SQL Server Network Interfaces:The system cannot contact a domain controller to service the authentication request.Please try again later.(系统无法联系域控制器来为身份验证请求提供服务。请稍后再试。) - SQL Server Native Client: Cannot generate SSPI context.(SQL Server Native Client:无法生成 SSPI 上下文。) - 域控制器将返回:`KRB-ERR-POLICY error with a status STATUS_CROSSREALM_DELEGATION_FAILURE (0xc000040b)`。 “跨域”是指 Tableau Server 使用不同服务帐户运行在与数据源不同的域中的情形。例如: - Tableau Server 使用 DomainA 服务帐户运行在 DomainA 上。 - SQL Server 使用 DomainB 服务帐户运行在 DomainB 上。 只有当两个服务器位于同一域中时,传统约束委派才能工作。用户可能来自其他域。 如果您看到上述错误,则您的 Active Directory 管理员应移除在委派帐户上配置的任何传统约束委派以启用此方案。可以使用 Active Directory 管理工具或通过移除与 Active Directory 属性 `msDS-AllowedToDelegateTo.` 关联的值来移除委派。 如果想要随跨域委派一起保留现有单域委派,您必须使用基于资源的约束委派对两者进行配置。 有关 Kerberos 和约束委派的详细信息,请参见 Microsoft 主题 [Kerberos 约束委派概述](https://docs.microsoft.com/zh-cn/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/jj553400\(v=ws.11\))。 ### Web 制作 有两种不支持 Kerberos 委派的 Web 制作场景:“在 Web 上连接到数据”和“在 Web 上创建数据源”功能尚不支持委派。具体而言,如果通过 Web 制作创建使用 Kerberos 的数据源,则数据源将使用“运行身份服务帐户”身份验证。如果要使用 Kerberos 委派创建数据源,则必须使用 Tableau Desktop 进行发布。有关运行身份服务帐户的详细信息,请参见[使用运行身份服务帐户访问数据](https://help.tableau.com/current/server/zh-cn/runas_access.htm)。 [跳转到主要内容](#main-content) # Kerberos 要求 您可以为在 Active Directory 环境中运行的 Tableau Server 配置 Kerberos 身份验证。 ## 一般要求 - 外部负载平衡器/代理服务器:如果打算在具有外部负载平衡器 (ELB) 或代理服务器的环境中将 Tableau Server 与 Kerberos 一起使用,必须先对它们进行设置,再使用 Tableau Server 配置实用工具配置 Kerberos。请参见[为 Tableau Server 配置代理和负载平衡器](https://help.tableau.com/current/server/zh-cn/proxy.htm)。 - iOS 浏览器支持:如果安装了指定用户 Kerberos 身份的配置文件,则 iOS 用户可以将 Kerberos 身份验证与 Mobile Safari 一起使用。请参见 Tableau Mobile 帮助中的[针对 Kerberos 支持配置 iOS 设备](https://help.tableau.com/current/mobile/mobile-admin/zh-cn/admin_mobile_sso.htm)。有关 Kerberos SSO 的浏览器支持的详细信息,请参见[Kerberos SSO 的 Tableau 客户端支持](https://help.tableau.com/current/server/zh-cn/kerberos_browser.htm)。 - Tableau Server 支持为数据源身份验证使用约束委派。在此方案中,会专门授予 Tableau 数据访问帐户对目标数据库 SPN 的委派权。不支持非约束委派。 - 必须为 Kerberos 身份验证配置受支持的数据源(SQL Server、MSAS、PostgreSQL、Hive/Impala 和 Teradata)。 - 一个密钥表文件,该文件配置为具有 Tableau Server 用户身份验证所用的服务提供程序名称。有关详细信息,请参见[了解密钥表要求](https://help.tableau.com/current/server/zh-cn/kerberos_keytab.htm#kerb)。 - 从 Tableau Server 2021.2.25、2021.3.24、2021.4.19、2022.1.15、2022.3.7 和 2023.1.3(或更高版本) 开始,确保使用 AES-128 或 AES-256 密码创建密钥表文件。不再支持 RC4 和 3DES 密码。有关详细信息,请参见 Tableau 知识库中的[“Tableau Server 无法自动对您进行身份验证”](https://kb.tableau.com/articles/Issue/tableau-server-could-not-authenticate-you-automatically-error-occurs-when-attempting-to-automatically-login-using-kerberos-sso-after-tableau-server-upgrade?lang=zh-cn)。 ## Active Directory 要求 您必须满足以下要求才能在 Active Directory 环境中将 Tableau Server 与 Kerberos 一起运行: - Tableau Server 必须使用 Active Directory (AD) 进行身份验证。 - 域必须是 AD 2003 或更高版本的域才能实现 Tableau Server 的 Kerberos 连接。 - 智能卡支持:如果用户使用智能卡登录到其工作站,而且此登录导致通过 Active Directory 向用户授予 Kerberos TGT,则智能卡受支持。 - 单点登录 (SSO):在用户登录到其计算机时,必须通过 Active Directory 授予其 Kerberos 票证授予票证 (TGT)。这对于联接域的 Windows 计算机和使用 AD 作为网络帐户服务器的 Mac 计算机是标准行为。有关使用 Mac 计算机和 Active Directory 的详细信息,请参见 Apple 知识库的[将 Mac 联接到网络帐户服务器](https://support.apple.com/guide/mac-help/join-your-mac-to-a-network-account-server-mh27627/mac)。 ### Kerberos 委派 对于 Kerberos 委派方案,需要以下内容: - 如果域是 AD 2003 或更高版本,则支持单域 Kerberos 委派。用户、Tableau Server 和后端数据库必须位于同一个域中。 - 如果域是 AD 2008,则提供的跨域支持有限。如果满足以下条件,则可以委派来自其他域的用户。Tableau Server 和后端数据库必须位于同一个域中,并且在 Tableau Server 所在的域与用户的域之间需要双向信任。 - 如果域是 2012 或更高版本,则支持完整的跨域委派。AD 2012 R2 是首选版本,因为该版本有用于配置约束委派的对话框,而 2012 非 R2 需要手动配置。 [跳转到主要内容](#main-content) # kerberosSettings 实体 在配置 Kerberos 身份验证之前,请查看[Kerberos 要求](https://help.tableau.com/current/server/zh-cn/kerberos_requ.htm)。 使用下面的配置文件模板创建一个 json 文件。使用适当的值填充各个选项之后,使用以下命令传递 json 文件并应用设置: `tsm settings import -f /path/to/file.json` `tsm pending-changes apply` 如果待定更改需要重新启动服务器,`pending-changes apply` 命令将显示一个提示,告知您将进行重新启动。即使服务器已停止,此提示也会显示,但在这种情况下不会重新启动。您可以使用 `--ignore-prompt` 选项隐藏提示,但这样做不会改变重新启动行为。如果更改不需要重新启动,则会在不提示的情况下应用更改。有关详细信息,请参见[tsm pending-changes apply](https://help.tableau.com/current/server/zh-cn/cli_pending-changes.htm#pending-changes-apply)。 ## 配置模板 使用此模板来配置 Kerberos 设置。 **重要信息:**所有实体选项均区分大小写。 有关配置文件、实体和密钥的更多说明,请参见[配置文件示例](https://help.tableau.com/current/server/zh-cn/config_file_example.htm)。 完成 Kerberos 身份验证的初始配置后,使用[tsm authentication kerberos ](https://help.tableau.com/current/server/zh-cn/cli_authentication_tsm.htm#TSMKerb)子类别来设置其他值。 { "configEntities": { "kerberosSettings": { "\_type": "kerberosSettingsType", "enabled": "true", "keytabFile": "/path/to/keytab\_file" } } } ## 配置文件参考 以下列表包括可随 `"kerberosSettings"` 实体集一起包括的所有选项。 选项 值 enabled 选项:`true` 或 `false`。 启用 Kerberos 身份验证 keytabFile 必需。 有效 Kerberos keytab 文件的路径。 dBClasses 全局凭据的数据库类的逗号分隔列表。连接到 Cloudera 数据源时可能必需。 [跳转到主要内容](#main-content) # Microsoft Azure 上的 Tableau Server 疑难解答 ## 这是存档内容 继续支持公有云部署,但不再更新第三方公有云部署的内容。 有关最新的 Tableau Server 部署内容,请参见 Tableau Server 帮助的[部署](https://help.tableau.com/current/server/zh-cn/install.htm)部分。 对于那些有权访问的客户,我们建议使用 Tableau Cloud。有关更多详细信息,请参见: - [Tableau Cloud 手动迁移指南](https://help.tableau.com/current/guides/migration/zh-cn/emg_intro.htm) - [适用于管理员的 Tableau Cloud 试用版](https://help.tableau.com/current/server-linux/zh-cn/install.htm) - [Tableau Cloud:管理员入门](https://www.tableau.com/zh-cn/learn/get-started/online-admin) ## 简介 如果在使用 Microsoft Azure 虚拟机 (VM) 上的 Tableau Server 或在安装之后访问 Tableau Server 遇到问题,请查看以下疑难解答提示。 - **无法使用 RDP 连接到 VM** 以下一个或多个问题可能会使您无法使用 RDP 连接到 VM: - 确保使用正确的凭据。 - 选择“**Other User**”(其他用户)选项,并在该处输入您的凭据。 - 确保使用在 Microsoft Azure VM 上有效的用户名。例如,如果您使用管理员帐户 **myuser** 创建了实例,请在 RDP 对话框中输入 **.\\myuser** 作为用户名。 - **无法从远程浏览器中访问服务器** 以下一个或多个问题可能会使您无法从远程浏览器中访问服务器: - 登录到实例并确保服务器正在运行。 - 在实例中,打开浏览器,并以本地方式访问服务器(例如,使用 http://localhost 或 http://localhost:port,其中 port 是服务器配置为在其上侦听的端口号)。 - 在 Microsoft Azure 仪表板中,确保配置一个端点以允许进入实例的 HTTP 流量。 **注意:**您无法使用 Windows ping 实用工具来测试与实例的连接。从公共 Internet 中使用时,ping 实用工具会始终报告超时。 - **您收到以下错误消息:Tableau Server 未获许可** 如果在未先停用许可证的情况下关闭实例,则可能出现此错误。有关详细信息,请参见[重新启动托管 Tableau Server 的 AWS 虚拟机后出现“Tableau Server is unlicensed”错误](https://kb.tableau.com/articles/issue/error-tableau-server-is-unlicensed-after-rebooting-virtual-aws-machine-hosting-tableau-server?lang=zh-cn)。 - **Tableau Server 未使用所有 CPU 内核** 在使用 Tableau Server 基于内核的许可时,可能会出现以下一个或多个症状: - 在安装 Tableau Server 时,对于运行 Tableau Server 的计算机,安装程序显示的内核数可能比预期显示的内核数少。 - 在 Tableau Server 的“许可证”页面上,“正在使用的许可证”下列出的内核数比预期显示的内核数少。 - 运行 `tsm licenses list` 时,Tableau Server 报告的内核数可能比预期显示的内核数少。 有关详细信息,请参见 [Tableau Server 未识别所有内核](http://kb.tableau.com/articles/issue/not-all-cores-recognized-by-tableau-server?lang=zh-cn)。 - **运行 Windows 的 Microsoft Azure VM 上安装的 Tableau Server 性能缓慢** 在 Windows Azure 虚拟机上安装 Tableau Server 之后,可能会出现性能缓慢或系统不稳定的问题。 - 验证运行 Azure 的虚拟机是否满足 Tableau Server 的最低系统要求。 - 为了获得最佳性能,Tableau Server 应安装在低延迟磁盘上。有关配置具有低延迟磁盘的虚拟机的详细信息,请参见 Microsoft Azure 网站上的 [VM 的高性能高级存储和托管磁盘](https://docs.microsoft.com/zh-cn/azure/virtual-machines/windows/premium-storage)。 [跳转到主要内容](#main-content) # Microsoft Azure 上的 Tableau Server 部署选项 ## 这是存档内容 继续支持公有云部署,但不再更新第三方公有云部署的内容。 有关最新的 Tableau Server 部署内容,请参见 Tableau Server 帮助的[部署](https://help.tableau.com/current/server/zh-cn/install.htm)部分。 对于那些有权访问的客户,我们建议使用 Tableau Cloud。有关更多详细信息,请参见: - [Tableau Cloud 手动迁移指南](https://help.tableau.com/current/guides/migration/zh-cn/emg_intro.htm) - [适用于管理员的 Tableau Cloud 试用版](https://help.tableau.com/current/server-linux/zh-cn/install.htm) - [Tableau Cloud:管理员入门](https://www.tableau.com/zh-cn/learn/get-started/online-admin) ## 简介 您可以通过以下方式在 Microsoft Azure 上部署 Tableau Server:通过自行部署、使用 Azure 快速启动在运行 Linux 的单个 VM 上部署,或通过 Azure Marketplace VM 上预先配置的部署进行部署。下表显示了每个选项之间的差异。
Tableau ServerAzure VM 自行部署Azure 快速启动Azure Marketplace VM
生产准备就绪指示成功的复选标记图标。红色 X 图标。红色 X 图标。
在不替换 VM 的情况下升级 Tableau指示成功的复选标记图标。指示成功的复选标记图标。红色 X 图标。
在 Linux 上安装指示成功的复选标记图标。指示成功的复选标记图标。红色 X 图标。
在 Windows 上安装指示成功的复选标记图标。红色 X 图标。指示成功的复选标记图标。
纵向扩展指示成功的复选标记图标。指示成功的复选标记图标。指示成功的复选标记图标。
横向扩展(添加节点)指示成功的复选标记图标。指示成功的复选标记图标。红色 X 图标。
Active Directory 支持指示成功的复选标记图标。红色 X 图标。指示成功的复选标记图标。
BYOL 许可证指示成功的复选标记图标。指示成功的复选标记图标。指示成功的复选标记图标。
下面详细介绍了每个部署选项: - **自行部署到 Azure VM** – 提供最大的灵活性和多种选项以根据您的环境自定义 Tableau Server。如果您启动的系统将仅在短时间内运行(即用于测试或评估用途),请改用“Azure Marketplace VM 上的 Tableau Server”。 对于开始简单但以后可能需要扩展的开发、测试和生产环境,建议将 Tableau Server 自行部署到 Azure VM。 有关自行部署的详细信息,请参见[在 Microsoft Azure 上自行部署单个 Tableau Server](https://help.tableau.com/current/server/zh-cn/ts_azure_single_server.htm)。有关在分布式环境中进行部署的详细信息,请参见[在分布式环境中向 Microsoft Azure 自行部署 Tableau Server](https://help.tableau.com/current/server/zh-cn/ts_azure_multiple_server.htm)。 - **Azure 快速启动上的 Tableau Server** – 使用 Azure 资源管理器模板在运行 CentOS、Redhat Enterprise Linux (RHEL) 或 buntu Server 的独立 Azure VM 上安装 Tableau Server,并包含所有必需的基础结构元素。此部署策略可让您快速上手并限制整体成本。 对于开始简单但以后可能需要纵向扩展或横向扩展的开发、测试和生产环境,建议使用“Azure 快速启动上的 Tableau Server”。您可以使用自己的许可证 (BYOL) 或[联系销售人员](https://www.tableau.com/zh-cn/about/contact#contact_sales)获取产品密钥。您可以升级 Tableau Server 而不必替换 VM。有关使用“快速启动”安装 Tableau Server 的详细信息,请参见 Microsoft 网站上的 [Tableau Server Linux 单节点](https://azure.microsoft.com/en-us/resources/templates/tableau-server-single-node/)。 - **Azure Marketplace VM** – 基于预先配置的服务器映像在 Microsoft Azure 上设置并运行 Tableau Server 的最快方式是通过 Azure Marketplace。此选项会在运行 Windows 的 Azure VM 上安装 Tableau Server。Azure Marketplace 中的 Tableau Server 仅通过自带许可证 (BYOL) 模型提供。在 Azure VM 上启动并运行 Tableau Server 后,您可以购买 Tableau Server 许可证并激活关联的产品密钥。建议将 Tableau Server Azure Marketplace VM 仅用于快速测试和概念验证环境。 安装 Azure Marketplace VM 1. 转到 Azure 门户 Marketplace 并搜索“Tableau Server”。 2. 选择“Tableau Server”并“创建”映像。 3. 输入您的订阅信息,并选择资源组和部署位置。 4. 选择虚拟机大小。 5. 配置可选功能,例如磁盘类型、存储帐户、子网等。 6. 验证服务器配置。 7. 部署 Tableau Server。 有关 Tableau Server 许可选项的详细信息,请参见[许可概述](https://help.tableau.com/current/server/zh-cn/license_server_overview.htm)。 [跳转到主要内容](#main-content) # Microsoft Azure 拓扑上的 Tableau Server ## 这是存档内容 继续支持公有云部署,但不再更新第三方公有云部署的内容。 有关最新的 Tableau Server 部署内容,请参见 Tableau Server 帮助的[部署](https://help.tableau.com/current/server/zh-cn/install.htm)部分。 对于那些有权访问的客户,我们建议使用 Tableau Cloud。有关更多详细信息,请参见: - [Tableau Cloud 手动迁移指南](https://help.tableau.com/current/guides/migration/zh-cn/emg_intro.htm) - [适用于管理员的 Tableau Cloud 试用版](https://help.tableau.com/current/server-linux/zh-cn/install.htm) - [Tableau Cloud:管理员入门](https://www.tableau.com/zh-cn/learn/get-started/online-admin) ## 简介 在 Microsoft Azure 上部署 Tableau Server 时,您可以选择 Tableau Desktop 和 Tableau Server 在 Microsoft Azure 虚拟机 (VM) 上的集成程度和深度。您可以使用 Tableau Desktop 及其从数据源中提取数据的能力来充当数据和 Tableau Server 之间的纽带。根据您的需求,或者如果 Microsoft Azure 中已经有大量数据,您可能会改为选择将全部 Microsoft Azure 服务与 Tableau Server 结合使用。下图显示了与 Tableau Desktop 和 Tableau Server 的数据源集成。 ![通过 Tableau Desktop 和基于云的虚拟机将原始数据转换为用户访问数据的流程图。](/tableau/current/zh-cn/server/zh-cn/Img/tableau_cloud_topology.png) 在下图中,您的所有数据都托管在 Microsoft Azure 上。您可以分析以安全、可扩展的方式管理的结构化和非结构化数据。您可以利用仅位于 Microsoft Azure 上的数据、位于 Microsoft Azure 外部的非托管数据或者两者的组合。这种灵活性可以大大改善组织为本地数据向云的迁移提供支持的能力,因为两种数据可受到平等的支持。 ![该图表说明了使用来自 Azure 的数据进行数据收集、存储、分析和可视化的过程。](/tableau/current/zh-cn/server/zh-cn/Img/tableau_azure_data_sources.png) [跳转到主要内容](#main-content) # mutualSSLSettings 实体 在配置相互 SSL 之前,请查看[针对与来往 Tableau Server 的外部 HTTP 流量配置 SSL](https://help.tableau.com/current/server/zh-cn/ssl_config.htm)。 `mutualSSLSettings` 实体将合并 SSL 和相互 SSL 配置。相互 SSL 要求已启用并正确配置外部 SSL。 TSM 实体使用 JSON 和键值对。使用下面的配置文件模板创建一个 .json 文件。为适用于您的环境的相应键指定值,然后使用以下命令将 .json 文件传递到 Tableau Server: `tsm settings import -f ` `tsm pending-changes apply` 如果待定更改需要重新启动服务器,`pending-changes apply` 命令将显示一个提示,告知您将进行重新启动。即使服务器已停止,此提示也会显示,但在这种情况下不会重新启动。您可以使用 `--ignore-prompt` 选项隐藏提示,但这样做不会改变重新启动行为。如果更改不需要重新启动,则会在不提示的情况下应用更改。有关详细信息,请参见[tsm pending-changes apply](https://help.tableau.com/current/server/zh-cn/cli_pending-changes.htm#pending-changes-apply)。 ## 配置模板 使用此模板配置相互 SSL 设置。 **重要信息:**所有实体选项均区分大小写。 有关配置文件、实体和密钥的更多说明,请参见[配置文件示例](https://help.tableau.com/current/server/zh-cn/config_file_example.htm)。 { "configEntities": { "mutualSSLSettings": { "\_type": "mutualSSLSettingsType", "sslEnabled": true, "proxyLogin": false, "clientCertRequired": true, "caCertFile": "required", "keyFileName": "required", "keyPassphrase": "", "chainFile": "", "revocationFile": "", "redirect": false, "fallbackToPassword": true, "protocols": "", "cipherSuite": "", "forceHttpsForPublicEmbed": false } } } ## 配置文件参考 sslEnabled 启用 SSL。这是启用相互 SSL 的先决条件。 clientCertRequired (MutualSSL) 设置为 true 以启用相互 SSL 身份验证。设置为 false 以禁用。 caCertFile (MutualSSL) 必需。 针对双向 SSL 指定 CA 颁发的证书文件。文件路径必须可被 Tableau Server 读取。 certFileName 指定文件,该文件包含构成服务器证书链的一连串 PEM 编码 CA 证书。 或者,为了方便起见而将 CA 证书直接附加到服务器证书时,引用的文件可以与 caCertFile 相同。 keyFileName 如果密钥未与证书合并,请使用此配置密钥指向密钥文件。如果您具有 RSA 和 DSA 私钥,则可以并行配置两者(例如,用于也允许使用 DSA 密码)。 keyPassphrase 可选。证书文件的密码。您输入的密码将在空闲时加密。 **注意:**如果创建包含密码的证书密钥文件,则无法为 SAML 重用 SSL 证书密钥。 revocationFile 指定 SSL CA 证书吊销列表 (.crl) 文件的文件路径。 重定向 默认值:true。指定 Tableau Server 是否应将 http 请求作为 https 请求重定向到适当的端点。 clientCertMapping (MutualSSL) 指定用于从证书中检索用户名的方法。 接受的值:`ldap`、`upn`、`cn` - 对于使用本地身份验证的服务器,默认设置为 `upn`(用户主体名称)。 - 如果将 Tableau Server 身份验证配置为使用 Active Directory (AD),则默认值为`ldap`(轻型目录访问协议)。这告诉服务器转到 AD 来验证用户,并忽略证书中的名称。 您可以针对任一身份验证类型设置 `cn`,以使用证书中的主题 DN 中的 CN。 有关详细信息,请参见[在相互身份验证过程中将客户端证书映射到用户](https://help.tableau.com/current/server/zh-cn/ssl_mutual_mapping_username.htm)。 fallbackToPassword (MutualSSL) 设置为 true,以在相互 SSL 身份验证失败的情况下,可以让用户选择通过其用户名和密码来登录 Tableau Server。设置为 false 可以禁止此后备选项。 协议 列出想要允许或拒绝的传输层安全性 (TLS) 协议版本。 默认值:`"all -SSLv2 -SSLv3"` 但是,我们建议您使用以下设置: `"all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1"` 有关详细信息,请参见[tsm security external-ssl enable](https://help.tableau.com/current/server/zh-cn/cli_security_tsm.htm#external-ssl-enable)。有关一般信息,请参见 Apache 联机文档。 cipherSuite 列出密码以允许或不允许使用 SSL。 默认值:`"HIGH:MEDIUM:!aNULL:!MD5:!RC4:!3DES:!CAMELLIA:!IDEA:!SEED"` 请参见 [OpenSSL 密码](https://www.openssl.org/docs/man1.0.2/man1/ciphers.html)页面,了解密码列表格式。更改此选项时要小心。默认值不允许不再被视为足够安全的密码。 proxyLogin 默认值:false。指明 Tableau Server 仅在登录时使用 SSL 代理。它控制服务器针对登录 API 向 Tableau Desktop 进行报告的协议。 forceHTTPForPublicEmbed 默认值:false。强制嵌入视图的代码使用 SSL。 [跳转到主要内容](#main-content) # OAuth 连接 Tableau Server 支持为多种不同的连接器使用 OAuth。在多数情况下,OAuth 功能不需要在 Tableau Server 上进行额外配置。 从 Tableau 中,当用户通过使用 OAuth 的连接器登录到数据时,用户将被重定向到身份验证提供程序的登录页面。用户提供凭据并授权 Tableau 访问其数据后,身份验证提供程序会向 Tableau 发送**访问令牌**,该令牌唯一标识 Tableau 和用户。此访问令牌用于代表用户访问数据。有关详细信息,请参见下面的 [OAuth 进程概述](#Overview)。 使用基于 Oauth 的连接可提供以下好处: - **安全:**您的数据库凭据从不会被 Tableau Server 知道或存储在其中,并且访问令牌只能由 Tableau 代表用户使用。 - **方便:**不必在多个位置嵌入您的数据源 ID 和密码,您可以对访问特定数据提供程序的所有已发布工作簿和数据源使用为该数据提供程序提供的令牌。 **注意:**对于 Google BigQuery 数据的实时连接,每个工作簿 Viewer(查看者)都可以拥有标识用户的唯一访问令牌,而不是共享单个用户名和密码凭据。 ## OAuth 进程概述 下列步骤介绍 Tableau 环境中调用 OAuth 过程的一个工作流。 1. 用户执行的操作需要访问基于云的数据源。 例如,您打开发布到 Tableau Server 的工作簿。 2. Tableau 将用户定向到云数据提供程序的登录页面。发送给数据提供程序的信息将 Tableau 标识为请求站点。 3. 当用户登录到数据时,提供程序会提示用户确认其授权 Tableau Server 访问数据。 4. 用户确认后,数据提供程序会向 Tableau Server 发送访问令牌。 5. Tableau Server 向用户显示工作簿和数据。 ![您的笔记本电脑、Tableau Server 和数据库之间的数据流程图。](/tableau/current/zh-cn/server/zh-cn/Img/protected_auth_server.png) **注意**:Tableau Cloud 2025.2(2025 年夏季)版本中新增了对 OAuth 连接的一次性刷新令牌(有时称为一次性刷新令牌、滚动刷新令牌或刷新令牌轮换)的支持,并在 Tableau Server 2025.3 版本中添加了支持(如果数据源提供商的 IDP 支持)。这些令牌在 Tableau Bridge 与 Tableau Cloud 的连接上尚不受支持。如果为连接使用外部 OAuth 配置,请参见 GitHub 中的 [OAuth 配置和使用文档](https://tableau.github.io/connector-plugin-sdk/docs/oauth "OAuth 配置文档")了解详细信息。 下列用户工作流可以使用 OAuth 进程: - 从 Tableau Desktop 或从 Tableau Server 创建工作簿并连接到数据源。 - 从 Tableau Desktop 发布数据源。 - 从诸如 Tableau Mobile 或 Tableau Desktop 等批准的_客户端_登录Tableau Server。 ## 默认已保存凭据连接器 _已保存凭据_是指 Tableau Server 存储 OAuth 连接的用户令牌的功能。这允许用户将其 OAuth 凭据保存到其在 Tableau Server 上的用户配置文件。保存凭据后,当他们随后访问连接器进行发布、编辑或刷新时,将不会收到提示。 **注意**:在 Web 上编辑 Tableau Prep 流程时,系统可能仍会提示您重新进行身份验证。 默认情况下,以下连接器使用已保存凭据,不需要在 Tableau Server 上进行额外配置。 - Anaplan - Box - Dropbox - Esri ArcGIS Server - Google Ads - LinkedIn Sales Navigator - Marketo - OneDrive 和 SharePoint Online(从 2022.3 开始需要额外配置) - Oracle Eloqua - ServiceNow ITSM - Snowflake - 使用“私有链接”需要额外的配置。有关详细信息,请参见阅 Snowflake 网站上的[为合作伙伴应用程序配置 Snowflake OAuth](https://docs.snowflake.net/manuals/user-guide/oauth-partner.html#configure-snowflake-oauth-for-partner-applications)和[在 Tableau Server 上为 Snowflake 连接配置 OAuth](https://help.tableau.com/current/server/zh-cn/config_oauth_snowflake.htm)。 服务器管理员进行额外的配置后,以下连接器可以使用已保存凭据。 - Amazon Athena 有关详细信息,请参见 Tableau Desktop 帮助中的[将您自己的身份提供程序与 Amazon Athena 结合使用](https://help.tableau.com/current/pro/desktop/zh-cn/amazon_athena_idp.htm)。 - Azure Data Lake Storage Gen2、Azure Synapse、Azure SQL 数据库、Databricks、OneDrive 和 SharePoint Online 以及 SharePoint 列表 (JDBC) 有关详细信息,请参见[为 Oauth 和现代身份验证配置 Azure AD](https://help.tableau.com/current/server/zh-cn/config_oauth_azure_ad.htm). - Dremio 有关详细信息,请参见[为 Dremio 设置 OAuth](https://help.tableau.com/current/server/zh-cn/config_oauth_dremio.htm)。 - Google Analytics、Google BigQuery、Google BigQuery (JDBC)、Google Drive 有关详细信息,请参见[为 Google 设置 OAuth](https://help.tableau.com/current/server/zh-cn/config_oauth_google.htm)。 **注意:**如果 Tableau Server 未列在 Google 管理控制台的“Accessed Apps”(已访问应用)列表中,您可以使用其客户端 ID 手动将新应用添加到列表中。若要创建客户端 ID,请参见[将 Google OAuth 更改为已保存凭据](https://help.tableau.com/current/server/zh-cn/config_oauth_google.htm)。 - Intuit QuickBooks Online 有关详细信息,请参见[为 Intuit QuickBooks Online 设置 OAuth](https://help.tableau.com/current/server/zh-cn/config_oauth_qbo.htm)。 OneDrive 和 SharePoint Online(从 2022.3 开始) 有关详细信息,请参见[为站点配置自定义 OAuth](https://help.tableau.com/current/server/zh-cn/config_oauth_azure_ad.htm#custom) - Salesforce 有关详细信息,请参见[将 Salesforce.com OAuth 更改为已保存凭据](https://help.tableau.com/current/server/zh-cn/config_oauth_sfdc.htm)。 - Salesforce CDP 有关详细信息,请参见[将 Tableau Server 连接到 Salesforce Data Cloud](https://help.tableau.com/current/server/zh-cn/config_oauth_sfdc_cdp.htm)。 - Snowflake 从版本 2024.2 开始。有关详细信息,请参见[将 Snowflake OAuth 更改为已保存凭据](https://help.tableau.com/current/server/zh-cn/config_oauth_snowflake.htm)。 所有支持的连接器列在 Tableau Server 上用户的“我的帐户设置”页面上的“数据源的已保存凭据”下。用户针对每种连接器管理其已保存凭据。 ![数据源已保存凭证的列表,其中包含用于清除所有已保存凭据的选项。](/tableau/current/zh-cn/server/zh-cn/Img/oauth-savedcreds.png) ### 数据连接访问令牌 可以根据包含数据连接的访问令牌嵌入凭据,以允许在初始身份验证过程结束之后直接访问。除非 Tableau Server 用户删除访问令牌或数据提供程序撤消它,否则它会一直有效。 可能超出了数据源提供程序允许的访问令牌数。在这种情况下,当用户创建新令牌时,数据提供程序将使用自上次访问以来已经过去的时间长度来决定使哪个令牌失效以便为新令牌腾出空间。 ### 批准的客户端身份验证的访问令牌 默认情况下,在用户第一次登录时提供其凭据后,Tableau Server站点允许用户直接从批准的 Tableau 客户端访问其站点。此类型的身份验证还使用 OAuth 访问令牌安全地存储用户的凭据。 有关详细信息,请参见[禁用自动客户端身份验证](https://help.tableau.com/current/server/zh-cn/devices_connected_credentials.htm)。 ## 默认托管密钥链连接器 _托管密钥链_是指提供商为 Tableau Server 生成 OAuth 令牌并由同一站点中的所有用户共享的功能。当用户首次发布数据源时,Tableau Server 会提示用户输入数据源凭据。Tableau Server 将凭据提交到数据源提供程序,该提供程序将返回 OAuth 令牌供 Tableau Server 代表用户使用。在后续发布操作中,使用 Tableau Server 为同一类和用户名存储的 OAuth 令牌,以便不会提示用户输入 OAuth 凭据。如果数据源密码发生更改,则重复上述过程,并将旧令牌替换为 Tableau Server 上的新令牌。 默认托管密钥链连接器不需要在 Tableau Server 上进行额外的 OAuth 配置: - Google Analytics、Google BigQuery 和 Google Sheets(在 Tableau 版本 2022.1 中已弃用) - Salesforce ### 令牌限制和存储 Google 的每个客户端应用程序有每个用户 50 个令牌的限制(在此方案中,Tableau Server 是客户端应用程序)。由于 OAuth 令牌存储在 Tableau Server 上并由用户重用,因此用户不太可能超过令牌限制。 当存储在 Tableau Server 上时,会对所有用户令牌进行静态加密。有关详细信息,请参见[管理服务器密文](https://help.tableau.com/current/server/zh-cn/security_secret_storage.htm)。 ### 移除未使用的密钥链记录 托管密钥链记录包含连接属性,如 dbClass、username 和 OAuth secret 属性。给定站点的所有托管密钥链记录都将合并、加密并存储在 PostgreSQL 中。 即使对于已移除的工作簿和数据源,也会保留记录。随着时间的推移,这些记录会增长到很大,从而可能导致问题。 我们建议以常规维护任务的形式定期清除未使用的密钥链记录。您可以查看每个站点上存储的记录和未使用的记录数。您还可以删除未使用的记录。 ![用于管理已保存凭据密钥链的对话框。该对话框包含一个显示未使用的密钥链数量的选项和一个删除它们的按钮。](/tableau/current/zh-cn/server/zh-cn/Img/oauth-purge-managed-keys.png) 若要访问“托管密钥链清理”,请登录到 Tableau Server 管理页面,导航到要删除未使用的记录的站点,然后单击“设置”。 ### 托管密钥链的方案限制 将托管密钥链 OAuth 与 Tableau Server 结合使用时,有三种不受支持的方案: - 在实时连接上提示输入 OAuth 凭据。在包含托管密钥链 Oauth 的实时连接上,用户必须嵌入凭据 - 在 Tableau Server 上编辑 OAuth 数据源连接 - Web 制作 ### 将托管密钥链转换为已保存凭据 通过将 Tableau Server 配置为每个连接器使用 OAuth 客户端 ID 和密文,可以将使用托管密钥链的连接器转换为使用已保存凭据。通过将这些连接器转换为已保存凭据,用户将能够在 Tableau Server 上的“我的帐户设置”页面上管理每种连接器类型的凭据。此外,还支持实时连接提示、编辑连接和 Web 制作。 ## 为站点配置自定义 OAuth 对于一部分连接器,您可以通过配置自定义 OAuth 客户端来配置站点级别 OAuth。有关详细信息,请参见以下主题之一: - 对于 Azure Data Lake Storage Gen2、Azure SQL Database、Azure Synapse、Databricks、OneDrive 和 SharePoint Online 以及 SharePoint 列表 (JDBC),请参见[为站点配置自定义 OAuth](https://help.tableau.com/current/server/zh-cn/config_oauth_azure_ad.htm#custom)。 - 对于 Dremio,请参见[为 Dremio 设置 OAuth](https://help.tableau.com/current/server/zh-cn/config_oauth_dremio.htm)。 - 对于 Google Analytics、Google BigQuery、Google Sheets(在 Tableau 版本 2022.1 中已弃用),请参见[为站点配置自定义 OAuth](https://help.tableau.com/current/server/zh-cn/config_oauth_google.htm#custom)。 - 对于 Salesforce,请参见[为站点配置自定义 OAuth](https://help.tableau.com/current/server/zh-cn/config_oauth_sfdc.htm#custom)。 - 对于 Salesforce CDP,请参见[将 Tableau Server 连接到 Salesforce Data Cloud](https://help.tableau.com/current/server/zh-cn/config_oauth_sfdc_cdp.htm#custom)。 - 对于 Snowflake,请参见[选项 2:按站点为 Snowflake 连接配置 OAuth](https://help.tableau.com/current/server/zh-cn/config_oauth_snowflake.htm#custom)。 ## 此部分中的其他文章 [跳转到主要内容](#main-content) # OAuth 连接疑难解答 本主题提供相关信息,帮助解决在配置 Oauth 数据连接时可能发生的问题。 ## 冲突错误 在某些情况下,用户在尝试使用 OAuth 连接时可能会收到错误。错误消息的第一句是: 服务器遇到内部错误或配置错误,无法完成您的请求。 此错误指示需要将 Tableau Server 的完全限定域名 (FQDN) 添加到 Tableau Server 上的允许列表重定向键中。 当用户按本地主机名 (https://tableau) 访问 Tableau Server ,并且 OAuth 数据提供程序响应公共 DNS 名称 (https://data.example.com) 时,Tableau Server 必须将外部 FQDN 与本地服务器名称关联。本地主机名是用户从内部网络访问 Tableau Server 时输入的 URL 中的服务器名称。 若要修复此错误,请使用 `oauth.whitelisted.redirect_to_origin_host` 键选项运行 [tsm configuration set](https://help.tableau.com/current/server/zh-cn/cli_configuration_tsm.htm#TSMSet)。 此键采用值对 `"internal_host,FQDN1,FQDN2"`。例如,以下命令将本地主机名设置为 _tableau_,将 FQDN 设置为 _tableau.example.com_: `tsm configuration set -k oauth.whitelisted.redirect_to_origin_host -v "tableau,tableau.example.com"` `tsm pending-changes apply` 在使用多个公共 URL 访问内部 Tableau Server 的情况下,向命令中添加其他 FQDN,用逗号分隔,例如: `tsm configuration set -k oauth.whitelisted.redirect_to_origin_host -v "tableau,tableau.example.com,tableau2.example.com"` 如果需要编辑现有允许列表重定向配置,则必须输入完整的映射集。不能截断或追加现有配置键。 [跳转到主要内容](#main-content) # OpenID Connect 您可以将 Tableau Server 配置为支持为单点登录 (SSO) 使用 OpenID Connect。OIDC 是一种标准身份验证协议,它使用户能够登录到诸如 Google 或 Salesforce 等身份提供程序 (IdP)。用户成功登录到其 IdP 后,将会自动登录到 Tableau Server。 配置 OIDC 的过程包含若干步骤。本节中的主题提供有关将 Tableau Server 与 OIDC 一起使用的一般信息,并提供用于配置 IdP 和 Tableau Server 的顺序。 **注意:** 除非另有说明,否则有关 OIDC 身份验证的信息适用于在 Tableau Server 设置期间配置的 OIDC 身份验证,或适用于使用[身份池](https://help.tableau.com/current/server/zh-cn/identity_pools.htm)配置的 OIDC 身份验证。 ## 身份验证概述 本部分介绍 Tableau Server 的 OpenID Connect (OIDC) 身份验证过程。 ![说明 Tableau Server、客户端和 OpenID Connect 之间的交互的图表。](/tableau/current/zh-cn/server/zh-cn/Img/openid_auth_overview.png) 1.用户尝试从客户端计算机登录到 Tableau Server。 2.Tableau Server 将身份验证请求重定向到 IdP 网关。 3.用户收到凭据提示,并成功向 IdP 进行验证。IdP 做出响应,并将重定向 URL 返回到 Tableau Server。重定向 URL 中包括用户的授权代码。 4.客户端被重定向到 Tableau Server,并提供授权代码。 5\. Tableau Server 将客户端的授权代码连同其自己的客户端凭据一起提供给 IdP。Tableau Server 也是 IdP 的客户端。此步骤旨在防止假冒或中间人攻击。 6.IdP 将访问令牌和 ID 令牌返回给 Tableau Server。 - JSON Web 令牌 (JWT) 验证:默认情况下,Tableau 会对 IdP JWT 执行验证。在发现过程中,Tableau 将在 IdP 配置发现文档中检索 `jwks_uri` 指定的公钥。Tableau 将验证 ID 令牌是否过期,并验证 JSON Web 签名 (JWS)、颁发者 (IdP) 和客户端 ID。您可以在 OpenID 文档中详细了解 JWT 进程。[10.签名和加密](http://openid.net/specs/openid-connect-core-1_0.html#SigEnc)以及 IETF 建议标准 [JSON Web 令牌](https://tools.ietf.org/html/rfc7519)。我们建议一直启用 JWT 验证,除非 Idp 不支持。 - ID 令牌是用户的一组属性密钥对。该密钥对称为_声明_。下面是用户的一个示例 IdP 声明: "sub" : "7gYhRR3HiRRCaRcgvY50ubrtjGQBMJW4rXbpPFpg2cptHP62m2sqowM7G1LwjN5" "email" : "alice@example.com", "email\_verified" : true, "name" : "Alice Adams", "given\_name" : "Alice", "family\_name" : "Adams", "phone\_number" : "+359 (99) 100200305", "profile" : "https://tableau.com/users/alice" 7\. Tableau Server 从 IdP 声明中识别用户,并完成步骤 1 中的身份验证请求。 Tableau Server 通过匹配“sub”(使用者标识符)来确定正确的用户帐户,从而搜索存储在存储库中的用户帐户记录。如果没有用户帐户与 sub 声明值存储在一起,则 Tableau Server 将在存储库中搜索与 IdP 中的“email”匹配的用户名。当用户名匹配成功时,Tableau Server 会将相应的 sub 声明存储到存储库中的用户记录中。Tableau Server 可以配置为此过程使用不同的声明。请参见[使用 OpenID Connect 的要求](https://help.tableau.com/current/server/zh-cn/openid_auth_requirements.htm)。 8\. Tableau Server 为用户授权。 ## Tableau 如何使用 OpenID Connect OpenID Connect 是一种灵活的协议,对于服务提供商(本文中为 Tableau Server)和 IdP 之间交换的信息,此协议支持许多选项。以下列表提供了有关 Tableau Server OIDC 的实现的详细信息。这些详细信息可以帮助您了解 Tableau Server 所发送和需要的信息类型,以及如何配置 IdP。 - Tableau Server 仅支持 OpenID 授权代码流程,如 OpenID Connect 文档中的 [OpenID Connect 最终规范](http://openid.net/specs/openid-connect-core-1_0.html)中所述。 - Tableau Server 依赖于使用发现或提供程序 URL 来检索 OpenID 提供程序元数据。或者,您可以在 Tableau Server 上托管静态发现文档。有关详细信息,请参见[针对 OpenID Connect 配置 Tableau Server](https://help.tableau.com/current/server/zh-cn/openid_auth_server_config.htm)。 - Tableau Server 支持 OpenID Connect 规范中指定的 `client_secret_basic` 和 `client_secret_post` 客户端身份验证。 - 在 `id_token` 属性的 JOSE 标头中需要 Tableau Server `kid` 值。此值与 JWK 集文档中发现的关键字之一匹配,此文档的 URI 由 OpenID 发现文档中的 `jwks_uri` 值指定。即使 JWK 集文档中只有一个关键字,也必须存在 `kid` 值。 - Tableau Server确实包括 OpenID 支持,支持 JWK `x5c` 参数或支持使用 X.509 证书。 - 默认情况下,Tableau Server 会忽略代理设置并将所有 OpenID 请求直接发送到 IdP。 如果 Tableau Server 配置为使用转发代理连接到 Internet,则您必须按照[针对 OpenID Connect 配置 Tableau Server](https://help.tableau.com/current/server/zh-cn/openid_auth_server_config.htm)中所述进行其他更改。 ## OIDC 声明中的用户属性 从 Tableau Sever 2026.2 开始,在配置并启用功能设置后,您可以在登录期间将身份提供程序 (IdP) 发送的 JSON Web 令牌 (JWT) 中的用户属性声明传递到 Tableau Cloud。这些用户属性可与 Tableau 的用户属性函数 `(USERATTRIBUTE()`, `USERATTRIBUTEINCLUDES()`) 结合使用,动态控制和自定义内容。Tableau 验证声明,然后启用对内容的访问。 有关详细信息,请参见[使用用户属性自定义和控制数据访问](https://help.tableau.com/current/server/zh-cn/openid_auth_server_config.htm#user_attributes)。 **示例 JWT** "sub" : "7gYhRR3HiRRCaRcgvY50ubrtjGQBMJW4rXbpPFpg2cptHP62m2sqowM7G1LwjN5" "email" : "alice@example.com", "email\_verified" : true, "name" : "Alice Adams", "given\_name" : "Alice", "family\_name" : "Adams", "phone\_number" : "+359 (99) 100200305", "profile" : "https://tableau.com/users/alice", "region" : \["South", "South West"\] ## 此部分中的其他文章 [跳转到主要内容](#main-content) # OpenID Connect 疑难解答 使用以下主题在 Tableau Server 中排查 OpenID Connect (OIDC) 问题。 许多身份提供程序支持 OIDC 协议。OIDC 协议是一个开放和灵活的标准,因此,并非所有标准实现都是相同的。管理员在为 OIDC 配置 Tableau Server 时遇到的大多数问题是不同身份提供程序实现 OIDC 的结果。如果您在设置 OIDC 以及 Tableau Server 时遇到错误,我们建议您使用 IdP 来解决它们。 ## 启用增强的 OpenID 日志记录 为了有效地解决 Tableau Server 中的 OpenID Connect 问题,请使用以下 TSM 命令将日志记录级别设置为调试,并使用 `vizportal.openid.full_server_request_logging_enabled` 配置键将 OpenID 的完整日志记录设置为 `true`,从而启用增强的日志记录: `tsm configuration set -k vizportal.log.level -v debug` `tsm configuration set -k vizportal.openid.full_server_request_logging_enabled -v true` `tsm pending-changes apply` 完成故障排除后,我们建议将两个配置键的值设置回其默认值,以限制在日志中收集的信息并减少日志文件大小。有关将配置键重置为默认值的详细信息,请参见[将配置键重置为默认值](https://help.tableau.com/current/server/zh-cn/cli_configuration-set_tsm.htm#Reset2Default)。 **注意:**不支持[身份池](https://help.tableau.com/current/server/zh-cn/identity_pools.htm)的增强日志记录。不过,支持 `vizportal.log.level debug` 日志记录。 ## 从命令行登录 即使 Tableau Server 配置为使用 OIDC,但如果您使用 [tabcmd](https://help.tableau.com/current/server/zh-cn/tabcmd.htm)、[REST API](https://help.tableau.com/current/api/rest_api/en-us/help.htm) 或 [Tableau 数据提取命令行实用工具](https://help.tableau.com/current/pro/online/zh-cn/help.htm)(随 Tableau Desktop 提供)登录 Tableau Server,也不会使用 OIDC。 ## 登录失败 登录可能会失败,并出现以下消息: `Login failure: Identity Provider authentication unsuccessful for user . Failed to find the user in Tableau Cloud.` 此错误通常意味着 Tableau Server 中存储的用户名与 IdP 提供的用户名之间存在不匹配。若要修复此错误,请确保这些用户名匹配。例如,如果 Jane Smith 的用户名在 IdP 中存储为 `jsmith` ,那么它在 Tableau Server 中也必须存储为 `jsmith`。 ## 错误 69:"无法登录“ 当您尝试使用 Web 浏览器登录 Tableau Server 并收到错误时,可能会返回错误 69,“无法登录”。登录失败。请与 Tableau Server 管理员联系。" 返回此消息的 URL 是 `https://example.com/#/error/signin/69?redirectPath=%2`。 如果遇到此错误,请咨询 IDP 提供商,验证 IdP 是否需要 `client_secret_post`,而不是 `client_secret_basic`(Tableau 默认值)。 如果 IdP 需要 `client_secret_post`,则必须将 `vizportal.openid.client_authentication` 参数设置为 `client_secret_post`。 举例来说,如果收到此错误并且已针对 Salesforce IdP 配置了 OIDC,则必须设置 `vizportal.openid.client_authentication` 参数。 有关详细信息,请参见[tsm configuration set 选项](https://help.tableau.com/current/server/zh-cn/cli_configuration-set_tsm.htm)。 ## OpenID 错误日志 OpenID 身份验证在 Tableau Server 外部进行,因此,排查身份验证问题可能很困难。但是,Tableau Server 会记录登录尝试。可以创建日志文件的快照,并使用它们来排查问题。有关详细信息,请参见[Tableau Server 日志和日志文件位置](https://help.tableau.com/current/server/zh-cn/logs_loc.htm)。 **注意**:若要记录 OpenID 相关事件,必须使用[tsm configuration set 选项](https://help.tableau.com/current/server/zh-cn/cli_configuration-set_tsm.htm)将 `vizportal.log.level` 设置为 `debug`。 在未解压的日志文件快照内的以下文件中,检查 OpenID 错误: `\vizportal\vizportal-.log` ## 找不到用户 如果用户首次登录后“子”声明已更改,则可能会返回错误“找不到用户”。如果您在 vizportal 日志中看到以下内容,则可以验证此问题:`Possible conflicting or stale account: A different user already owns this account` 。 如果仍然出现此问题,请重置该用户或 Tableau Server 上所有用户的“子”声明。有关详细信息,请参见[重置用户标识符](https://help.tableau.com/current/server/zh-cn/openid_auth_changing_idp.htm#reset_sub)。 [跳转到主要内容](#main-content) # OpenID Connect 身份验证请求参数 从 Tableau Server 发送的 OpenID 身份验证请求使用本主题中列出的有限参数集传递信息。如果您的 OpenID IdP 需要不在以下列表中的参数,则它不兼容,因此无法与 Tableau Server 配合使用。 - `scope`。此值指定一个配置文件,该配置文件告诉 IdP 需要返回的用户信息。此值可由 Tableau Server 管理员配置。默认值为“openid 电子邮件配置文件”。有关详细信息,请参见本文档后面的[配置范围值](#configure-scope-value)。 - `response_type`。OpenID Connect 支持多个流程。此值告诉 IdP Tableau Server 所需要的流程。Tableau 仅支持授权代码流程,并且值始终设置为“代码”。 - `client_id`。此值指定服务器的 ID(“Tableau Server 配置”对话框中的提供程序客户端 ID),这使 IdP 能够知道请求来自哪里。注册服务时,它由 IdP 提供。此值可由 Tableau Server 管理员配置。 - `redirect_uri`。此值指定使用 OpenID Connect 对用户进行身份验证后 IdP 重定向到的 URL。URL 必须包括主机和协议(例如,`http://example.tableau.com`),但 Tableau 会提供 URL 端点。 - `nonce`:Tableau Server 生成一个 nonce 值来验证它所重定向到的客户端是否与从 IdP 中返回的实体匹配。 ## 配置 scope 值 `scope` 值向 IdP 指明 Tableau Server 所请求的有关用户的信息。默认情况下,Tableau Server 会发送值“openid 电子邮件配置文件”。这表明,Tableau 使用 OpenID 进行身份验证(必须始终包括这部分 `scope` 属性值),并且 Tableau Server 会在用户授权码交换期间请求用户配置文件和电子邮件信息。 如果此默认范围并不适合您的方案,您可以让 Tableau Server 请求有关用户的自定义信息。为此,您可以使用自定义配置文件配置 IdP(例如,像 "tableau-scope" 这样的内容)。然后,您可以使用自定义配置文件将 Tableau Server 配置为发送请求。 若要更改 Tableau Server 请求的 scope 值,请使用以下 TSM CLI 命令: `tsm authentication openid configure --custom-scope-name custom-scope-name` **注意:** - Tableau Server 会始终在范围值中包括 "openid"(即使您未在 `custom_scope` 设置中包括它也不例外)。 - TSM 身份验证配置命令仅适用于 Tableau Server 设置期间在 TSM 中配置的 OIDC 身份验证。若要更改身份池的 OIDC 身份验证配置,您可以通过 Tableau REST OpenAPI 使用[更新身份验证配置](https://help.tableau.com/current/api/rest_api/zh-cn/REST/TAG/index.html#operation/AuthnService_UpdateAuthConfiguration)端点。 [跳转到主要内容](#main-content) # openIDSettings 实体 在配置 OpenID 身份验证之前,请查看[使用 OpenID Connect 的要求](https://help.tableau.com/current/server/zh-cn/openid_auth_requirements.htm)。 使用下面的配置文件模板创建一个 json 文件。使用适当的值填充各个选项之后,使用以下命令传递 json 文件并应用设置: `tsm settings import -f path-to-file.json` `tsm pending-changes apply` 如果待定更改需要重新启动服务器,`pending-changes apply` 命令将显示一个提示,告知您将进行重新启动。即使服务器已停止,此提示也会显示,但在这种情况下不会重新启动。您可以使用 `--ignore-prompt` 选项隐藏提示,但这样做不会改变重新启动行为。如果更改不需要重新启动,则会在不提示的情况下应用更改。有关详细信息,请参见[tsm pending-changes apply](https://help.tableau.com/current/server/zh-cn/cli_pending-changes.htm#pending-changes-apply)。 ## 配置模板 使用此模板来配置 OpenID 设置。 **重要信息:**所有实体选项均区分大小写。 有关配置文件、实体和密钥的更多说明,请参见[配置文件示例](https://help.tableau.com/current/server/zh-cn/config_file_example.htm)。 完成 OIDC 的初始配置之后,使用 [tsm authentication openid ](https://help.tableau.com/current/server/zh-cn/cli_authentication_tsm.htm#TSMOIDC) 子类来设置其他值。 { "configEntities": { "openIDSettings": { "\_type": "openIDSettingsType", "enabled": true, "clientId": "required", "clientSecret": "required", "configURL": "required if staticFile value is not set", "staticFile": "required if configURL value is not set", "externalURL": "required" } } } ## 配置文件参考 以下列表包括可随 `"openIDSettings"` 实体集一起包括的所有选项。 \_type 必需。 请不要更改。 enabled 必需。 设置为 `true`。 clientId 必需。 指定 IdP 已分配给您的应用程序的提供程序客户端 ID。例如,`“laakjwdlnaoiloadjkwha"`。 clientSecret 必需。 指定提供程序客户端密码。这是 Tableau 用于验证来自 IdP 的响应的真实性的令牌。此值是密文,应妥善保管。 例如,`“fwahfkjaw72123="`。 configURL 必需。 指定提供程序配置 URL。如果不指定配置 URL,则删除此选项,并改为指定 `staticFile` 的路径和文件名。 staticFile 必需。 指定静态 OIDC 发现 JSON 文档的本地路径。如果不指定静态文件,则删除此选项,并改为指定 `configURL` 的 URL。 externalURL 必需。 服务器的 URL。这通常是您的服务器的公共名称,例如 `http://example.tableau.com`。 connectionTimeout 可选。 指定连接超时范围(以秒为单位)。默认值为 `10`。 readTimeout 可选。 指定读取超时范围(以秒为单位)。默认值为 `30`。 ignoreDomain 如果满足以下条件,请将此项设置为 `true`: - 您使用电子邮件地址作为 Tableau Server 中的用户名 - 您在 IdP 中配置了具有多个域名的用户 - 您想要从 IdP 中忽略 `email` 声明的域名部分 在继续之前,请检查由于将此选项设置为 `true` 而使用的用户名。可能会发生用户名冲突。如果发生用户名冲突,信息泄露的风险将很高。请参见[使用 OpenID Connect 的要求](https://help.tableau.com/current/server/zh-cn/openid_auth_requirements.htm)。 ignoreJWK 如果您的 IdP 不支持 JWK 验证,请将此项设置为 `true`。在这种情况下,我们建议使用相互 TLS 或另一种网络层安全协议向 IdP 验证通信的身份。默认值为 `false`。 customScope 指定可用于查询 IdP 的自定义范围用户相关值。请参见[使用 OpenID Connect 的要求](https://help.tableau.com/current/server/zh-cn/openid_auth_requirements.htm)。 idClaim 如果您的 IdP 不支持使用 `sub` 声明在 ID 令牌中唯一标识用户,请更改此值。您指定的 IdP 声明应包含单个唯一的字符串。 usernameClaim 将此值更改为组织将使用的 IdP 声明以与 Tableau Server 中存储的用户名匹配。 clientAuthentication 指定 OpenID Connect 的自定义客户端身份验证方法。 若要将 Tableau Server 配置为使用 Salesforce IdP,请将此值设置为 `client_secret_post`。 iFramedIDPEnabled 设置为 `true` 以允许 IdP 显示在 iFrame 中。IdP 必须禁用单击劫持保护才能允许进行 iFrame 演示。 [跳转到主要内容](#main-content) # Resource Monitoring Tool (RMT) 服务 Resource Monitoring Tool 有两个主要组件:Resource Monitoring Tool Master (RMT Server) 和 RMT 代理。 - RMT Master 是整理来自 Tableau Server 的数据并通过 Web 界面提供的地方。您还可以在此处配置 RMT、监控和分析 Tableau Server 的运行状况和性能。 - 代理在 Tableau Server 群集中的每个节点上运行,用于监视其性能和活动。 本主题介绍随 RMT 安装的服务。下表列出了 RMT Server 计算机上安装的服务,以及 RMT 代理计算机上安装的服务。
RMT Server 服务
名称用途日志文件位置

Windows:C:\Program Files\Tableau\Tableau Resource Monitoring Tool\master\logs\

Linux:/var/opt/tableau/tabrmt/master/logs

注意:有关日志文件的其他信息,请参见:Tableau Resource Monitoring Tool 日志文件。

说明
主机在安装期间使用并确保其他进程正在运行。Windows: host\YYYYMMDD.log

Linux:host/YYYMMDD.log

职责:
  • Process watcher:确保其他进程正在运行。

  • Config File Watche:检测并响应配置文件的更改。

后台程序处理从代理发送的信息并维护 RMT 收集的 postgres 数据。还提供管理命令行实用程序。根据处理的信息生成事件和通知。Windows:background\YYYYMMDD-pts.log

Linux:background/YYYYMMDD-pts.log

职责:
  • rmtadmin:为管理员提供命令行功能的命令行实用工具。

  • Agent Data Processing:处理来自各种代理的数据收集和处理

  • TS Status Polling:定期轮询 Tableau Server (TS) 状态,确保系统活跃且健康。

  • Incident Analysis:分析事件,例如错误、故障、达到不同度量的阈值。

  • Data Cleanup:负责清理旧数据。

  • Ad Hoc Graph Info Collection:按需收集数据以进行监控。

  • Notifications:管理发送警报和事件的通知。

  • Data Archiving(已禁用):涉及归档旧数据以释放资源或满足合规性。此功能目前已禁用。

Director一种协调过程,其主要职责之一是查询 Tableau Server 的许可证状态,并设置系统范围的状态。Windows:director\YYYYMMDD-pts.log

Linux:director/YYYYMMDD-pts.log

职责:
  • Cluster Status:监视服务器群集的运行状况和状态并设置系统范围的状态。

  • Licensing:查询 Tableau Server 的许可证状态。

  • Graph Scraping:提取数据用于监控和报告。可能有权访问服务器数据库。

  • Database Upgrade:处理数据库架构或版本的更新

  • Daily Aggregate Processing:执行每日处理任务,例如为报告或分析汇总数据。

Web运行 Web 服务器。提供用户界面。注册代理以收集信息Windows:web\YYYYMMDD-pts.log

Linux:web/YYYYMMDD-pts.log

职责:
  • Agent Registration:管理在 Tableau Server 上监控或收集数据的代理的注册。

  • Config UI:提供用于配置各种系统设置和参数的用户界面。

  • Performance / Activity/Content UI:为用户提供 UI 以查看系统中的性能指标、活动日志和内容相关数据。

PostgreSQL本地数据存储库Windows:pgsql\*.log and *.csv

Linux:pgsql/*.log and *.csv

 
RabbitMQ消息代理Windows:\master\logs\rabbitmq\*.log

Linux:master/logs/*.log

 
RMT 代理服务
名称用途日志文件位置

Windows:C:\Program Files\Tableau\Tableau Resource Monitoring Tool\master\logs\

Linux:/var/opt/tableau/tabrmt/master/logs

注意:有关日志文件的其他信息,请参见:Tableau Resource Monitoring Tool 日志文件。

说明
主机在安装期间使用并确保其他进程正在运行。Windows: host\YYYYMMDD.log

Linux:host/YYYYMMDD.log

职责:
  • Process watcher:确保其他进程正在运行。

  • Config File Watche:检测并响应配置文件的更改。

后台程序处理从代理发送的信息并维护 RMT 收集的 postgres 数据。还提供管理命令行实用程序。根据处理的信息生成事件和通知。Windows:background\YYYYMMDD-pts.log

Linux:background/YYYMMDD-pts.log

职责:
  • rmtadmin:为管理员提供命令行功能的命令行实用工具。

  • Log watcher:处理 Tableau Server 从日志发送的信息。

Web运行 Web 服务器。

向 Master 进行代理注册以发布数据。

Windows:web\YYYYMMDD-pts.log

Linux:web/YYYMMDD-pts.log

 

[跳转到主要内容](#main-content) # Tableau Resource Monitoring Tool 入门指南 本文将帮助您开始使用 Tableau Resource Monitoring Tool。它包含您在安装 Resource Monitoring Tool 之前需要准备的其他相关信息文章的链接,用于升级的链接以及其他有用资源的链接。 为了与我们公司的平等价值观保持一致,我们在可能的情况下更改了非包容性术语。由于在某些地方更改术语可能会导致重大更改,因此我们保留现有术语:因此,您可能会继续在 CLI 命令和选项、安装文件夹、配置文件和其他实例中看到这些术语。有关详细信息,请参见[“关于 Tableau 帮助”](https://help.tableau.com/current/tableau/zh-cn/about-tableau-help.htm)。 ## 安装之前 ### 与 Tableau Server 的产品兼容性 可以安装 Resource Monitoring Tool 以监视受支持的 Tableau Server 版本。 下表列出了 Resource Monitoring Tool (RMT) 和 Tableau Server 之间的版本兼容性:
RMT 版本操作系统支持Tableau Server 版本
2026.2.xWindows、Linux2024.2.x、2024.3.x、2025.1.x、2025.2.x、2025.3.x、2026.1.x、2026.2.x
2026.1.xWindows、Linux2024.1.x、2024.2.x、2024.3.x、2025.1.x、2025.2.x、2025.3.x、2026.1.x
2025.3.xWindows、Linux

2022.3.x、2023.1.x、2023.3.x、2024.2.x、2025.1.x、2025.3.x

2025.1.x、2025.2.xWindows、Linux

2022.3.x、2023.1.x、2023.3.x、2024.2.x、2025.1.x

2024.2.xWindows、Linux

2022.3.x、2023.1.x、2023.3.x、2024.2.x

2023.3.xWindows、Linux

2022.3.x,2023.1.x,2023.3.x

2023.1.xWindows、Linux

2022.3.x、2023.1.x

2022.3.xWindows、Linux

2022.3.x

### Resource Monitoring Tool Server (RMT Server) 和代理兼容性 通常,我们建议您安装相同版本的 RMT Server 和代理以确保它们兼容。如果您的代理使用的版本与 RMT Server 版本不兼容,则会记录严重事件。有关详细信息,请参见[代理事件](https://help.tableau.com/current/server/zh-cn/rmt-incidents-agents-unlicensed.htm)。 ### 概念和术语 熟悉 Resource Monitoring Tool 主题中使用的概念和术语。有关详细信息,请参见[概念](https://help.tableau.com/current/server/zh-cn/rmt-concepts.htm)。 ### 设置体系结构 Resource Monitoring Tool 有两个主要组件:Resource Monitoring Tool Server (RMT Server) 和代理。RMT Server 应安装在自己的计算机上,代理应安装在 Tableau Server 群集的每个节点上。有关设置体系结构的更多详细信息,请参见[安装 Tableau Resource Monitoring Tool](https://help.tableau.com/current/server/zh-cn/rmt-admin-installation.htm)。 Resource Monitoring Tool 设置的高级视图。此图显示了一个三节点 Tableau Server 群集。 ![该图说明了用于生产和开发/测试的主服务器和 Tableau 服务器群集之间的关系。](/tableau/current/zh-cn/server/zh-cn/Img/rmt-setup-architecture.png) ### Resource Monitoring Tool 的最低硬件要求和推荐配置 Resource Monitoring Tool 处理从 Tableau Server 安装收集的数据的所有处理、聚合、存储以及监视 Web 接口。对于生产用途,您在其上安装 Resource Monitoring Tool 的计算机应满足或超过最低硬件推荐配置。有关更多详细信息,请参见[Tableau Resource Monitoring Tool 的最低硬件要求和推荐配置](https://help.tableau.com/current/server/zh-cn/rmt-min-hardware-req.htm)。 ### Resource Monitoring Tool 的安装前检查清单 在安装 Resource Monitoring Tool 之前,请查看这些操作项目并完成任何必要的步骤:[安装前检查清单 - Tableau Resource Monitoring Tool](https://help.tableau.com/current/server/zh-cn/rmt-install-checklist.htm)。 ## 升级 Resource Monitoring Tool 有关如何升级 Resource Monitoring Tool 的说明,请参见[升级 Resource Monitoring Tool](https://help.tableau.com/current/server/zh-cn/rmt-admin-upgrade.htm)。 ## 疑难解答 在与支持人员联系之前,一定要查看我们的[排查 Tableau Resource Monitoring Tool 问题](https://help.tableau.com/current/server/zh-cn/rmt-faq.htm),了解常见问题的答案。 ## 此部分中的其他文章 [跳转到主要内容](#main-content) # Resource Monitoring Tool 升级常见问题解答 查找升级期间常见问题的答案。 ## 我可以在没有 root/管理员权限的情况下运行脚本吗? 当脚本通过安装程序自动运行时,安装程序具有所需的权限。对于手动执行,您需要 root (Linux) 或管理员 (Windows) ,因为脚本会检查服务状态、文件权限,并以 RMT 服务帐户身份运行命令。 ## 如果我不知道数据库密码该怎么办? 使用 **WARN** 跳过所有依赖于 PostgreSQL 的检查。脚本仍将运行所有其他检查。请与 Tableau 支持部门联系以获取密码。 ## 如何检索 tabrmtdb 数据库用户的密码? 您可以通过导航到 RMT Server 目录并运行适用于您的操作系统的命令来检索凭据: **对于 Windows**: `.\rmtadmin get db:username db:password` **对于 Linux:** `rmtadmin get db:username db:password` ## 是否可以在使用 RMT 时运行升级前检查? 可以。该脚本是只读的,可以随时安全地在生产系统上运行。 ## 如果升级后检查发现故障,该怎么办? 升级后检查绝不会阻止安装程序。报告中显示了故障。有些故障(例如“Broker unreachable”)是暂时的,可以自行解决。 ## 这些脚本是否与外部 PostgreSQL/RabbitMQ 兼容? 是的。升级后脚本会自动检测外部配置并相应地跳过本地检查。升级前脚本的数据库检查无论如何都需要 `--db-password`,因为它连接到内部 RMT 数据库。 ## 我可以在 RMT Server 和代理计算机上运行脚本吗? 可以。在 RMT Server 上使用 `--component master`,在代理上使用 `--component agent`。如果未指定,脚本会自动检测。 ## InstallerContext 在报告中是什么意思? 如果升级前检查在 Windows MSI 升级期间自动运行,则会设置 `-InstallerContext` 选项。这会将服务和端口检查(可能会报告已停止/禁用,因为安装程序已经中断服务)放宽到 **WARN**,并跳过孤立进程检查关卡 (#38a),以便安装程序可以管理进程生命周期本身。当您手动运行脚本时,这些检查将使用其正常严重程度。 [跳转到主要内容](#main-content) # RMT Server 初始化脚本选项 安装 RMT Server 后,您需要初始化服务器。默认情况下,运行初始化脚本时必须包括的唯一必需标志是 `--accepteula`。其他选项使您可以根据您的环境和企业的安全要求灵活地自定义安装。 \--accepteula 必需。 表示您已阅读并接受最终用户许可协议 (EULA) 的条款。 \-a <用户名> 可选。 将提供的用户名添加到适当的组,而不是运行初始化脚本的用户。这使用户可以访问组所拥有的资源。此帐户与运行身份用户帐户不同。 默认值:运行初始化脚本的用户 \-f 可选。 绕过警告消息或分发版本检查。 \-h | -? 可选。 显示脚本的帮助文本。 \-q 可选。 无提示,抑制除错误和警告之外的输出。 \--debug 可选。 出于调试目的,在运行时打印每个命令。产生广泛的输出。 \--default-group=<值> **版本:**版本 2023.1.0 中新增。 可选。 允许授权访问 Tableau RMT 代理的组的名称。如果指定,则还必须指定 `--unprivileged-user`。 \---disable-account-creation **版本:**版本 2023.1.0 中新增。 可选。 将不会被创建不存在的帐户/组。如果指定,则还必须指定 `--unprivileged-user` 参数以及 `--default-group` 和/或其他 `--rmt-<...>-group` 参数的组合。这些参数引用的用户 ID 和组必须已经存在。 \--enable-fips **版本:**版本 2025.3.0 中新增。仅限 RHEL 8 Linux。有关详细信息,请参见[Tableau Resource Monitoring Tool 中的 FIPS 合规性](https://help.tableau.com/current/server/zh-cn/rmt-fips-compliance.htm)。 可选。 在 RHEL 8 计算机上安装时,在 RMT 中启用 FIPS 模式。 \--rmt-authorized-group=<值> **版本:**版本 2023.1.0 中新增。 可选。 拥有安装基础安装目录和 `install_dir/prerequisites` 文件夹的组的名称。如果指定,则还必须指定 `--unprivileged-user`。 默认值:“`rmtmasterapp`”或 `--default-group` 值 \--rmt-config-group=<值> **版本:**版本 2023.1.0 中新增。 可选。 拥有 `install_dir/master/config` 目录的组的名称。如果指定,则还必须指定 `--unprivileged-user`。 默认值:“`rmtmasterconfig`”或 `--default-group` 值 \--rmt-logs-group=<值> **版本:**版本 2023.1.0 中新增。 可选。 拥有 `install_dir/master/logs` 目录的组的名称。如果指定,则还必须指定 `--unprivileged-user`。 默认值:“`rmtmasterlogs`”或 `--default-group` 值 \--rmt-openssl-group=<值> **版本:**版本 2023.1.0 中新增。 可选。 拥有 `install_dir/prerequisites/openssl` 目录的组的名称。 默认值:“`rmtopenssl`”或 `--default-group` 值 \--rmt-postgres-app-group=<值> **版本:**版本 2023.1.0 中新增。 可选。 拥有 `install_dir/prerequisites/postgresql13` 目录的组的名称。 默认值:“`rmtpostgresapp`”或 `--default-group` 值 \--rmt-postgres-data-group=<值> **版本:**版本 2023.1.0 中新增。 可选。 拥有 install\_dir/master/logs 目录的组的名称。如果指定,则还必须指定 `--unprivileged-user`。 默认值:“`rmtmasterlogs`”或 `--default-group` 值 \--rmt-rabbitmq-app-group=<值> **版本:**版本 2023.1.0 中新增。 可选。 拥有 `install_dir/prerequisites/rabbitmq` 目录的组的名称。 默认值:“`rmtrabbitmqapp`”或 `--default-group` 值 \--rmt-rabbitmq-data-group=<值> **版本:**版本 2023.1.0 中新增。 可选。 拥有 `install_dir/data/rabbitmq` 目录的组的名称。 默认值:“`rmtrabbitmqdata`”或 `--default-group` 值 \--unprivileged-user=<值> **版本:**版本 2023.1.0 中新增。 可选。 运行 Tableau RMT Master 的非特权用户帐户的名称。初始化 RMT 后无法更改帐户。 默认值:“`tabrmt-master`” [跳转到主要内容](#main-content) # Tableau Resource Monitoring Tool (RMT) 中基于 PAM 的身份验证 从版本 2025.2 开始,为委派用户添加了基于 PAM 的身份验证。这允许客户在需要时实现自定义身份验证逻辑。 以前,RMT 仅依赖于 `su` 进行委派用户身份验证,如果 Tableau Server 和 RMT 之间的底层 Linux 身份验证策略不同,则可能会导致不一致。通过增加对 PAM 的支持,RMT 与 Tableau Server 的身份验证流程保持一致,提供了更大的灵活性和控制力。 RMT 使用本地(特定于 RMT 的密码)或委派(基于操作系统的凭据)身份验证进行用户访问,委派身份验证要求用户提供其标准网络密码进行登录。身份验证通过其 Web 界面或 `rmtadmin` 命令行工具在 RMT Server 上配置,可以在其中添加用户或更改其现有的身份验证模式。正确的配置包括确保 `username` 正确输入(没有用于委派身份验证的域)并且为用户分配了正确的 RMT Server 角色。有关服务器角色的信息,请参见[在 Tableau Resource Monitoring Tool (RMT) 中管理用户和身份验证](https://help.tableau.com/current/server/zh-cn/rmt-server-roles.htm)。 ## 基于 PAM 的身份验证在 RMT 中的工作原理 当 RMT 对委派用户进行身份验证时,它遵循与 Tableau Server 相同的身份验证流程: 1. 自定义 PAM 服务 (tableau) RMT 将首先尝试使用名为 `tableau` 的自定义 PAM 服务(如果出现在以下位置)对用户进行身份验证: /etc/pam.d/tableau 这允许客户定义自己的身份验证策略。 2. 默认 PAM 登录服务 如果未定义 tableau 服务,RMT 将回退为使用标准 PAM 登录服务进行身份验证。 3. 基于 su 的身份验证 如果两次 PAM 尝试均失败,RMT 最终将尝试使用 `su` 进行身份验证。 这是 2025.2 之前版本中的默认身份验证方法,并且将继续有效,以确保与早期 RMT 版本和现有环境的向后兼容性。 ## 如何在 RMT 中启用基于 PAM 的身份验证 若要在 RMT 中使用基于 PAM 的身份验证,必须满足以下先决条件: 1. 1.安装 `pamtester` RMT 使用 `pamtester` 执行非交互式 PAM 身份验证。 Debian/Ubuntu: sudo apt install pamtester RHEL/CentOS: sudo yum install pamtester 2. 设置 `pamtester` 权限 必须为 `pamtester` 二进制文件授予适当的权限才能允许身份验证: sudo chown root:root /usr/bin/pamtester sudo chmod u+s /usr/bin/pamtester `setuid` 权限 (`u+s`) 确保 `pamtester` 可以读取 `/etc/shadow`,这是大多数 PAM 模块执行密码检查所必需的。 ### 实现自定义 PAM 服务(可选) 如果您希望实现自己的自定义身份验证逻辑,您可以定义一个名为 `tableau` 的 PAM 服务: `/etc/**pam.d/tableau**` [跳转到主要内容](#main-content) # RMT 代理初始化脚本选项 安装 RMT 代理后,您需要初始化代理。默认情况下,运行初始化脚本时必须包括的唯一必需标志是 `--accepteula`。其他选项使您可以根据您的环境和企业的安全要求灵活地自定义安装。 ## RMT 代理初始化选项 \--accepteula 必需。 表示您已阅读并接受最终用户许可协议 (EULA) 的条款。 \-a <用户名> 可选。 将提供的用户名添加到适当的组,而不是运行初始化脚本的用户。这使用户可以访问组所拥有的资源。此帐户与运行身份用户帐户不同。 默认值:运行初始化脚本的用户 \-f 可选。 绕过警告消息或分发版本检查。 \-h | -? 可选。 显示脚本的帮助文本。 \-q 可选。 无提示,抑制除错误和警告之外的输出。 \--debug 可选。 出于调试目的,在运行时打印每个命令。产生广泛的输出。 \--default-group=<值> **版本:**版本 2023.1.0 中新增。 可选。 允许授权访问 Tableau RMT 代理的组的名称。如果指定,则还必须指定 `--unprivileged-user`。 \---disable-account-creation **版本:**版本 2023.1.0 中新增。 可选。 将不会被创建不存在的帐户/组。如果指定,则还必须指定 `--unprivileged-user` 参数以及 `--default-group` 和/或其他 `--rmt-<...>-group` 参数的组合。这些参数引用的用户 ID 和组必须已经存在。 \--rmt-authorized-group=<值> **版本:**版本 2023.1.0 中新增。 可选。 拥有安装基础安装目录和 `install_dir/prerequisites` 文件夹的组的名称。如果指定,则还必须指定 `--unprivileged-user`。 默认值:“`rmtagentapp`”或 `--default-group` 值 \--rmt-config-group=<值> **版本:**版本 2023.1.0 中新增。 可选。 拥有 `install_dir/agent/config` 目录的组的名称。如果指定,则还必须指定 `--unprivileged-user`。 默认值:“`rmtagentconfig`”或 `--default-group` 值 \--rmt-logs-group=<值> **版本:**版本 2023.1.0 中新增。 可选。 拥有 `install_dir/agent/logs` 目录的组的名称。如果指定,则还必须指定 `--unprivileged-user`。 默认值:“`rmtagentlogs`”或 `--default-group` 值 \--unprivileged-user=<值> **版本:**版本 2023.1.0 中新增。 可选。 用于运行 Tableau RMT 代理的非特权用户帐户的名称。初始化 RMT 后无法更改帐户。 默认值:“`tabrmt-agent`” [跳转到主要内容](#main-content) # RMT 升级:技术参考 本部分是升级过程中检查的操作阈值、系统路径和网络端口的技术参考指南。使用这些表来快速诊断验证故障,并使您的环境与所需的 RMT 基准保持一致。 **注意**:为了与我们公司的平等价值观保持一致,我们已将 RMT Master 更新为 RMT Server。在某些情况下,RMT Server 安装路径和命令可能使用术语“Master”而不是“Server”。因此,您可能会继续在 CLI 命令和选项、安装文件夹、配置文件和其他实例中看到这些术语。有关详细信息,请参见[关于 Tableau 帮助](https://help.tableau.com/current/tableau/zh-cn/about-tableau-help.htm)。 ## 升级前运行状况检查 升级前运行状况检查会在现有安装仍然完好无损(如服务正在运行、数据库可访问)时检查您的 RMT Server 或代理主机,并生成详细的 PASS/FAIL/WARN 报告。它对系统资源、帐户、文件权限、PostgreSQL、RabbitMQ、网络、配置文件和 RMT 服务运行 80 多项单独检查。下表列出了升级之前执行的检查。如果任何项目返回 **FAIL** 状态(退出代码 2),则取消升级。 ### 系统和硬件
检查 ID名称 平台故障 (FAIL)/警告 (WARN) 条件
#1操作系统Linux、WindowsWARN 操作系统版本不在预检查允许列表中。支持的列表为 RHEL 8.x/9.x、Ubuntu 20.04/22.04/24.04、CentOS Stream 8/9、Oracle Linux 8.x/9.x、AlmaLinux 8.x/9.x、Rocky Linux 8.x/9.x、Amazon Linux 2023、Windows Server 2019/2022
#2磁盘空间Linux、WindowsFAIL RMT Server < 20 GB 或 Agent < 5 GB 可用空间。WARN RMT Server < 50 GB 或 Agent < 10 GB 可用空间
#2a磁盘类型Linux、WindowsINFO 报告驱动器是 SSD 还是 HDD
#3

RAM

Linux、WindowsWARN RMT Server < 8 GB(最小值)或 Agent < 4 GB(最小值)
#4CPU 内核Linux、WindowsWARN RMT Server < 8 GB(最小值)或 Agent < 4 GB(最小值)
#4aCPU 指令Linux、WindowsFAIL (Linux):缺少 sse4_2 或 popcnt。WARN (Windows):检测到较旧的 CPU。
#4bVC++ RedistWindowsFAIL 缺少 Visual Studio 2022 C++ Redistributable。
#4cOpenSSL DLLsWindowsINFO 检查 libcrypto-3-x64.dll 和 libssl-3-x64.dll
#5系统正常运行时间Linux、WindowsINFO:如果 < 10分钟(最近重新启动)或 > 90 天(挂起的修补程序)的注意事项
#6Systemd 正在运行LinuxFAIL systemd 未运行,PASS:正在运行或已降级
#7FIPS 模式Linux、WindowsFAIL (Windows):在注册表中启用,PASS FIPS 已禁用。WARN (Linux) 与 config.json 不匹配。PASS 操作系统和配置匹配
#7aPowerShell 版本WindowsINFO PowerShell 版本
#7b系统区域设置WindowsINFO 系统区域设置信息
#7cWMI 运行状况WindowsWARN WMI 存储库不一致
### 帐户和权限
检查 ID名称平台故障 (FAIL)/警告 (WARN) 条件
#8服务帐户Linux、WindowsFAIL 找不到 RMT 服务帐户或 Windows 服务
#9组成员身份LinuxFAIL 缺少必需的服务组(例如,rmtmasterapp、rmtmasterconfig 等)
#10用户 SystemdLinuxFAIL 用户 systemd daemon/linger 未处于活动状态
#44已安装 pamtesterLinux如果未安装,则为 WARN。若要解决此问题,请安装 yum install pamtester 或 apt install libpam-runtime
#### Linux 的目录所有权和权限
检查 ID目录Expected Owner:Group预期模式
#11配置目录tabrmt-master:rmtmasterconfig2775
#12日志目录tabrmt-master:rmtmasterlogs2775
#13数据目录(+ PG/RMQ 子目录)与组件匹配2775
#14先决条件目录root 或组件用户755
#14arabbitmq-defaults 文件需要 Group-writableg+w
#15SSL 证书目录tabrmt-master:rmtopenssl2775
#15a主目录组件用户770
#15b/etc/profile.d/tabrmt-*.shroot默认值
#15c配置目录 setgid bit--需要 2xxx
#16environment.bash组件用户group-writable
严重性:仅对于 data-dir 集(#13 和 #15)的所有权为 **FAIL**。所有其他 Linux 目录检查(#11、#12、#14、#14a、#15a–c、#16)会在所有权/模式不匹配时发出 **WARN**,因为安装程序的安装后操作会在升级期间重新应用所有权。如果权限模式错误但所有权正确,则为 **WARN**。 #### Windows 的目录所有权和权限
检查名称严重程度
#11配置目录 ACL如果服务用户缺少 FullControl 权限,则为 FAIL
#12日志目录 ACL如果服务用户缺少修改权限,则为 FAIL
#13数据目录 ACL (RMT Server)如果服务用户对 PG/RMQ 数据目录缺少 FullControl 权限,则为 FAIL
#14先决条件目录 ACL (RMT Server)如果缺少 ReadAndExecute 权限,则为 WARN(公告 — 每次升级都会重新安装先决条件 MSI,其安装后操作会重新应用 ACL)
#15SSL 证书目录 ACL (RMT Server)如果服务用户缺少 FullControl 权限,则为 FAIL
#16a服务用户身份PASS(信息性 -- 显示服务以哪个用户身份运行)
#16bSeServiceLogonRight 权限INFO(如果找到);如果未找到或 secedit 失败,则为 WARN
#16cRMT 目录上的服务用户 ACL如果服务用户缺少必需的权限,则为 FAIL
### 数据库 (PostgreSQL) 所有 PostgreSQL 检查仅在 RMT Server 上运行。
检查 ID名称需要 --db-password 选项故障 (FAIL)/警告 (WARN) 条件
#17PG 服务否FAIL 本地服务已停止和禁用
#18端口 5555 侦听否WARN(安全组/VPC / RDS 提示)不侦听
#19DB Connection是WARN 无法连接到内部数据库(SSL、密码或网络问题)
### 消息传递 (RabbitMQ) 消息传递 (RabbitMQ) 检查仅在 RMT Server 上运行。
检查 ID名称故障 (FAIL)/警告 (WARN) 条件
#22RMQ 服务FAIL 本地服务已停止和禁用
#24队列积压WARN 任何有超过 10,000 条消息的队列
#25RabbitMQ 用户如果默认 guest 用户仍然存在,则为 WARN
#26活动连接仅为 INFO。报告活动连接计数
#27可访问 Erlang Cookie如果缺少 Cookie 文件,如果权限错误(应为模式 400 或 600),则为 WARN
#27a已设置 ERLANG_HOME如果未设置“ERLANG_HOME”或路径不存在,则为 WARN(仅限 Windows)。
#27bSSL 有效性FAIL 证书已过期
#27c磁盘告警FAIL RMQ 分钟上的可用空间少于 10 GB(升级将挂起)
#45已填充证书目录如果证书目录存在,但为空或缺少预期的证书文件(服务器证书、密钥、CA 证书),则为 WARN
### 网络和配置
检查 ID名称故障 (FAIL)/警告 (WARN) 条件
#28a/b代理与 Master 的通信WARN 代理无法通过 5671、5672、80 或 443 访问 Master
#33-35JSON/Bash ConfigFAIL config.json、setup.json 或 environment.bash 缺失或无效
#36a已知错误版本FAIL 当前版本为 2025.3.0(回归块升级)
### 服务和备份
检查 ID名称故障 (FAIL)/警告 (WARN) 条件
#38所有 RMT 服务正在运行对于每个停止的服务为 WARN
#38a停滞进程FAIL 服务停止后发现残留的 tabrmt-* 进程
#39后台处理器正在运行如果主机进程未运行,则为 WARN
#40升级前备份提醒WARN 作为升级前备份配置的提醒
#41拓扑仅为 INFO。报告 Master/代理节点类型和(带 DB)活动代理计数
#42组件版本清单仅为 INFO。报告 RMT、PostgreSQL、RabbitMQ、OpenSSL 版本
#43计算机规格摘要仅为 INFO。报告操作系统、CPU 内核、RAM、可用磁盘空间
## 升级后运行状况检查 这些检查在升级后运行。它们不会阻止,失败不会停止升级,但会指示安装后问题。
检查 ID名称组件故障 (FAIL)/警告 (WARN) 条件
#1a-d服务和进程RMT Server, AgentFAIL 主服务、PG 服务或 RMQ 服务未运行
#2主机进程管理程序RMT Server, AgentWARN 主机管理程序进程缺失(无自动恢复)
#3a-b配置文件完整性RMT Server, Agent如果 JSON 缺失或无效,则为 FAIL
#4a-b文件权限RMT Server, AgentFAIL 配置/日志目录不可由服务帐户读取/写入
#5a-d端口侦听RMT ServerFAIL Web (443)、AMQP (5672) 或 DB (5555) 未侦听
#6PostgreSQL 连接RMT ServerFAIL PostgreSQL 未接受连接
#7RabbitMQ 状态RMT Server如果是外部的,则为 SKIP。在所有重试次数耗尽后为 FAIL。
#8a队列使用者RMT ServerWARN 存在积压,但没有活动使用者(Master 工作线程断开连接)
#9RMQ 告警RMT ServerFAIL 检测到活动内存或磁盘资源警报
#10RabbitMQ SSL 证书RMT Server如果证书过期,则为 FAIL。如果证书在 30 天内过期,则为 WARN
#11FIPS 匹配RMT Server, AgentFAIL 操作系统 FIPS 状态不匹配 isFIPSEnabled 配置
#12Web 服务器 HTTP 响应RMT Server将 HTTP GET 设置为“https://localhost:<port>/authentication/loginn”。出现 200 或 302 时为 PASS。连接被拒绝/超时时为 FAIL。出现其他错误时为 WARN。
#13HTTPS 证书有效期RMT ServerFAIL Web 服务器 TLS 证书已过期
#14a-d磁盘空间RMT Server, AgentFAIL 可用空间少于 1 GBWARN:可用空间少于 5 GB
#15最近的日志错误RMT Server, AgentFAIL 日志中的致命错误。WARN:严重错误
#16RMT 状态RMT Server, AgentFAIL rmtadmin 状态返回故障模式
#17Agent 日志历史记录Agent检查代理数据目录中的日志跟踪文件 (.history, .json)。如果文件不可读或损坏,则为 WARN
#18a-f库存版本RMT Server, AgentINFO 关于 RMT 版本、PostgreSQL 版本、RabbitMQ 版本、Erlang/OTP 版本、.NET 运行时 (Windows)/操作系统 (Linux)、操作系统版本 (Windows)/内核 (Linux) 的信息
## 运行状况退出代码 使用以下退出代码解释升级前和升级后运行状况检查脚本的结果。 ### 升级前脚本
退出代码状态升级行为
0READY TO UPGRADE升级继续进行
1UPGRADE WITH CAUTION升级继续进行;查看警告
2请勿升级升级已取消
3脚本错误检查执行环境
### 升级后脚本
退出代码状态
0ALL PASSED
1WARNINGS PRESENT
2CRITICAL FAILURES
## InstallerContext 严重性更改 在自动 Windows MSI 升级期间使用 `-InstallerContext` 运行时,以下检查的行为与手动默认值不同。默认(非 InstallerContext)行为对于“已停止但未禁用”/“端口未侦听”状态\*已经\*是 WARN;为“已停止+已禁用”保留 FAIL。在“-`InstallerContext`”下,甚至“已禁用”分支也会报告为 WARN,因此正在进行的安装程序驱动的升级永远不会被安装程序即将修复的暂时状态否决。
检查名称默认值InstallerContext
#17PG 服务如果已停止则为 WARN,如果已停止且已禁用则为 FAIL,如果全部停止,则为 INFOWARN
#18PG 端口如果未侦听则为 WARN,如果所有服务停止则为 INFOWARN
#22RabbitMQ 服务如果已停止则为 WARN,如果已停止且已禁用,则为 FAIL,如果全部停止,则为 INFOWARN
#23Port 5672 (AMQP)如果未侦听则为 WARN,如果所有服务停止则为 INFOWARN
#38a停滞的 RMT 进程(请参见检查描述)SKIP(安装程序管理进程生命周期)
### 升级前阈值
阈值RMT ServerAgent单位
磁盘空间 FAIL205可用 GB
磁盘空间 WARN5010可用 GB
临时目录 FAIL55可用 GB
临时目录 WARN1010可用 GB
RAM FAIL84GB
RAM WARN168GB
CPU FAIL42内核
CPU WARN84内核
数据库大小 FAIL500-GB
数据库大小 WARN200-GB
Hangfire 架构 FAIL10-GB
Hangfire 架构 WARN1-GB
WAL 目录 FAIL (Windows)10-GB
WAL 目录 FAIL (Windows)2-GB
WAL 目录 FAIL (Linux)10-GB
Mnesia 目录 WARN5-GB
RabbitMQ 磁盘告警 FAIL10-可用 GB
队列积压 WARN10,000-消息
证书过期 WARN3030天
清理保留 WARN180-天
死元组率 WARN20-百分比
代理心跳过时15-分钟
网络驱动程序期限 WARN3-年
日志目录大小 WARN55GB
日志目录大小 WARN(严重)2020GB
### 升级后阈值
阈值值单位
磁盘空间 FAIL1可用 GB
磁盘空间 WARN5可用 GB
证书过期 WARN30天
队列积压 WARN10,000消息
日志扫描窗口60分钟
RabbitMQ 启动重试6 次尝试 x 5 秒共 30 秒
## 支持的最低组件版本
组件最低版本
RabbitMQ3.10.10 及更高版本
代理版本2023.1.0 及更高版本
### 自动化和 CI/CD 集成 **对于 Linux:** \`\`\`base \# Linux sudo bash rmt-pre-upgrade-check.sh --component master --db-password "$DB\_PASSWORD" EXIT\_CODE=$? if \[ $EXIT\_CODE -eq 2 \]; then echo "BLOCKED: Fix critical issues before upgrading" exit 1 fi \`\`\` **对于 Windows:** \`\`\`powershell \# Windows .\\rmt-pre-upgrade-check.ps1 -Component master if ($LASTEXITCODE -eq 2) { Write-Error "BLOCKED: Fix critical issues before upgrading" exit 1 } \`\`\` ## 安装目录参考 若要手动调用基础诊断实用程序或验证安装结构,请参阅特定于平台的目录路径: ### Linux 目录结构 \`\`\` `/opt/tableau/tabrmt/ # Install root` +`-- master/ # Master application binaries` `+-- agent/ # Agent application binaries` `+-- prerequisites/ # Bundled dependencies` `/var/opt/tableau/tabrmt/ # Data root` `+-- master/config/ # config.json, setup.json` `+-- master/logs/ # Application logs` `+-- data/postgresql15/ # PostgreSQL data files` `+-- data/rabbitmq313/ # RabbitMQ data/mnesia` `+-- data/ssl/ # TLS certificates` `/etc/opt/tableau/tabrmt/` `+-- master/environment.bash # Master environment variables` `+-- agent/environment.bash # Agent environment variables` \`\`\` ### Windows 目录结构 \`\`\` `C:\Program Files\Tableau\Tableau Resource Monitoring Tool\ # Install root` `C:\ProgramData\Tableau\Tableau Resource Monitoring Tool\ # Data root` \`\`\` ### 所需网络端口
端口服务方向
80RMT Web UI (HTTP)入站
443RMT Web UI (HTTPS)入站
5672RabbitMQ AMQPRMT Server 上的入站
5671基于 TLS 的 RabbitMQ AMQPRMT Server 上的入站
15672RabbitMQ 管理 UI本地
25672RabbitMQ 节点间本地
5555内部 PostgreSQL本地
[跳转到主要内容](#main-content) # RMT 升级运行状况检查脚本 从版本 2025.3.6 开始,RMT 安装程序包括升级前和升级后运行状况检查脚本,用于在升级前后验证您的 Tableau Resource Monitoring Tool (RMT) 环境。这些脚本可识别环境中预先存在的问题,例如配置错误、权限漂移、磁盘空间不足、证书过期或之前存在并可能导致任何升级失败的服务故障。 升级前和升级后运行状况检查脚本可以识别以下问题: - **数据库和磁盘就绪性**:检测大型数据库或过多的 WAL 文件是否会导致迁移挂起或耗尽磁盘空间。 - **权限和安全完整性**:识别转移的文件所有权或过期的 SSL 证书,否则这些问题会阻止服务重新启动或代理重新连接。 - **依赖项验证**:确保在安装 PostgreSQL 15 之前存在所需的 Windows 组件,如 Visual C++ 2022 Redistributable 和 OpenSSL 3.x。 - **版本逻辑安全**:防止由版本元数据回归导致的“错误降级”错误。 ## 升级前脚本 当您开始升级时,升级前脚本会自动运行。它会在现有安装仍然完好无损时检查您的 RMT Server 或代理主机,并生成 PASS / FAIL / WARN 报告。 对于 **Linux**,升级前检查会作为以下过程的一部分自动运行: sudo bash upgrade-rmt-master ... sudo bash upgrade-rmt-agent ... 跳过自动检查(不推荐): sudo bash upgrade-rmt-master --skip-pre-upgrade-check ... 对于 **Windows**,安装程序会自动运行升级前检查。在安装过程中,系统还会提示您选择跳过升级。但是,不建议这样做。 ### 手动升级前检查 您可以手动运行脚本来预览任何潜在问题。若要手动运行脚本,请根据您的操作系统使用以下步骤: **对于 Linux:** 以 root 用户身份运行命令。若要包括数据库检查,请使用 export 命令安全地传递您的密码。 sudo bash /opt/tableau/tabrmt/master/install-scripts/rmt-pre-upgrade-check.sh 若要在启用 PostgreSQL 检查的情况下运行,请使用以下命令: export RMT\_DB\_PASSWORD="" sudo -E bash /opt/tableau/tabrmt/master/install-scripts/rmt-pre-upgrade-check.sh 若要使用特定组件和输出路径运行,请使用以下命令: sudo bash rmt-pre-upgrade-check.sh --component master --output /tmp/rmt-report.txt **对于 Windows:** 默认情况下,RMT Server 的升级前文件安装在以下位置: `C:\Program Files\Tableau\Tableau Resource Monitoring Tool\master\scripts\pre-upgrade\rmt-pre-upgrade-check.ps1` 默认情况下,代理的升级前文件安装在以下位置: `C:\Program Files\Tableau\Tableau Resource Monitoring Tool\agent\scripts\pre-upgrade\rmt-pre-upgrade-check.ps1` 若要手动运行脚本,请以管理员身份启动 PowerShell,然后运行: `cd "C:\Program Files\Tableau\Tableau Resource Monitoring Tool\master\scripts\pre-upgrade"` .`\rmt-pre-upgrade-check.ps1` 若要在启用 PostgreSQL 检查的情况下运行,请使用以下命令: $env:RMT\_DB\_PASSWORD = "" .\\rmt-pre-upgrade-check.ps1 若要使用特定组件和输出路径运行,请使用以下命令: .\\rmt-pre-upgrade-check.ps1 -Component master -OutputPath C:\\temp\\rmt-report.txt ### 其他选项 使用以下选项自定义升级前检查: `-Component` 指定 RMT Server 或代理。如果省略,脚本会自动检测此项 `--db-password / -DbPassword` 内部 RMT 数据库管理员密码。PostgreSQL 检查所必需。 `--output / -OutputPath` 指定报告的保存位置。默认情况下,报告会保存到 `/tmp/ (Linux) or C:\temp\ (Windows).`。 `--target-version / -TargetVersion` 您计划安装的 RMT 版本;启用特定于版本的检查。 `--quiet / -Quiet` 筛选输出以仅显示 FAIL 和 WARN 结果。 `--verbose / -Verbose` 输出显示所执行的每次检查的详细技术数据。 ### 脚本结果和所需操作 下表说明了脚本结果和操作:
结果状态操作
PASS退出代码 0未发现问题。升级将继续进行。
WARN退出代码 1升级将继续进行,但您必须查看报告中的非关键风险。
FAIL退出代码 2升级已中止。您必须在重新运行升级之前解决这些问题。
## 升级后脚本 升级后运行状况检查脚本会在每次 RMT 安装和升级结束时自动运行。它验证所有服务是否正确启动、基础设施是否健康以及配置是否完好无损。升级后检查不会阻止安装程序。所有已识别的故障都记录在最终报告中。 ### 手动升级后检查 若要手动运行脚本,请根据您的操作系统使用以下步骤: **对于 Linux:** 以 root 用户身份或使用 `sudo` 权限运行以下命令: - 对于 RMT Server: sudo bash /opt/tableau/tabrmt/master/install-scripts/rmt-post-upgrade-check --component master --mode upgrade - 对于代理: sudo bash /opt/tableau/tabrmt/agent/install-scripts/rmt-post-upgrade-check --component agent --mode upgrade **对于 Windows:** 默认情况下,RMT Server 的升级后文件安装在以下位置: `C:\Program Files\Tableau\Tableau Resource Monitoring Tool\master\scripts\post-upgrade\rmt-post-upgrade-check.ps1` 默认情况下,代理的升级后文件安装在以下位置: `C:\Program Files\Tableau\Tableau Resource Monitoring Tool\agent\scripts\post-upgrade\rmt-post-upgrade-check.ps1` 若要手动运行脚本,请以管理员身份打开 PowerShell,并在运行命令之前导航到 RMT 安装目录: - 对于 RMT Server: .\\rmt-post-upgrade-check.ps1 -Component master -Mode upgrade - 对于代理: .\\rmt-post-upgrade-check.ps1 -Component agent -Mode upgrade ### 其他选项 您可以使用以下选项自定义脚本: `--component / -Component` 指定 RMT Server 或代理。如果省略,脚本将尝试自动检测此项。 `--db-password / -DbPassword` 内部 RMT 数据库管理员的密码。这是启用 PostgreSQL 检查所必需的。 `--output / -OutputPath` 将保存报告文件的路径。默认为 `/tmp/ (Linux)` 或 `C:\temp\ (Windows)`。 `--target-version / -TargetVersion` 要升级到的特定 RMT 版本,用于特定于版本的检查。 `--quiet / -Quiet` 减少输出以仅显示 **FAIL** 和 **WARN** 结果。 `--verbose / -VerboseOutput` 为执行的每项检查提供详细的技术输出。 注意:我们建议将 RMT\_DB\_PASSWORD 设置为环境变量,而不是在命令行上传递它,因为命令行参数可在进程列表中查看。 ### 脚本结果和所需操作 下表说明了脚本结果和操作:
结果状态操作
PASS退出代码 0系统运行状况良好。无需操作。
WARN退出代码 1查看警告;大多数问题可自行解决(例如,暂时性 RabbitMQ 启动滞后)。
FAIL退出代码 2一个或多个关键检查失败 - 调查并重新修正。
## 报告 您可以在此处找到升级前报告: - Linux:`/tmp/rmt-precheck-.txt` - Windows(手动):`C:\temp\rmt-precheck--.txt` 您可以在此处找到升级后报告: - Linux:`/rmt-postcheck-report.txt` - Windows(手动):`C:\temp\rmt-postcheck--.txt` - Windows(通过安装程序):当安装程序运行检查时,它将使用固定文件名: - `C:\temp\rmt-postcheck-master-report.txt` - `C:\temp\rmt-postcheck-agent-report.txt` 有关报告中的升级前和升级后检查的信息,请参见[升级参考](https://help.tableau.com/current/server/zh-cn/rmt-admin-upgrade-reference.htm)部分。 ### 示例报告 以下是升级前运行状况检查报告示例: \================================================================== RMT Pre-Upgrade Health Check Report Script Version : 1.0.0 Generated : 2026-04-08 14:30:00 Component : master Hostname : rmt-master-01.example.com RMT Version : 2025.1.9 \================================================================== OVERALL STATUS : UPGRADE WITH CAUTION (2 warning(s) -- review before proceeding) PASS: 44 FAIL: 0 WARN: 2 INFO: 10 SKIP: 3 \================================================================== WARNINGS -- Review Before Upgrading \================================================================== \[WARN\] #21d Hangfire schema is 1.2 GB Check 21g for delete\_hash() volatility bug \[WARN\] #24 1 queue(s) with >10000 messages (max: 15234) Resolve backlogs before upgrading [跳转到主要内容](#main-content) # 默认安装权限 - Tableau Resource Monitoring Tool 以下主题提供了安装期间对各个系统帐户或组设置的默认权限。如果您的环境或组织要求您使用非默认帐户,这可以帮助您确定 Resource Monitoring Tool (RMT) 正常运行所需的权限。 **注意:**Resource Monitoring Tool (RMT) 服务器和代理不符合联邦信息处理标准 (FIPS) 140-2,并且在启用 FIPS 模式的操作系统上无法正常工作。 ## Windows 安装 默认情况下,Tableau Resource Monitoring Tool 在安装时会创建这些帐户: - NT SERVICE\\TableauResourceMonitoringTool - NT SERVICE\\TableauResourceMonitoringToolPostgreSQL - NT SERVICE\\TableauResourceMonitoringToolRabbitMQ 如果您想要或需要使用其他帐户代替默认帐户,您可以在安装后使用 `rmt-admin` 命令行实用程序指定这些帐户。有关详细信息,请参见[rmtadmin service-setup](https://help.tableau.com/current/server/zh-cn/rmt-admin-cmdline.htm#rmtadmin-service-setup)。 这些默认服务账户使用的权限以及所需的最低权限如下所示。您的服务帐户应满足最低权限或默认权限:
服务帐户资源默认权限必需的最低权限
Tableau Resource Monitoring Tool 主文件   
 应用程序文件

Tableau Resource Monitoring Tool\master

完全控制:读取、写入、执行、修改

完全控制
 日志目录和文件

Tableau Resource Monitoring Tool\master\logs

完全控制:读取、写入、执行、修改

读取、写入
 配置目录

Tableau Resource Monitoring Tool\master\config

完全控制:读取、写入、执行、修改

完全控制
    
Tableau Resource Monitoring Tool PostgreSQL   
 应用程序目录

Tableau Resource Monitoring Tool\prerequisites\postgresql<nn>

完全控制:读取、写入、执行、修改完全控制
 

数据目录

Tableau Resource Monitoring Tool\data\postgresql<nn>

完全控制:读取、写入、执行、修改完全控制
 日志目录

Tableau\Tableau Resource Monitoring Tool\master\logs\pgsql

完全控制:读取、写入、执行、修改读取、写入。
    
Tableau Resource Monitoring Tool RabbitMQ   
 

数据目录

Tableau Resource Monitoring Tool\data\rabbitmq

完全控制:读取、写入、执行、修改完全控制
 

应用程序文件

Tableau Resource Monitoring Tool\prerequisites\rabbitmq

Tableau Resource Monitoring Tool\prerequisites\erlang

完全控制:读取、写入、执行、修改完全控制
 

日志文件

Tableau Resource Monitoring Tool\master\logs\rabbitmq

完全控制:读取、写入、执行、修改读取、写入
    
Tableau Resource Monitoring Tool Agent   
 

应用程序文件

Tableau Resource Monitoring Tool\agent

完全控制:读取、写入、执行、修改完全控制
 

日志目录和文件

Tableau Resource Monitoring Tool\agent\logs

完全控制:读取、写入、执行、修改读取
 

配置目录

Tableau Resource Monitoring Tool\agent\config

完全控制:读取、写入、执行、修改完全控制
## Linux 安装 默认情况下,Tableau Resource Monitoring Tool 在安装时会创建某些帐户。如果您想要或需要使用组和用户代替默认值,您可以在安装后使用 `rmt-admin` 命令行实用程序指定这些组和用户。有关详细信息,请参见[rmtadmin service-setup](https://help.tableau.com/current/server/zh-cn/rmt-admin-cmdline.htm#rmtadmin-service-setup)。 这些服务账户使用的默认权限如下所示。您的权限应与以下权限匹配:
服务帐户资源权限
Tableau Resource Monitoring Tool 主文件  
 应用程序文件

/var/opt/tableau/tabrmt/master

所有者 - 完全权限(读取、写入、执行)

组 - 读取、写入、执行

其他 - 读取、执行

 日志目录和文件

/var/opt/tableau/tabrmt/master/logs

所有者 - 完全权限(读取、写入、执行)

组 - 读取、写入、执行

其他 - 读取、执行

 配置目录

/var/opt/tableau/tabrmt/master/config

所有者 - 完全权限(读取、写入、执行)

组 - 读取、写入、执行

其他 - 读取、执行

   
Tableau Resource Monitoring Tool PostgreSQL  
 应用程序目录

/opt/tableau/tabrmt/prerequisites/postgresql13

所有者 - 完全权限(读取、写入、执行)

组 - 读取、执行

其他 - 读取、执行

 

服务目录

/var/opt/tableau/tabrmt/data/postgresql13/pg_*

所有者 - 完全权限(读取、写入、执行)

组 - 无

其他 - 无

 

数据目录

/var/opt/tableau/tabrmt/data/postgresql13/

所有者 - 完全权限(读取、写入、执行)

组 - 读取、写入、执行

其他 - 读取、执行

 

日志目录

/var/opt/tableau/tabrmt/master/logs/pgsql

所有者 - 完全权限(读取、写入、执行)

组 - 读取、写入、执行

其他 - 执行

 PostgreSQL 目录下上面未提到的其他目录

/var/opt/tableau/tabrmt/data/postgresql13/<not mentioned above>

所有者 - 读取、写入

组 - 无

其他 - 无

 /var/opt/tableau/tabrmt/data/postgresql13/base

/var/opt/tableau/tabrmt/data/postgresql13/global

所有者 - 完全权限(读取、写入、执行)

组 - 无

其他 - 无

 /var/opt/tableau/tabrmt/data/postgresql13/certificates所有者 - 完全权限(读取、写入、执行)

组 - 完全权限(读取、写入、执行)

其他 - 执行

   
Tableau Resource Monitoring Tool RabbitMQ  
 

数据目录

/var/opt/tableau/tabrmt/data/rabbitmq

所有者 - 完全权限(读取、写入、执行)

组 - 读取、写入和执行

其他 - 读取、执行

 

应用程序文件

/var/opt/tableau/tabrmt/rabbitmq/prerequisites/rabbitmq

/var/opt/tableau/tabrmt/rabbitmq/prerequisites/erlang

所有者 - 完全权限(读取、写入、执行)

组 - 读取、执行

其他 - 读取、执行

 

日志文件

/var/opt/tableau/tabrmt/master/logs/rabbitmq

所有者 - 完全权限(读取、写入、执行)

组 - 读取、写入和执行

其他 - 执行

 

其他目录(/rabbitmq 目录下)

/var/opt/tableau/tabrmt/data/rabbitmq/certificates

/var/opt/tableau/tabrmt/data/rabbitmq/mnesia

所有者 - 完全权限(读取、写入、执行)

组 - 读取、写入和执行

其他 - 执行

 /var/opt/tableau/tabrmt/data/rabbitmq/<other than mentioned>所有者 - 读取、执行

组 - 读取、执行

其他 - 无

   
Tableau Resource Monitoring Tool Agent  
 

应用程序文件

/var/opt/tableau/tabrmt/agent

所有者 - 完全权限(读取、写入、执行)

组 - 读取、写入和执行

其他 - 读取、执行

 

日志目录和文件

/var/opt/tableau/tabrmt/agent/logs

所有者 - 完全权限(读取、写入、执行)

组 - 读取、写入和执行

其他 - 读取、执行

 

配置目录

/var/opt/tableau/tabrmt/agent/config

所有者 - 完全权限(读取、写入、执行)

组 - 读取、写入和执行

其他 - 读取、执行

### 谁可以执行此操作 若要执行上述所有步骤,您需要是正在安装 Resource Monitoring Tool 的计算机上的管理员,并成为 Tableau Server 管理员。 [跳转到主要内容](#main-content) # rmtadmin 命令行实用工具 Resource Monitoring Tool 包括一个命令行界面 `rmtadmin.cmd`(位于安装文件夹中)。默认安装文件夹为: - RMT Server `%PROGRAMFILES%\Tableau\Tableau Resource Monitoring Tool\Master` - 代理:`%PROGRAMFILES%\Tableau\Tableau Resource Monitoring Tool\agent` **注意:**您必须以管理员身份运行命令提示符,才能成功运行这些命令。 > **RMT Server** 安装和**代理**安装中均包括了 `rmtadmin`。根据您使用的是 RMT Server 还是代理 `rmtadmin` 命令行实用工具,某些命令可能有所不同。例如,`users` 命令只能从 _RMT Server_ 中工作。`ziplogs` 命令可在任何地方使用,但只包括对其运行该使命主的应用程序中的日志文件。 下面是可用于 `rmtadmin` 命令行的命令: **注意:**`rmtadmin` 命令同时使用位置参数和选项。 应仅使用值指定位置参数。您不需要指定实际关键字。应使用等号指定选项关键字和值。 示例: `rmtadmin --