Связанные панели Grafana снова обновляют данные — вышла версия 13.1.1

21 июля 2026 года команда разработчиков выпустила обновление Grafana до версии 13.1.1, которое стало первым патчем для ветки 13.1. В этом релизе были исправлены несколько проблем: устаревшие данные в цепочках Dashboard data source, цикличные ошибки HTTP 422, возникающие при использовании Git Sync с GitHub, а также сбои в синхронизации больших дашбордов. В список изменений вошли улучшения стабильности Git Sync, корректности работы панелей, доступности интерфейса и обновление Go до версии 1.26.5. При этом в релизе не были заявлены исправления уязвимостей (CVE).

Grafana
Grafana

Grafana 13.1.1 закрывает семь проблем в панелях, Git Sync и интерфейсе

На официальной странице релиза Grafana 13.1.1 перечислены семь изменений. Новых визуализаций, источников данных или функций для построения дашбордов в патче нет. Разработчики сосредоточились на ошибках, которые могли оставлять графики со старыми значениями, переводить Git-репозитории в состояние unhealthy и останавливать синхронизацию крупных JSON-файлов.

ОбластьИзменение в Grafana 13.1.1Практический эффект
Dashboard data sourceИсправлено обновление связанных панелей внутри Mixed data sourceПосле смены временного диапазона панель получает свежие данные без ручного обновления
Git Sync и GitHubСоздание webhook стало идемпотентнымСуществующий webhook больше не загоняет репозиторий в цикл HTTP 422
ProvisioningДобавлен настраиваемый тайм-аут обработки одного ресурсаКрупные дашборды получают больше времени на запись при полной синхронизации
Подключение GitHubФорма показывает фактическую ошибку GitHubПроще найти неверную пару App ID и private key
ДоступностьInlineToast получает роль alertСкринридер озвучивает всплывающее сообщение
ПагинацияАктивная страница помечается через aria-currentПользователь скринридера понимает текущую позицию в списке
Серверная частьВерсия Go обновлена до 1.26.5Сборка Grafana переходит на актуальный патч среды Go

По объёму это небольшой релиз. При этом два исправления затрагивают достоверность дашбордов и работоспособность GitOps-сценариев, где конфигурация Grafana хранится в Git и автоматически синхронизируется с сервером.

Цепочки Dashboard data source больше не зависают на старых значениях

Grafana позволяет одной панели использовать результат запроса другой панели через источник -- Dashboard --. Такой приём уменьшает число одинаковых запросов к Prometheus, Loki или другой системе хранения: тяжёлый запрос выполняется один раз, а несколько визуализаций используют его результат.

Ошибка проявлялась в более сложной цепочке. Панель-потребитель с Mixed data source обращалась к промежуточной панели, которая сама получала данные через Dashboard data source от третьей панели. После смены временного диапазона промежуточный уровень мог сначала вернуть старое или пустое состояние. Когда исходный запрос завершался, свежие данные доходили до промежуточной панели, но конечная визуализация уже считала обновление завершённым.

В результате один график продолжал показывать прежние значения, хотя соседняя панель с прямой ссылкой на исходный запрос обновлялась нормально. Данные приходили в актуальный временной диапазон, поэтому обычная проверка диапазона такую ситуацию не отсеивала. Пользователю помогало только ручное обновление дашборда.

В Grafana 13.1.1 конечная панель повторно запускает обработку, когда источник передаёт новый завершённый набор данных с тем же идентификатором запроса. Исправление ограничено поведением Dashboard data source и сохраняет прежнюю логику отмены запроса.

При смене интервала с последних 24 часов на последние 15 минут связанная панель должна показывать те же свежие данные, которые уже появились в исходной визуализации.

Git Sync восстанавливает репозитории после ошибки HTTP 422

В некоторых конфигурациях переход с Grafana 13.0.1 на 13.1.0 оставлял Git Sync в состоянии unhealthy. Grafana видела, что идентификатор webhook отсутствует в собственном статусе, и пыталась создать webhook в GitHub повторно. GitHub отвечал кодом HTTP 422, поскольку webhook с тем же адресом уже существовал.

После этого повторная сверка снова запускала создание webhook и получала тот же ответ. Удаление и повторное добавление репозитория могло сохранить проблему: webhook оставался на стороне GitHub, а Grafana по-прежнему не знала его идентификатор.

В версии 13.1.1 операция стала идемпотентной. Идемпотентность здесь означает безопасный повтор одного действия. Когда GitHub сообщает, что webhook уже существует, Grafana запрашивает список webhook, находит нужный по URL, обновляет его параметры и сохраняет найденный идентификатор в статусе репозитория.

Репозиторий выходит из цикла HTTP 422 и продолжает синхронизацию. Подробная механика описана в pull request с исправлением GitHub webhook.

Тайм-аут синхронизации крупных дашбордов увеличен до 30 секунд

Полная синхронизация Git Sync раньше ограничивала обработку каждого ресурса жёстким тайм-аутом в 15 секунд. Дашборд размером свыше 2–3 МБ мог не уложиться в это окно: серверу требовалось время на разбор JSON, строгую проверку, преобразование структуры и запись в unified storage.

При превышении лимита клиент отменял запрос. В журнале появлялись сообщения context canceled, context deadline exceeded или Timeout or abort while handling, а синхронизация репозитория останавливалась.

Grafana 13.1.1 добавляет параметр [provisioning] sync_resource_timeout. Значение по умолчанию составляет 30 секунд. Администратор может увеличить его для репозиториев с крупными дашбордами:

[provisioning]
sync_resource_timeout = 2m

Параметр действует на один ресурс или папку во время полной синхронизации. Инкрементальная синхронизация использует другую схему ограничений и этим параметром не меняется. Технические подробности и допустимый формат значения приведены в изменении тайм-аута Git Sync.

Ошибки подключения GitHub стали понятнее

Настройка Git Sync через GitHub App требует App ID и закрытого ключа. GitHub возвращает разные ответы, когда приложение найдено, но ключ ему не принадлежит, и когда указанный App ID отсутствует. Форма Grafana раньше могла скрыть содержательный ответ API за сообщением вроде invalid value: "".

Grafana 13.1.1 показывает фактическую ошибку GitHub. Администратор получает более точную подсказку: неверен идентификатор приложения, закрытый ключ или их сочетание. Это сокращает диагностику подключения, особенно когда GitHub App создаётся вручную и параметры переносятся между окружениями.

Скринридеры получают уведомления, а сборка переходит на Go 1.26.5

Компонент InlineToast теперь использует атрибут role="alert". Такие всплывающие сообщения появляются после действий пользователя и сообщают об успехе или ошибке. Скринридер получает сигнал об изменении и озвучивает текст уведомления без необходимости переводить фокус на элемент.

Пагинация получила атрибут aria-current для активной страницы. При навигации по длинным спискам пользователь вспомогательной технологии слышит, какой номер страницы выбран сейчас.

Серверную часть Grafana перевели на Go 1.26.5. В changelog релиза это изменение указано как обновление среды сборки. Отдельные исправления безопасности Grafana или номера CVE в опубликованном списке 13.1.1 отсутствуют.

Патч стабилизирует возможности ветки Grafana 13.1

Ветка Grafana 13.1 развивает управление дашбордами через Git Sync. Она поддерживает синхронизацию репозитория с корневым уровнем Grafana, импорт JSON-дашбордов в Git-папку, проверенные подписи коммитов и отображение README.md рядом с дашбордами. Эти возможности описаны в официальном обзоре Grafana 13.1.

Версия 13.1.1 сохраняет набор функций ветки и исправляет сбои вокруг него. Наибольшую разницу заметят три группы:

  • команды, использующие цепочки Dashboard data source внутри Mixed-панелей;
  • администраторы Git Sync с GitHub, особенно после перехода с 13.0.1;
  • владельцы репозиториев с крупными JSON-дашбордами, которые упирались в 15-секундный лимит.

Перед обновлением self-hosted-инсталляции Grafana предлагает сохранить конфигурацию, данные плагинов и базу, проверить процесс в тестовом окружении и обновить плагины после установки новой версии. Порядок действий зависит от способа установки и собран в руководстве по обновлению Grafana 13.1.

Grafana версии 13.1.1 предназначена для устранения специфических операционных неполадок

Grafana 13.1.1 исправляет ситуации, в которых интерфейс мог показывать устаревший график, Git Sync застревал на существующем webhook, а крупный дашборд не успевал записаться за 15 секунд. Для простых дашбордов без Git Sync влияние патча будет ограниченным. В сложных конфигурациях обновление убирает ошибки, которые напрямую мешали наблюдению за системой и хранению дашбордов в Git.

Опубликованный changelog не содержит исправлений CVE. Приоритет обновления определяется используемыми сценариями: цепочками Dashboard data source, GitHub-провижинингом, размером дашбордов и требованиями к доступности интерфейса.

При использовании материалов сайта необходимо указывать ссылку на TGLand.ru. Если вы копируете фрагменты текста в интернете, прямая гиперссылка, доступная для индексации поисковыми системами, должна быть размещена в начале материала.

Вам также может понравиться