

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 儀表板 JSON 模型
<a name="v10-dash-dashboard-json-model"></a>

****  
本文件主題專為支援 Grafana **10.x 版的 Grafana** 工作區而設計。  
如需支援 Grafana 12.x 版的 Grafana 工作區，請參閱 [使用 Grafana 第 12 版](using-grafana-v12.md)。  
如需支援 Grafana 9.x 版的 Grafana 工作區，請參閱 [使用 Grafana 第 9 版](using-grafana-v9.md)。  
如需支援 Grafana 8.x 版的 Grafana 工作區，請參閱 [使用 Grafana 第 8 版](using-grafana-v8.md)。

Grafana 中的儀表板由 JSON 物件表示，該物件存放其儀表板的中繼資料。儀表板中繼資料包括儀表板屬性、面板的中繼資料、範本變數和面板查詢。

**檢視儀表板的 JSON**

1. 導覽至儀表板。

1. 在頂端導覽功能表中，選取**儀表板設定** （齒輪） 圖示。

1. 選取 **JSON 模型**。

## JSON 欄位
<a name="v10-dash-json-fields"></a>

當使用者建立新的儀表板時，會使用下列欄位初始化新的儀表板 JSON 物件。

**注意**  
在下列 JSON 中，id 會顯示為 null，這是在儲存儀表板之前指派給它的預設值。儲存儀表板後，系統會將整數值指派給 `id` 欄位。

```
{
  "id": null,
  "uid": "cLV5GDCkz",
  "title": "New dashboard",
  "tags": [],
  "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 中的每個欄位。


| 名稱 | Usage | 
| --- | --- | 
| `id` | 儀表板的唯一數字識別符 （由 db 產生） | 
| `uid` | 可由任何人產生的唯一儀表板識別符。 字串 (8-40) | 
| `title` | 儀表板的目前標題 | 
| `tags` | 與儀表板相關聯的標籤，字串陣列 | 
| `style` | 儀表板佈景主題，例如 `dark`或 `light` | 
| `timezone` | 儀表板的時區，例如 `utc`或 `browser` | 
| `editable` | 儀表板是否可編輯 | 
| `graphTooltip` | 無共用十字線或工具提示 （預設） 為 0，共用十字線為 1，共用十字線為 2，共用工具提示 | 
| `time` | 儀表板的時間範圍，例如 `last 6 hours`或 `last 7 days` | 
| `timepicker` | timepicker 中繼資料，請參閱 [timepicker 區段](#v10-dash-json-panels)以取得詳細資訊 | 
| `templating` | 範本中繼資料，請參閱[範本區段](#v10-dash-json-panels)以取得詳細資訊 | 
| `annotations` | 註釋中繼資料，請參閱如何新增的[註釋](v10-dash-annotations.md)  | 
| `refresh` | 自動重新整理間隔 | 
| `schemaVersion` | JSON 結構描述的版本 （整數），會在每次 Grafana 更新對此結構描述帶來變更時遞增 | 
| `version` | 儀表板版本 （整數），每次更新儀表板時都會遞增 | 
| `panels` | 面板陣列 （如需詳細資訊，請參閱下一節） | 

## 面板
<a name="v10-dash-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"
  }
```

**面板大小和位置**

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"
      }
    ]
  }
```

下表說明範本欄位的使用方式。


| 名稱 | Usage | 
| --- | --- | 
| `enable` | 是否啟用範本 | 
| `list` | 物件陣列，每個代表一個範本變數 | 
| `allFormat` | 從資料來源擷取所有值時要使用的格式，包括 `wildcard`、`glob`、`regex`、`pipe`。 | 
| `current` | 在儀表板上顯示目前選取的變數文字/值 | 
| `datasource` | 顯示變數的資料來源 | 
| `includeAll` | 是否可使用所有值選項 | 
| `multi` | 是否可以從變數值清單中選取多個值 | 
| `multiFormat` | 從資料來源擷取時間序列時要使用的格式 | 
| `name` | 變數的名稱 | 
| `options` | 可在儀表板上選取的變數文字/值對陣列 | 
| `query` | 用來擷取變數值的資料來源查詢 | 
| `refresh` | 設定何時重新整理變數 | 
| `regex` | 擷取序列名稱或指標節點區段的一部分 | 
| `type` | 變數類型、`query`、 `custom`或 `interval` | 