JSON-модель панели¶
Каждая панель имеет JSON-представление. Знать эту структуру необходимо для автоматизации панелей, создания кода и отладки.
Структура панели Time Series (базовый пример)¶
{
"id": 1,
"title": "RPS",
"type": "timeseries",
"gridPos": { "x": 0, "y": 0, "w": 12, "h": 8 },
"datasource": { "type": "prometheus", "uid": "P8E80F9AEF21F6940" },
"targets": [
{
"refId": "A",
"expr": "rate(http_requests_total[5m])",
"legendFormat": "{{job}}",
"intervalFactor": 1,
"format": "time_series"
}
],
"fieldConfig": {
"defaults": {
"unit": "reqps",
"min": 0,
"custom": {
"lineWidth": 2,
"fillOpacity": 10,
"spanNulls": false
}
}
},
"options": {
"tooltip": { "mode": "multi", "sort": "none" },
"legend": { "mode": "table", "stack": true }
}
}
Ключевые поля¶
| Поле | Значение |
|---|---|
id |
Уникальный идентификатор панели внутри дашборда |
type |
Тип панели: timeseries, stat, table, gauge, geomap и другие |
gridPos |
Положение x,y и размер w,h на сетке (1-24 колонки) |
targets |
Массив запросов (refId="A" — первое измерение) |
fieldConfig.defaults |
Настройки единиц, мин/макс, цветов по умолчанию |
fieldConfig.overrides |
Массив переопределений: совпадение по имени + замена настройки |
transformations |
Опциональный массив трансформаций данных |