+++
title = "JSON модель"
keywords = ["harvest", "dashboard", "documentation", "json", "model"]
aliases = ["/docs/harvest/latest/reference/dashboard/"]
weight = 1200
+++

# JSON-модель информационной панели

Дашборд в Harvest представлен объектом JSON, в котором хранятся метаданные его дашборда. Метаданные панели мониторинга включают свойства панели мониторинга, метаданные из панелей, переменные шаблона, запросы панели и т. д.

Чтобы просмотреть JSON панели мониторинга:

  1. Перейдите к информационной панели.
  1. В верхнем меню навигации щелкните значок **Настройки панели управления** (шестеренка).
  1. Нажмите **Модель JSON**.

## поля JSON

Когда пользователь создает новую панель мониторинга, новый объект JSON панели мониторинга инициализируется со следующими полями:

> **Примечание.** В следующем JSON идентификатор отображается как нуль, который является значением по умолчанию, назначенным ему до тех пор, пока панель мониторинга не будет сохранена. После сохранения панели мониторинга в поле `id` присваивается целочисленное значение.

```json
{
  "идентификатор": ноль,
  "uid": "cLV5GDCkz",
  "title": "Новая панель",
  "теги": [],
  "стиль": "темный",
  "часовой пояс": "браузер",
  "редактируемый": правда,
  "hideControls": ложь,
  "Подсказка к графику": 1,
  "панели": [],
  "время": {
    "от": "сейчас-6ч",
    "к данному моменту"
  },
  "сборщик времени": {
    "параметры_времени": [],
    "интервал_обновления": []
  },
  "шаблон": {
    "список": []
  },
  "аннотации": {
    "список": []
  },
  «обновить»: «5s»,
  "версия схемы": 17,
  "версия": 0,
  "ссылки": []
}
```
Ниже поясняется каждое поле в JSON панели инструментов с его использованием:

Имя                 | Использование                                                                                                           |
| ----------------- | ----------------------------------------------------------------------------------------------------------------- |
| **идентификатор** | уникальный числовой идентификатор панели управления. (генерируется БД) |
| **жидкость** | уникальный идентификатор приборной панели, который может быть сгенерирован кем угодно. струна (8-40) |
| **название** | текущее название приборной панели |
| **теги** | теги, связанные с приборной панелью, массив строк |
| **стиль** | тема приборной панели, т.е. «темная» или «светлая» |
| **часовой пояс** | часовой пояс приборной панели, т. е. `utc` или `browser` |
| **редактируемый** | редактируется ли информационная панель |
| **графикПодсказка** | 0 для отсутствия общего перекрестия или всплывающей подсказки (по умолчанию), 1 для общего перекрестия, 2 для общего перекрестия И общей всплывающей подсказки |
| **время** | диапазон времени для приборной панели, т. е. последние 6 часов, последние 7 дней и т. д. |
| **таймер** | метаданные timepicker, подробности см. в [разделе timepicker](#timepicker) |
| **шаблон** | шаблоны метаданных, подробности см. в [разделе шаблонов](#templating) |
| **аннотации** | метаданные аннотаций, подробности см. в [разделе аннотаций](#annotations) |
| **обновить** | интервал автообновления |
| **версия схемы** | версия схемы JSON (целое число), увеличивающаяся каждый раз, когда обновление Harvest вносит изменения в указанную схему |
| **версия** | версия информационной панели (целое число), увеличивается при каждом обновлении информационной панели |
| **панели** | массив панелей, подробности см. ниже.                                                                       |
## Панели

Панели являются строительными блоками информационной панели. Он состоит из запросов к источникам данных, типов графиков, псевдонимов и т. д. Панель JSON состоит из массива объектов JSON, каждый из которых представляет отдельную панель. Большинство полей являются общими для всех панелей, но некоторые поля зависят от типа панели. Ниже приведен пример панели JSON текстовой панели.

```json
"панели": [
  {
    "тип": "текст",
    "title": "Заголовок панели",
    "сеткаПос": {
      "х": 0,
      "у": 0,
      "ж": 12,
      "ч": 9
    },
    "идентификатор": 4,
    "режим": "уценка",
    "content": "# заголовок"
  }
```

### Размер и положение панели

Свойство gridPos описывает размер и положение панели в координатах сетки.

- `w` 1-24 (ширина приборной панели разделена на 24 столбца)
- `h` В единицах высоты сетки каждый представляет 30 пикселей.
- `x` Позиция x в тех же единицах, что и `w`.
- `y` Позиция y в тех же единицах, что и `h`.

Сетка имеет отрицательную гравитацию, которая перемещает панели вверх, если над панелью есть пустое пространство.

### таймер

```json
"сборщик времени": {
    "крах": ложь,
    "включить": правда,
    "уведомление": ложь,
    "сейчас": правда,
    "интервал_обновления": [
      "5с",
      "10с",
      "30-е годы",
      "1м",
      "5м",
      "15м",
      "30м",
      "1ч",
      "2ч",
      "1д"
    ],
    "статус": "Стабильный",
    "тип": "таймпикер"
  }
```

Использование полей объясняется ниже:

| Имя | Использование |
| --------------------- | -------------------------------------- |
| **свернуть** | свернут ли таймпикер |
| **включить** | включен ли таймпикер |
| **уведомление** | СДЕЛАТЬ |
| **сейчас** | СДЕЛАТЬ |
| **интервал_обновления** | СДЕЛАТЬ |
| **статус** | СДЕЛАТЬ |
| **тип** | СДЕЛАТЬ |

### шаблоны

Поле `templating` содержит массив переменных шаблона с их сохраненными значениями, а также некоторые другие метаданные, например:

```json
 "шаблон": {
    "включить": правда,
    "список": [
      {
        "allFormat": "подстановочный знак",
        "ток": {
          "теги": [],
          "текст": "продукт",
          "значение": "продукт"
        },
        "источник данных": ноль,
        "includeAll": правда,
        "имя": "окружение",
        "опции": [
          {
            "выбрано": ложь,
            "текст": "Все",
            "стоимость": "*"
          },
          {
            "выбрано": ложь,
            "текст": "сцена",
            "значение": "этап"
          },
          {
            "выбрано": ложь,
            "текст": "тест",
            "значение": "тест"
          }
        ],
        "запрос": "tag_values(cpu.utilization.average,env)",
        «обновить»: ложь,
        "тип": "запрос"
      },
      {
        "allFormat": "подстановочный знак",
        "ток": {
          "текст": "апач",
          "значение": "апач"
        },
        "источник данных": ноль,
        «включить все»: ложь,
        "мульти": ложь,
        "мультиформат": "глобус",
        "имя": "приложение",
        "опции": [
          {
            "выбрано": правда,
            "текст": "кот",
            "значение": "кот"
          },
          {
            "выбрано": ложь,
            "текст": "кассандра",
            "значение": "кассандра"
          }
        ],
        "запрос": "tag_values(cpu.utilization.average, приложение)",
        «обновить»: ложь,
        "регулярное выражение": "",
        "тип": "запрос"
      }
    ]
  }
```

Использование вышеупомянутых полей в разделе шаблонов объясняется ниже:
| Имя           | Использование                                                                                                 |
| --------------- | ------------------------------------------------------------------------------------------------------- |
| **включить** | включено ли шаблонирование |
| **список** | массив объектов, каждый из которых представляет одну переменную шаблона |
| **все форматы** | формат для использования при извлечении всех значений из источника данных, например: `подстановочный знак`, `glob`, `regex`, `pipe` и т. д. |
| **текущий** | показывает текущий выбранный текст/значение переменной на приборной панели |
| **источник данных** | показывает источник данных для переменных |
| **включить все** | доступны все значения или нет |
| **мульти** | можно ли выбрать несколько значений из списка значений переменных |
| **мультиформат** | формат для использования при выборке временных рядов из источника данных |
| **имя** | имя переменной |
| **варианты** | массив переменных пар текст/значение, доступных для выбора на приборной панели |
| **запрос** | запрос к источнику данных, используемый для получения значений переменной |
| **обновить** | СДЕЛАТЬ |
| **регулярное выражение** | ЗАДАЧИ |
| **тип** | тип переменной, т.е. `настраиваемый`, `запрос` или `интервал` |