Перейти к содержанию

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 Опциональный массив трансформаций данных



Далее: Шаблоны дашбордов