

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

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

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

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

**查看控制面板 JSON 对象**

1.  打开控制面板。

1.  在顶部导航栏选择**管理控制面板**。

1.  从下拉菜单中选择**查看 JSON**。

## JSON 字段
<a name="dashboard-json-fields"></a>

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

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

```
{
  "id": null,
  "uid": "cLV5GDCkz",
  "title": "New dashboard",
  "tags": [],
  "style": "dark",
  "timezone": "browser",
  "editable": true,
  "hideControls": false,
  "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  |  任何人都可以生成的唯一控制面板标识符。uid 是一个 8-40 个字符的字符串。 | 
|  删除实例快照  |  控制面板的当前标题。 | 
|  tags  |  与控制面板相关联的标签。在 JSON 中，标签是一个字符串数组。 | 
|  style  |  控制面板的主题（例如，dark 或 light）。 | 
|  timezone  |  控制面板的时区（utc 或 browser）。 | 
|  editable  |  是否可以编辑控制面板。 | 
|  graphTooltip  |  工具提示样式。[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/grafana/latest/userguide/dashboard-json-model.html)  | 
|  time  |  控制面板的时间范围（例如，过去 6 小时，过去 7 天）。 | 
|  timepicker  |  时间选取器元数据。有关更多信息，请参阅 [时间选取器](#dashboard-json-timepicker)。 | 
|  templating  |  模板元数据。有关更多信息，请参阅 [模板和变量](templates-and-variables.md)。 | 
|  annotations  |  注释元数据。有关更多信息，请参阅 [Annotations](dashboard-annotations.md)。 | 
|  refresh  |  自动刷新时间间隔。 | 
|  schemaVersion  |  JSON 架构的版本（整数），每当 Amazon Managed Grafana 更新对此架构进行更改时都会递增。 | 
|  version  |  控制面板的版本（整数），每次更新控制面板时都会递增。 | 
|  panels  |  面板数组。有关更多信息，请参阅 [面板](#dashboard-JSON-panels)。 | 

## 面板
<a name="dashboard-JSON-panels"></a>

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

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

### 面板大小和位置
<a name="panel-size-and-position"></a>

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

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

### 时间选取器
<a name="dashboard-json-timepicker"></a>

以下示例显示了 `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"
  }
```

 下表提供了 `timepicker` 的用法细节。


|  Name  |  用法  | 
| --- | --- | 
|  collapse  |  timepicker 是否折叠  | 
|  enable  |  timepicker 是否激活  | 
|  notice  |  TODO  | 
|  now  |  TODO  | 
|  refresh\_intervals  |  TODO  | 
|  status  |  TODO  | 
|  type  |  TODO  | 

### 模板化
<a name="json-templating"></a>

 `templating` 字段包含一个模板变量数组，其中包括这些变量保存的值及其他元数据。以下示例显示 `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"
      }
    ]
  }
```

 下表为模板部分提供了用法细节。


|  Name  |  用法  | 
| --- | --- | 
|  enable  |  模板是否已激活。 | 
|  list  |  一个对象数组，每个对象代表一个模板变量  | 
|  allFormat  |  从数据来源获取所有值时使用的格式（例如 wildcard、glob、regex 和 pipe）。 | 
|  current  |  在控制面板上显示当前选定的变量文本/值  | 
|  data source  |  显示变量的数据来源  | 
|  includeAll  |  所有值选项是否可用  | 
|  multi  |  是否可以从变量值列表中选择多个值  | 
|  multiFormat  |  从数据来源获取时间序列时使用的格式  | 
|  name  |  变量的名称  | 
|  options  |  仪表板上可供选择的变量 text/value 对数组  | 
|  query  |  用于获取变量值的数据来源查询  | 
|  refresh  |  TODO  | 
|  regex  |  TODO  | 
|  type  |  变量的类型（custom、query 或 interval）  | 