本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
控制面板 JSON 模型
本文档主题专为支持 Grafana 8.x 版本的 Grafana 工作区而设计。
有关支持 Grafana 版本 12.x 的 Grafana 工作空间,请参阅。在 Grafana 版本 12 中工作
对于支持 Grafana 10.x 版本的 Grafana 工作区,请参阅使用 Grafana 版本 10。
对于支持 Grafana 9.x 版本的 Grafana 工作区,请参阅使用 Grafana 版本 9。
Amazon Managed Grafana 中的控制面板由 JSON 对象表示,该对象存储其控制面板的元数据。控制面板元数据包括控制面板属性、面板元数据、模板变量和面板查询。
查看控制面板 JSON 对象
-
打开控制面板。
-
在顶部导航栏选择管理控制面板。
-
从下拉菜单中选择查看 JSON。
JSON 字段
当用户创建新控制面板时,将使用以下字段初始化新的控制面板 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
|
工具提示样式。
|
time
|
控制面板的时间范围(例如,过去 6 小时,过去 7 天)。 |
timepicker
|
时间选取器元数据。有关更多信息,请参阅 时间选取器。 |
templating
|
模板元数据。有关更多信息,请参阅 模板和变量。 |
annotations
|
注释元数据。有关更多信息,请参阅 Annotations。 |
refresh
|
自动刷新时间间隔。 |
schemaVersion
|
JSON 架构的版本(整数),每当 Amazon Managed Grafana 更新对此架构进行更改时都会递增。 |
version
|
控制面板的版本(整数),每次更新控制面板时都会递增。 |
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 位置。x 位置使用与w相同的列单位。 -
y: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" }
下表提供了 timepicker 的用法细节。
| Name | 用法 |
|---|---|
collapse
|
timepicker 是否折叠 |
enable
|
timepicker 是否激活 |
notice
|
TODO |
now
|
TODO |
refresh_intervals
|
TODO |
status
|
TODO |
type
|
TODO |
模板化
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) |