

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 构建控制面板
<a name="v9-dash-building-dashboards"></a>

****  
本文档主题专为支持 **Grafana 9.x 版本**的 Grafana 工作区而设计。  
对于支持 Grafana 10.x 版本的 Grafana 工作区，请参阅[使用 Grafana 版本 10](using-grafana-v10.md)。  
对于支持 Grafana 8.x 版本的 Grafana 工作区，请参阅[使用 Grafana 版本 8](using-grafana-v8.md)。

创建 Grafana 工作区并登录后，您可以创建控制面板并修改设置以满足您的需求。

**Topics**
+ [创建控制面板](v9-dash-creating.md)
+ [添加或编辑面板](v9-dash-edit-panels.md)
+ [修改控制面板设置](v9-dash-modify-settings.md)
+ [控制面板 URL 变量](v9-dash-dashboard-url-variables.md)
+ [向控制面板添加库面板](v9-dash-manage-library-panels.md)
+ [管理控制面板版本历史记录](v9-dash-manage-version-history.md)
+ [管理控制面板链接](v9-dash-manage-dashboard-links.md)
+ [控制面板 JSON 模型](v9-dash-dashboard-json-model.md)

# 创建控制面板
<a name="v9-dash-creating"></a>

****  
本文档主题专为支持 **Grafana 9.x 版本**的 Grafana 工作区而设计。  
对于支持 Grafana 10.x 版本的 Grafana 工作区，请参阅[使用 Grafana 版本 10](using-grafana-v10.md)。  
对于支持 Grafana 8.x 版本的 Grafana 工作区，请参阅[使用 Grafana 版本 8](using-grafana-v8.md)。

**创建控制面板**

您可以在控制面板和面板上使用 Grafana 以可视化形式显示数据。每个面板至少需要一次查询才能显示可视化效果。在开始之前，请满足以下先决条件。
+ 确保您拥有适当的权限。有关权限的更多信息，请参阅 [用户、团队和权限](Grafana-administration-authorization.md)。
+ 确定要向其中添加面板的控制面板。
+ 了解目标数据来源的查询语言。
+ 确保已添加要为其编写查询的数据来源。

 创建控制面板：

1. 登录 Grafana，将光标悬停在**控制面板**上，然后单击 **\$1 新建控制面板**。

1. 单击**添加新面板**。

1. 在**查询**选项卡的第一行中，单击下拉列表并选择数据来源。

1. 使用数据来源的查询语言编写或构造查询。

1. 在**可视化**列表中，选择可视化类型。Grafana 将显示应用可视化后的查询结果预览。有关更多信息，请参阅[可视化选项](v9-panels-viz.md)。

1. 通过以下方法调整面板设置。
   + [配置值映射](v9-panels-configure-value-mappings.md)
   + [可视化特定选项](v9-panels-viz.md)
   + [覆盖字段值](v9-panels-configure-overrides.md)
   + [配置阈值](v9-panels-configure-thresholds.md)
   + [配置标准选项](v9-panels-configure-standard-options.md)
**注意**  
大多数可视化效果需要进行一些调整，然后才能正确显示所需的信息。

1. 添加注释来描述可视化（或描述您的更改），然后单击页面右上角的**保存**。
**注意**  
如果您需要将控制面板恢复到以前的版本，注释会很有帮助。

**配置重复行**

您可以将 Grafana 配置为根据变量的值向控制面板动态添加面板或行。变量会动态更改控制面板中所有行的查询。有关重复面板的更多信息，请参阅[配置重复面板]()。

如果在设置变量时选择了 `Multi-value` 或 `Include all values`，也可以重复行。

在开始之前，请确保查询包含多值变量，然后完成以下步骤。

1. 在控制面板主页上，单击**添加面板**。

1. 在**添加面板**对话框中，单击**添加新行**。

1. 将鼠标悬停在行标题上，然后单击齿轮图标。

1. 在**行选项**对话框中，添加标题并选择要为其添加重复行的变量。
**注意**  
 要向控制面板用户提供上下文，请将变量添加到行标题。

**移动面板**

1. 打开控制面板。

1. 单击面板标题，然后将面板拖动到新位置。您可以将面板放置在控制面板上的任何位置。

**调整面板大小**

1. 打开控制面板。

1. 要调整面板大小，请单击并拖动面板右下角。您可以根据需要调整控制面板的面板大小。

# 添加或编辑面板
<a name="v9-dash-edit-panels"></a>

****  
本文档主题专为支持 **Grafana 9.x 版本**的 Grafana 工作区而设计。  
对于支持 Grafana 10.x 版本的 Grafana 工作区，请参阅[使用 Grafana 版本 10](using-grafana-v10.md)。  
对于支持 Grafana 8.x 版本的 Grafana 工作区，请参阅[使用 Grafana 版本 8](using-grafana-v8.md)。

创建控制面板后，您可以随时添加、编辑或删除面板。
+ **查看控制面板**：要查看控制面板，请从 **主页**菜单中选择**控制面板**，然后选择要查看的控制面板。您可能要展开包含控制面板的文件夹。
+ **添加面板**：要向控制面板添加面板，请选择页面顶部附近的菜单栏中的**添加面板**图标。
+ **编辑面板**：要编辑控制面板上的现有面板，请选择鼠标悬停在面板上时显示的菜单图标，然后选择**编辑**。
+ **删除面板**：要删除控制面板上的现有面板，请选择鼠标悬停在面板上时显示的菜单图标，然后选择**删除**。

# 修改控制面板设置
<a name="v9-dash-modify-settings"></a>

****  
本文档主题专为支持 **Grafana 9.x 版本**的 Grafana 工作区而设计。  
对于支持 Grafana 10.x 版本的 Grafana 工作区，请参阅[使用 Grafana 版本 10](using-grafana-v10.md)。  
对于支持 Grafana 8.x 版本的 Grafana 工作区，请参阅[使用 Grafana 版本 8](using-grafana-v8.md)。

您可以在控制面板设置页面上：
+ 编辑控制面板的常规属性，包括时间设置。
+ 添加注释查询。
+ 添加控制面板变量。
+ 添加链接。
+ 查看控制面板 JSON 模型

访问控制面板设置页面：

1. 在编辑模式下打开控制面板。

1. 单击页面顶部的**控制面板设置**（齿轮图标）。

**修改控制面板时间设置**

如果要更改控制面板时区、本地浏览器时间并指定自动刷新时间间隔，请调整控制面板时间设置。

**修改控制面板时间设置**

1. 在**控制面板**设置页面上，选择**常规**。

1. 导航到**时间选项**部分。

1. 根据以下描述指定时间设置。

1. 时区指定了您要监控的服务或系统的本地时区。这在监控跨多个时区运行的系统或服务时非常有用。
   + Grafana 对用户个人资料、团队或组织使用*默认*选定的时区。如果没有为用户个人资料、用户所属的团队或组织指定时区，Grafana 将使用本地浏览器时间。
   + 使用为查看用户浏览器配置的时区，即*本地浏览器时间*。这通常与计算机上设置的时区相同。
   + 使用标准 [ISO 8601 时区](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)，包括 UTC。
+ **自动刷新**可自定义相对时间显示的选项，自动刷新选项条目以逗号分隔，并接受任何有效的时间单位。
+ **现在延迟**通过输入时间延迟来覆盖 `now` 时间。使用此选项来适应数据聚合中的已知延迟，以避免 null 值。
+ **隐藏时间选取器**可删除 Grafana 时间选取器显示屏幕。

**注意**  
要使用时间控件，您的数据必须包含时间列。有关包含时间列的更多信息，请参阅特定[数据来源](AMG-data-sources.md)的文档。

**添加注释查询**

注释查询是查询事件的一种查询方式。这些事件可以在控制面板上的图形中显示为垂直线，并带有一个小图标，您可以将鼠标悬停在上方以查看事件信息。

**添加注释查询**

1. 在**控制面板设置**页面上，选择**注释**。

1. 选择**添加注释查询**。

1. 输入名称并选择数据来源。

1. 完成表单的其余部分以构建查询和注释。

查询编辑器 UI 会根据您选择的数据来源而变化。有关如何构造查询的详细信息，请参阅[数据来源](AMG-data-sources.md)文档。

**添加变量**

变量使您能够创建更具交互性和动态性的控制面板。您可以在指标查询中使用变量代替服务器、应用程序和传感器名称等硬编码。变量以下拉列表的形式显示在控制面板顶部。通过这些下拉列表，可以轻松更改控制面板中显示的数据。

有关变量的更多信息，请参阅[变量](v9-dash-variables.md)。

1. 在**控制面板设置**页面上，单击左侧菜单中的**变量**，然后单击**添加变量**按钮。

1. 在**常规**部分，输入变量的名称。这是您稍后将在查询中使用的名称。

1. 选择变量**类型**。
**注意**  
选择的变量类型会影响您在页面上填充的字段。

1. 定义变量并单击**更新**。

**添加链接**

控制面板链接让您可以将指向其他控制面板和网站的链接直接放在控制面板标题下方。通过链接，可以轻松导航到其他相关的控制面板和内容。

1.  在**控制面板设置**页面上，单击左侧菜单中的**链接**，然后单击**添加链接**按钮。

1.  输入标题，然后在**类型**字段中选择**控制面板**或**链接**。

1.  要添加控制面板链接，请添加可选标签，选择任意控制面板链接选项，然后单击**应用**。
**注意**  
标签在创建包含特定标签的控制面板的动态下拉列表时非常有用。

1.  要添加链接，请添加当用户将鼠标悬停在链接上时显示的 URL 和工具提示文本，选择链接旁边显示的图标，然后选择任意控制面板链接选项。

**查看控制面板 JSON 模型** 

Grafana 中的控制面板由 JSON 对象表示，该对象存储其控制面板的元数据。控制面板元数据包括控制面板属性、面板中的元数据、模板变量、面板查询等。

要查看控制面板 JSON 模型，请在**控制面板设置**页面上单击 **JSON**。

有关 JSON 字段的更多信息，请参阅 [JSON 字段](v9-dash-dashboard-json-model.md)。

# 控制面板 URL 变量
<a name="v9-dash-dashboard-url-variables"></a>

****  
本文档主题专为支持 **Grafana 9.x 版本**的 Grafana 工作区而设计。  
对于支持 Grafana 10.x 版本的 Grafana 工作区，请参阅[使用 Grafana 版本 10](using-grafana-v10.md)。  
对于支持 Grafana 8.x 版本的 Grafana 工作区，请参阅[使用 Grafana 版本 8](using-grafana-v8.md)。

Grafana 可以应用在控制面板中作为查询参数传递的变量值。 URLs有关更多信息，请参阅[管理控制面板链接](v9-dash-manage-dashboard-links.md)以及[模板和变量](v9-dash-variables.md)。

**将变量作为查询参数传递**

Grafana 将前缀为 `var-` 的查询字符串参数解释为给定控制面板中的变量。

例如，在此 URL 中：

```
https://${your-domain}/path/to/your/dashboard?var-example=value
```

查询参数 `var-example=value` 表示值为 `value` 的控制面板变量。

**为变量传递多个值**

要传递多个值，请为每个值重复一次变量参数。

```
https://${your-domain}/path/to/your/dashboard?var-example=value1&var-example=value2
```

Grafana 将 `var-example=value1&var-example=value2` 解释为带有两个值的控制面板变量示例：`value1` 和 `value2`。

**将变量添加到控制面板链接**

当您从控制面板的设置生成变量时，Grafana 可以将变量添加到控制面板链接中。有关添加变量的更多信息和步骤，请参阅[管理控制面板链接](v9-dash-manage-dashboard-links.md)。

**传递临时筛选条件**

临时筛选条件将键或值筛选条件应用于使用指定数据来源的所有指标查询。有关更多信息，请参阅[临时筛选条件]()。

要将临时筛选条件作为查询参数传递，请使用变量语法传递临时筛选条件变量，并提供键、运算符作为值、管道分隔列表作为值。

例如，在此 URL 中：

`https://${your-domain}/path/to/your/dashboard?var-adhoc=example_key|=|example_value` 

查询参数 `var-adhoc=key|=|value` 使用 `example_key` 键、`=` 运算符和 `example_value` 值应用配置为临时控制面板变量的临时筛选条件。

**注意**  
使用即席过滤 URLs 器共享时，请记得对 URL 进行编码。在上面的示例中，将管道 `(|)` 替换为 `%7C`，将相等运算符 `(=)`替换为 ` %3D`。

**使用 URL 控制时间范围**

要设置控制面板的时间范围，请使用 `from`、`to`、`time` 和 `time.window` 查询参数。因为这些不是变量，所以不需要 `var-` 前缀。

# 向控制面板添加库面板
<a name="v9-dash-manage-library-panels"></a>

****  
本文档主题专为支持 **Grafana 9.x 版本**的 Grafana 工作区而设计。  
对于支持 Grafana 10.x 版本的 Grafana 工作区，请参阅[使用 Grafana 版本 10](using-grafana-v10.md)。  
对于支持 Grafana 8.x 版本的 Grafana 工作区，请参阅[使用 Grafana 版本 8](using-grafana-v8.md)。

库面板是可在任何控制面板中使用的可重用面板。更改库面板时，更改会传播到使用该面板的所有实例。库面板简化了面板在多个控制面板中的重用。

您可以将库面板与保存的控制面板一起保存在文件夹中。

**创建库面板**

创建库面板时，来源控制面板上的面板也将转换为库面板。转换面板后，您需要保存原始控制面板。

1. 在编辑模式下打开面板。

1. 在面板显示选项中，单击向下箭头选项以可视化效果进行更改。

1. 要打开**创建**对话框，请单击**库面板**选项，然后单击**创建库面板**。

1. 在**库面板名称**中，输入名称。

1. 在**保存在文件夹**中，选择要保存库面板的文件夹。

1. 要保存更改，请单击**创建库面板**。

1. 要保存控制面板，请单击**保存**。

创建库面板后，您可以在面板所在的控制面板上对其进行修改。保存更改后，库面板的所有实例都会反映这些修改。

**向控制面板添加库面板**

如果您想向其他控制面板用户提供可视化效果，请将 Grafana 库面板添加到控制面板。

1. 将鼠标悬停在左侧菜单的**控制面板**选项上，然后从下拉选项中选择**新建控制面板**。此时将打开**添加面板**对话框。

1. 单击从面板库中**添加面板**选项。您将看到库面板的列表。

1. 筛选列表或搜索以查找要添加的面板。

1. 单击面板将其添加到控制面板。

**取消链接库面板**

如果要对库面板进行更改，而不影响库面板的其他实例，请取消链接该面板。

1. 将鼠标悬停在左侧菜单的**控制面板**上，然后单击**库面板**。

1. 选择正在其他控制面板中使用的库面板。

1. 选择要取消链接的面板。

1. 单击面板标题，然后单击**编辑**。该面板将在编辑模式下打开。

1. 单击页面右上角的**取消链接**选项。

**查看库面板列表**

如果要对库面板进行更改，而不影响库面板的其他实例，请取消链接该面板。

1. 将鼠标悬停在左侧菜单的**控制面板**选项上，然后单击**库面板**。您可以看到先前定义的库面板列表。

1. 如果您知道特定库面板的名称，请搜索该面板。您也可以按文件夹或类型筛选面板。

**删除库面板**

当您不再需要某个库面板时，请将其删除。

1. 将鼠标悬停在左侧菜单的**控制面板**上，然后选择**库面板**。

1. 选择要删除的面板。

1. 单击库名称旁边的删除图标。

# 管理控制面板版本历史记录
<a name="v9-dash-manage-version-history"></a>

****  
本文档主题专为支持 **Grafana 9.x 版本**的 Grafana 工作区而设计。  
对于支持 Grafana 10.x 版本的 Grafana 工作区，请参阅[使用 Grafana 版本 10](using-grafana-v10.md)。  
对于支持 Grafana 8.x 版本的 Grafana 工作区，请参阅[使用 Grafana 版本 8](using-grafana-v8.md)。

每当您保存控制面板的某个版本时，都会保存该版本的副本，这样控制面板的先前版本永远不会丢失。输入控制面板设置，然后在左侧菜单中选择**版本**，即可获得这些版本的列表。

控制面板版本历史记录功能允许比较和恢复到之前保存的控制面板版本。

**比较两个控制面板版本**

要比较两个控制面板版本，请从列表中选择要比较的两个版本。单击**比较版本**以查看两个版本之间的差异。

单击按钮后，您将转到差异视图。默认情况下，您将看到更改的文本摘要。

如果要查看代表控制面板的原始 JSON 的差异，也可以单击底部的**查看 JSON 差异**按钮来实现。

如果想要恢复到要比较的版本，可以单击右上角的**恢复到版本 <x>** 按钮来实现。

**恢复到之前保存的控制面板版本**

如果需要恢复到之前保存的控制面板版本，可以单击控制面板版本列表中一行右侧的**恢复**按钮，也可以单击差异视图中出现的**恢复到版本 <x>** 按钮。单击该按钮将弹出以下弹出窗口，提示您确认恢复。

恢复到先前版本后，将创建一个新版本，其中包含与先前版本完全相同的数据，只是版本号不同。这将在新控制面板版本中该行的**备注列**中指示。这样只是为了确保您之前的控制面板版本不受更改的影响。

# 管理控制面板链接
<a name="v9-dash-manage-dashboard-links"></a>

****  
本文档主题专为支持 **Grafana 9.x 版本**的 Grafana 工作区而设计。  
对于支持 Grafana 10.x 版本的 Grafana 工作区，请参阅[使用 Grafana 版本 10](using-grafana-v10.md)。  
对于支持 Grafana 8.x 版本的 Grafana 工作区，请参阅[使用 Grafana 版本 8](using-grafana-v8.md)。

您可以使用链接在常用控制面板之间导航，或者将其他人连接到您的可视化。链接使您能够创建指向其他控制面板、面板甚至外部网站的快捷方式。

Grafana 支持控制面板链接、面板链接和数据链接。控制面板链接显示在控制面板顶部。单击面板左上角的图标即可访问面板链接。

**选择要使用的链接**

首先，了解您当前在控制面板之间导航的方式。如果您经常在一组控制面板之间跳来跳去，而且难以在每个控制面板中找到相同的上下文，那么链接有助于优化您的工作流程。

下一步是找出哪种链接类型适合您的工作流程。尽管 Grafana 中的所有链接类型都用于创建指向其他控制面板或外部网站的快捷方式，但它们在不同的环境中起作用。
+ 如果链接与控制面板中的大多数（如果不是全部）面板相关，请使用控制面板链接。
+ 如果要深入查看特定面板，请使用面板链接。
+ 如果要链接到外部站点，您可以使用控制面板链接或面板链接。
+ 如果要深入查看特定序列，甚至是单个测量值，请使用数据链接。

**使用 URL 控制时间范围**

要控制面板或控制面板的时间范围，您可以在控制面板 URL 中提供查询参数：
+ `from` 定义时间范围的下限，以毫秒纪元为单位指定。
+ `to` 定义时间范围的上限，以毫秒纪元为单位指定。
+ `time` 和 `time.window` 定义了从 `time-time.window/2` 到 `time+time.window/2` 的时间范围。两个参数均应以毫秒为单位指定。例如，`?time=1500000000000&time.window=10000` 将得出 10 秒的时间范围，从 1499999995000 到 1500000005000。

**控制面板链接**

创建控制面板链接时，可包含时间范围和当前模板变量，以直接跳转到另一个控制面板中的相同上下文。这样，您就不必担心发送链接的人查看的是否是正确的数据。有关其他类型的链接，请参阅[数据链接变量]()。

仪表板链接也可以用作外部系统的快捷方式，例如使用[当前仪表板名称提交 GitHub 问题](https://github.com/grafana/grafana/issues/new?title=Dashboard%3A%20HTTP%20Requests)。

添加控制面板链接后，则会显示在控制面板的右上角。

**向控制面板添加链接**

在当前控制面板的顶部添加指向其他控制面板的链接。

1. 在查看要链接的控制面板时，单击屏幕顶部的齿轮以打开**控制面板设置**。

1. 单击**链接**，然后单击**添加控制面板链接**或**新建**。

1. 在**类型**中，选择**控制面板**。

1. 从下面选择链接选项。
   + **带标签**：输入标签，将链接的控制面板限制为仅包含带有您所输入标签的控制面板。否则，Grafana 将包含指向所有其他控制面板的链接。
   + **作为下拉列表**：如果要链接到多个控制面板，则可能需要选择此选项，并在下拉列表中添加可选标题。否则，Grafana 会在控制面板顶部并排显示控制面板链接。
   + **时间范围**：选择此选项可在链接中包含控制面板的时间范围。当用户单击链接时，链接的控制面板将会打开，并显示已设置的指示时间范围。
   + **变量值**：选择此选项可在链接中包含当前用作查询参数的模板变量。当用户单击链接时，链接的控制面板中的任何匹配模板都将设置为链接中的值。有关更多信息，请参阅[控制面板 URL 变量](v9-dash-dashboard-url-variables.md)。
   + **在新选项卡中打开**：如果您希望控制面板链接在新选项卡或窗口中打开，请选择此选项。

1. 单击 **Add（添加）**。

**向控制面板添加 URL 链接**

在当前控制面板的顶部添加指向 URL 的链接。您可以链接到任何可用的 URL，包括控制面板、面板或外部站点。甚至可以控制时间范围，确保用户在 Grafana 中放大正确的数据。

1. 在查看要链接的控制面板时，单击屏幕顶部的齿轮以打开**控制面板设置**。

1. 单击**链接**，然后单击**添加控制面板链接**或**新建**。

1. 在“类型”中，选择**链接**。

1. 从下面选择链接选项。
   + **URL**：输入要链接的 URL。根据目标，您可能希望包含字段值。有关更多信息，请参阅此 [Github 示例](https://github.com/grafana/grafana/issues/new?title=Dashboard%3A%20HTTP%20Requests)。
   + **标题**：输入您希望链接显示的标题。
   + **标题**：输入您希望链接显示的工具提示。
   + **图标**：选择要与链接一起显示的图标。
   + **时间范围**：选择此选项可在链接中包含控制面板的时间范围。当用户单击链接时，链接的控制面板将会打开，并显示设置的指示时间范围。
     + `from` 定义时间范围的下限，以毫秒纪元为单位指定。
     + `to` 定义时间范围的上限，以毫秒纪元为单位指定。
     + `time` 和 `time.window` 定义了从 `time-time.window/2` 到 `time+time.window/2` 的时间范围。两个参数均应以毫秒为单位指定。例如，`?time=1500000000000&time.window=10000` 将得出 10 秒的时间范围，从 1499999995000 到 1500000005000。
   + **变量值**：选择此选项可在链接中包含当前用作查询参数的模板变量。当用户单击链接时，链接的控制面板中的任何匹配模板都将设置为链接中的值。

     变量格式如下：

     `https://${you-domain}/path/to/your/dashboard?var-${template-varable1}=value1&var-{template-variable2}=value2`
   + **在新选项卡中打开**：如果您希望控制面板链接在新选项卡或窗口中打开，请选择此选项

1. 单击 **Add（添加）**。

**更新控制面板链接**

要更改或更新现有控制面板链接，请按照以下步骤操作。

1. 在**控制面板设置**的**链接**选项卡上，单击要编辑的现有链接。

1. 更改设置，然后单击**更新**。

**复制控制面板链接**

要复制现有控制面板链接，请单击要复制的现有链接旁边的复制图标。

**删除控制面板链接**

要删除现有控制面板链接，请单击要删除的重复图标旁边的垃圾桶图标。

**面板链接**

每个面板都有自己的一组链接，这些链接显示在面板左上角。您可以链接到任何可用的 URL，包括控制面板、面板或外部站点。甚至可以控制时间范围，确保用户在 Grafana 中放大正确的数据。

要查看可用的面板链接，请单击面板左上角的图标。
+ **添加面板链接**：每个面板都有自己的一组链接，这些链接显示在面板左上角。您可以链接到任何可用的 URL，包括控制面板、面板或外部站点。甚至可以控制时间范围，确保用户在 Grafana 中放大正确的数据。单击面板左上角的图标，查看可用的面板链接。

  1. 将光标悬停在要添加链接的面板上，然后按 `e` 键。或者单击面板标题旁边的下拉箭头，然后单击**编辑**。

  1. 在**面板**选项卡上，向下滚动到**链接**部分。

  1. 展开**链接**，然后单击**添加链接**。

  1. 输入**标题**。**标题**是链接的可读标签，显示在 UI 中。

  1. 输入要链接的 **URL**。您甚至可以添加在控制面板中定义的一个模板变量。按 `Ctrl+Space` 或 `Cmd+Space` 并单击 URL 字段以查看可用的变量。通过向面板链接添加模板变量，该链接会将用户引导到正确的上下文，且相关变量已设置。

     您还可以使用时间变量。
     + `from` 定义时间范围的下限，以毫秒纪元为单位指定。
     + `to` 定义时间范围的上限，以毫秒纪元为单位指定。
     + `time` 和 `time.window` 定义了从 `time-time.window/2` 到 `time+time.window/2` 的时间范围。两个参数均应以毫秒为单位指定。例如，`?time=1500000000000&time.window=10000` 将得出 10 秒的时间范围，从 1499999995000 到 1500000005000。
+ **更新面板链接**

  1. 在**面板**选项卡上，找到要更改的链接。

  1. 单击**编辑**（铅笔）图标打开编辑链接窗口。

  1. 进行任何必需的更改。

  1. 单击**保存**以保存更改并关闭窗口。

  1. 单击右上角的**保存**将更改保存到控制面板。
+ **删除面板链接**

  1. 在**面板**选项卡上，找到要更改的链接。

  1. 单击要删除的链接旁边的 **X** 图标。

  1. 单击右上角的**保存**将更改保存到控制面板。

# 控制面板 JSON 模型
<a name="v9-dash-dashboard-json-model"></a>

****  
本文档主题专为支持 **Grafana 9.x 版本**的 Grafana 工作区而设计。  
对于支持 Grafana 10.x 版本的 Grafana 工作区，请参阅[使用 Grafana 版本 10](using-grafana-v10.md)。  
对于支持 Grafana 8.x 版本的 Grafana 工作区，请参阅[使用 Grafana 版本 8](using-grafana-v8.md)。

Grafana 中的控制面板由 JSON 对象表示，该对象存储其控制面板的元数据。控制面板元数据包括控制面板属性、面板元数据、模板变量和面板查询。

查看控制面板 JSON 对象。

1. 导航到控制面板。

1. 在顶部导航菜单中，单击**控制面板设置**（齿轮）图标。

1. 单击 **JSON 模型**。

**JSON 字段**

当用户创建新控制面板时，将使用以下字段初始化新的控制面板 JSON 对象。

**注意**  
在以下 JSON 中，ID 显示为 null，这是在保存控制面板之前分配的默认值。保存控制面板后，会为 `id` 字段分配一个整数值。

```
{
  "id": null,
  "uid": "cLV5GDCkz",
  "title": "New dashboard",
  "tags": [],
  "style": "dark",
  "timezone": "browser",
  "editable": true,
  "graphTooltip": 1,
  "panels": [],
  "time": {
    "from": "now-6h",
    "to": "now"
  },
  "timepicker": {
    "time_options": [],
    "refresh_intervals": []
  },
  "templating": {
    "list": []
  },
  "annotations": {
    "list": []
  },
  "refresh": "5s",
  "schemaVersion": 17,
  "version": 0,
  "links": []
}
```

下面介绍了控制面板 JSON 中的每个字段。


| Name | 用法 | 
| --- | --- | 
| **id** | 控制面板的唯一数字标识符（由数据库生成） | 
| **uid** | 任何人都可以生成的唯一控制面板标识符，字符串（8-40） | 
| **删除实例快照** | 控制面板的当前标题 | 
| **tags** | 与控制面板关联的标签，字符串数组 | 
| **style** | 控制面板的主题，例如*深色*或*浅色* | 
| **timezone** | 控制面板的时区，例如 *UTC* 或*浏览器* | 
| **editable** | 控制面板是否可编辑 | 
| **graphTooltip** | 0 表示无共享十字准线或工具提示（默认），1 表示共享十字准线，2 表示共享十字准线和共享工具提示 | 
| **时间** | 控制面板的时间范围，比如*过去 6 小时*或*过去 7 天* | 
| **timepicker** | 时间选取器元数据，详情请参阅[时间选取器部分](#v9-dash-dashboard-json-model) | 
| **templating** | 模板化元数据，详情请参阅[模板化部分](#v9-dash-dashboard-json-model) | 
| **annotations** | 注释元数据，有关如何添加注释，请参阅[注释](v9-panels-annotate-visualizations.md) | 
| **refresh** | 自动刷新间隔 | 
| **schemaVersion** | JSON 架构的版本（整数），每当 Grafana 更新对所述架构进行更改时都会递增 | 
| **版本** | 控制面板的版本（整数），每次更新控制面板时都会递增 | 
| **panels** | 面板阵列（详情见下文） | 

**面板**

面板是控制面板的组成部分。由数据来源查询、图形类型、别名等构成。面板 JSON 由一组 JSON 对象组成，每个对象代表不同的面板。大多数字段对于所有面板都是通用的，但有些字段取决于面板类型。以下是文本面板的面板 JSON 示例。

```
"panels": [
  {
    "type": "text",
    "title": "Panel Title",
    "gridPos": {
      "x": 0,
      "y": 0,
      "w": 12,
      "h": 9
    },
    "id": 4,
    "mode": "markdown",
    "content": "# title"
  }
```

**面板大小和位置**

gridPos 属性以网格坐标描述了面板大小和位置。
+ `w`：1-24（控制面板的宽度分为 24 列）
+ `h`：以网格高度为单位，每个网格代表 30 像素。
+ `x`：x 位置，与 `w` 的单位相同。
+ `y`：y 位置，与 `h` 的单位相同。

网格具有负重力，如果面板上方有空白空间，则会向上移动面板。

**Timepicker**

```
"timepicker": {
    "collapse": false,
    "enable": true,
    "notice": false,
    "now": true,
    "refresh_intervals": [
      "5s",
      "10s",
      "30s",
      "1m",
      "5m",
      "15m",
      "30m",
      "1h",
      "2h",
      "1d"
    ],
    "status": "Stable",
    "type": "timepicker"
  }
```

**模板化**

`templating` 字段包含一组模板变量，及其保存的值和一些其他元数据。

```
"templating": {
    "enable": true,
    "list": [
       {
        "allFormat": "wildcard",
        "current":  {
          "tags": [],
          "text": "prod",
          "value": "prod"
        },
        "datasource": null,
        "includeAll": true,
        "name": "env",
        "options": [
           {
            "selected": false,
            "text": "All",
            "value": "*"
          },
           {
            "selected": false,
            "text": "stage",
            "value": "stage"
          },
           {
            "selected": false,
            "text": "test",
            "value": "test"
          }
        ],
        "query": "tag_values(cpu.utilization.average,env)",
        "refresh": false,
        "type": "query"
      },
       {
        "allFormat": "wildcard",
        "current":  {
          "text": "apache",
          "value": "apache"
        },
        "datasource": null,
        "includeAll": false,
        "multi": false,
        "multiFormat": "glob",
        "name": "app",
        "options": [
           {
            "selected": true,
            "text": "tomcat",
            "value": "tomcat"
          },
           {
            "selected": false,
            "text": "cassandra",
            "value": "cassandra"
          }
        ],
        "query": "tag_values(cpu.utilization.average,app)",
        "refresh": false,
        "regex": "",
        "type": "query"
      }
    ]
  }
```