Стратегии обновления самостоятельно управляемого экземпляра Grafana

В Grafana Labs мы верим в выпуск функций как можно раньше и чаще, и в последние годы мы усилили нашу приверженность этой философии.

Мы больше не ждём ежегодного основного выпуска, чтобы дать вам доступ к следующему крупному улучшению. Вместо этого мы регулярно предоставляем новые функции, исправления ошибок и патчи безопасности нашим самоуправляемым пользователям (Grafana OSS и Grafana Enterprise) в течение всего года.

Наличие надёжного процесса выпуска даёт таким пользователям, как вы, лучший опыт работы с Grafana, а также предоставляет гибкость в обновлении таким образом, который лучше всего подходит вам и вашей организации.

Note

Grafana Cloud имеет другой график выпуска, чем Grafana OSS и Enterprise. В Cloud Grafana использует каналы Rolling release. Чтобы узнать больше о каналах выпуска, см. раздел Rolling release channels for Grafana Cloud.

Чего ожидать от каждого типа выпуска

Мы разделяем выпуски Grafana OSS и Grafana Enterprise на три основные категории:

  • Minor release (каждый второй месяц): Эти выпуски могут включать новые функции, уведомления об устаревании, уведомления о предстоящих разрывных изменениях, ранее объявленные разрывные изменения, исправления ошибок и патчи уязвимостей безопасности.
  • Major release (раз в год, в апреле/мае): Они похожи на minor release, но сопровождаются GrafanaCON и подробным руководством по обновлению для пользователей, которые предпочитают обновляться только раз в год.
  • Patching release (не реже одного раза в месяц): Они включают исправления ошибок для текущих поддерживаемых версий, а также любые патчи уязвимостей безопасности.

Вы можете выбрать свой график: для частых самоуправляемых обновлений вам следует следовать minor release (например, обновление 11.1 до 11.2), что также даёт доступ к последним функциям. Если вам нужен более длительный период для анализа наших новых выпусков, вам следует следовать major releases. Обе стратегии получают патчи безопасности (исправления безопасности высокой серьёзности также приводят к внеплановым патч-выпускам). Мы дадим дополнительные рекомендации по графикам обновления далее в этом руководстве.

Как узнать подробности о выпуске

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

Мы предоставляем документацию по выпускам в нескольких местах для удовлетворения различных потребностей:

  • What’s new описывает новые функции, дебютирующие в каждом major и minor выпуске.
  • Breaking changes уведомляют вас об обновлениях, включённых в major выпуски, которые могут повлиять на вас, и предоставляют рекомендации по смягчению последствий при необходимости.
  • Upgrade guides инструктируют вас о том, как обновиться до более новой minor или major версии.
  • И, наконец, changelog генерируется для каждого выпуска (major, minor, patching, security) и описывает все изменения, включённые в этот выпуск.

Когда ожидать выпуски

Grafana выпускает новую minor версию каждый второй месяц, с патч-выпусками между ними. Ниже приведены запланированные выпуски на оставшуюся часть 2026 года. Однако эти даты могут быть изменены:

Дата выпуска Версии Grafana Тип выпуска
24 февраля 2026 12.4 и поддерживаемые версии Minor и patching
14 апреля 2026 Grafana 13 Major
23 июня 2026 13.1 и поддерживаемые версии Minor и patching
21 июля 2026 Поддерживаемые версии Patching
4 августа 2026 Поддерживаемые версии Patching
18 августа 2026 13.2 и поддерживаемые версии Minor и patching
1 сентября 2026 Поддерживаемые версии Patching
20 октября 2026 13.3 и поддерживаемые версии Minor и patching

Несколько важных замечаний

  • Приведённый выше график описывает, как мы планируем даты выпуска. Однако непредвиденные события и обстоятельства могут привести к изменению дат.
  • Инциденты безопасности высокой серьёзности и деградации функций приведут к внеплановым выпускам, которые не планируются заранее.
  • Патч-выпуски предназначены для всех поддерживаемых minor-версий Grafana. Каждая поддерживаемая minor-версия получает патч-выпуски с исправлениями ошибок и патчами безопасности до окончания срока её поддержки.
  • Заморозки выпусков: Каждый год Grafana проводит две заморозки выпусков, приуроченные к праздничному сезону. В это время не выполняется ни одного запланированного выпуска. Однако это не относится к изменениям, которые могут потребоваться в ходе эксплуатационного или инцидента безопасности.

Выпуски безопасности Grafana: улучшенное соглашение об именовании версий

Мы усовершенствовали наше соглашение об именовании версий выпусков безопасности, чтобы было проще чётко отличать наши выпуски безопасности от стандартных патч-выпусков.

В прошлом критические уязвимости вызывали внеплановые выпуски, которые увеличивали номер патча (например, 10.3.0 до 10.3.1). Однако мы обнаружили, что соглашение об именовании этих выпусков не чётко передавало характер обновления. Например, если была смена версии с 11.3.0 на 11.3.1, не было никакого указания, является ли это исправлением безопасности, исправлением ошибки или обновлением с новыми функциями. Это отсутствие ясности приводило к путанице в отношении срочности и характера обновления.

Note

Docker не допускает знак плюс (+) в именах тегов образов. Знак плюс (+) будет отображаться как дефис (-) в теге docker.

Наш новый подход напрямую решает эту проблему. Впредь к выпускам безопасности будет добавляться суффикс «+security», указывающий, что выпуск является указанной версией ПЛЮС исправление безопасности.

Например: Выпуск с именем «11.2.3+security-01» будет состоять из того, что было выпущено в 11.2.3, ПЛЮС указанное исправление безопасности. После выпуска исправление безопасности также будет автоматически включено во все будущие выпуски затронутой версии.

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

Что нужно знать о поддержке версий

Самоуправляемые пользователи Grafana контролируют, когда они обновляются до новой версии Grafana. Чтобы помочь вам принять обоснованное решение о том, наступило ли время обновления, важно понимать уровень поддержки, предоставляемый для вашей текущей версии.

Для самоуправляемой Grafana (как Enterprise, так и OSS) поддержка версий следует этим правилам:

  • Каждая minor-версия поддерживается в течение 9 месяцев после даты её выпуска
  • Последняя minor-версия major-версии получает расширенную поддержку в течение 15 месяцев после даты её выпуска
  • Уровни поддержки меняются по мере выпуска новых версий:
    • Full Support: Текущая major-версия получает новые функции через новые minor-выпуски
    • Patch Support: Отдельные minor-версии получают патч-выпуски (исправления ошибок и патчи безопасности) до окончания срока службы
    • Not Supported: Версии, вышедшие за пределы периода поддержки, не получают никаких обновлений

Вот обзор поддержки версий на период до 2027 года:

Версия Дата выпуска Дата окончания поддержки Уровень поддержки
11.4.x 5 декабря 2024 5 сентября 2025 Not Supported
11.5.x 28 января 2025 28 октября 2025 Not Supported
11.6.x (последний minor 11) 25 марта 2025 25 июня 2026 Not Supported
12.0.x 5 мая 2025 5 февраля 2026 Not Supported
12.1.x 22 июля 2025 22 апреля 2026 Not Supported
12.2.x 23 сентября 2025 23 июня 2026 Not Supported
12.3.x 19 ноября 2025 19 августа 2026 Not Supported
12.4.x (последний minor 12) 24 февраля 2026 24 мая 2027 Patch Support
13.0.x 14 апреля 2026 9 января 2027 Patch Support
13.1.x 23 июня 2026 20 марта 2027 Patch Support
13.2.x 18 августа 2026 18 мая 2027 Patch Support
13.3.x 20 октября 2026 20 июля 2027 Patch Support

Как поддерживаются эти версии?

Самоуправляемая Grafana следует семантическому версионированию (MAJOR.MINOR.PATCH). Вот как работают различные типы выпусков:

  • Major releases (например, 12.0.0, 13.0.0):

    • Отличные новые функции, а также значительные архитектурные улучшения и модернизации
    • Могут включать разрывные изменения, требующие шагов миграции
    • Выпускаются раз в год
  • Minor releases (например, 12.3.0, 12.4.0):

    • Содержат новые функции и улучшения
    • Включают исправления ошибок и патчи безопасности
    • Выпускаются каждый второй месяц
  • Patch releases (например, 12.3.1, 12.3.2):

    • Только исправления ошибок и патчи безопасности
    • Без новых функций — они ждут следующего minor-выпуска
    • Выпускаются ежемесячно

Уровни поддержки по версиям:

  • Full Support (текущая major-версия):

    • Получает новые minor-выпуски с новыми функциями примерно каждый второй месяц
    • Все minor-версии в рамках major получают патч-выпуски до окончания срока службы
    • Пример: Major 12.x получает новые функции через 12.1.0, 12.2.0, 12.3.0 и т. д.
  • Patch Support (отдельные minor-версии):

    • Каждая minor-версия получает патч-выпуски (исправления ошибок и патчи безопасности) до окончания срока службы
    • Без новых функций — они появляются только с новыми minor-выпусками
    • Пример: 12.3.x получает 12.3.1, 12.3.2 и т. д. только с исправлениями
  • Not Supported: Версии, вышедшие за пределы периода поддержки, не получают никаких обновлений, и их следует обновить.

Пример: Когда выпускается 12.3.0, она включает новые функции. Последующие выпуски, такие как 12.3.1 и 12.3.2, включают только исправления ошибок и обновления безопасности. Все новые функции, разработанные после 12.3.0, ждут выхода 12.4.0.

Что такое критическая деградация функций?

Критическая деградация функций обычно соответствует одному из следующих критериев:

  • Основная функциональность повсеместно недоступна (например, невозможно создавать дашборды, невозможна аутентификация).
  • Крупное (критическое) влияние на значительное количество клиентов.
  • Крупный эскалированный инцидент для одного или нескольких клиентов.

Стратегии самостоятельного обновления

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

Стратегия/график Преимущества/недостатки Пример процедуры обновления
Minor / раз в два месяца (11.1 до 11.2) Наша рекомендуемая стратегия. Она сочетает актуальные безопасные выпуски с доступом к последним функциям сразу после их выпуска.
  • Небольшой changelog для анализа
  • Наивысшая совместимость с активно поддерживаемыми плагинами
  • Простая миграция в Grafana Cloud
  • Январь 2025: Вы анализируете changelog 11.5 и разворачиваете выпуск в тестировании
  • Февраль 2025: Вы разворачиваете 11.5 в production
  • Март 2025: Выпущена 11.6
Major / раз в год (10.0 до 11.0) Ежегодный путь обновления, который по-прежнему даёт доступ к актуальным функциям, представленным на GrafanaCON.
  • Большой changelog для анализа
  • Высокая совместимость с плагинами
  • Относительно простая миграция в Grafana Cloud
  • Май 2024: Выпущена 11.0, вы начинаете большой анализ changelog
  • Июнь 2024: Вы разворачиваете 11.0 в тестировании
  • Июль 2024: Вы разворачиваете 11.0 в production
  • Май 2025: Выпущена 12.0
Предыдущий major / раз в год (10.4 до 11.6) Выпуск с расширенным сроком поддержки
  • Ограниченная совместимость с активно разрабатываемыми плагинами
  • Большой changelog для анализа
  • Миграции в Grafana Cloud могут потребовать профессиональной поддержки
  • Май 2025: Выпущена 12.0, что отмечает предыдущий minor (11.6.x) с расширенной поддержкой, вы начинаете большой анализ changelog (10.4.x до 11.6.x)
  • Июнь 2025: Вы разворачиваете 11.6.x в тестировании
  • Июль 2025: Вы разворачиваете 11.6.x в production

Следуйте стратегии «minor» для максимальной гибкости, так как вы также можете изредка удлинять график до полного квартала и по-прежнему полагаться на поддержку вашей текущей развёрнутой minor-версии исправлениями безопасности.

Как команда Grafana выявляет ошибки и разрывные изменения в процессе выпуска

  1. Каждая команда пишет автоматические тесты для своего кода, и мы запускаем автоматические тесты, которые включают модульные тесты, интеграционные тесты, сквозные тесты и нагрузочные тесты. Для плагинов в частности мы тестируем внешнюю и бэкенд-части источника данных (unit), интеграцию источника данных с матрицей версий Grafana (E2E) и контракт между источником данных и API, который он потребляет (integration).
  2. Мы выполняем внутреннее ручное приёмочное и дымовое тестирование новых функций, разворачивая их в нашем внутреннем стеке observability. После этого мы постепенно разворачиваем их в Grafana Cloud, а затем выпускаем OSS и Enterprise выпуск. Каждый этап выявляет ошибки.
  3. Мы выпускаем новые функции в стадиях выпуска Experimental или Private Preview, за флагами функций. Это помогает нам улучшать функцию во время разработки. Если вы заинтересованы в получении раннего доступа к функциям (включая среды разработки или тестирования), пожалуйста, сообщите нам.
  4. Мы непрерывно сканируем Grafana, все плагины и их зависимости на предмет уязвимостей безопасности.

Как снизить вероятность ошибок и проблем при обновлении

Несмотря на тщательное тестирование, при обновлении могут возникнуть проблемы:

Ошибки

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

Снизьте риск ошибок, оставаясь в курсе и разворачивая обновления в средах разработки или тестирования перед production. Лицензия Grafana Enterprise даёт вам право на дополнительный экземпляр dev и test для этой цели, доступный через вашу команду аккаунта, а в Grafana Cloud вы можете создавать dev и test стеки, которые обновляются перед production, используя каналы rolling release.

  • Регулярно создавайте резервные копии вашей базы данных, особенно перед обновлением.
  • Откатывайтесь и сообщайте о проблемах, если они возникают в dev или test.
  • В Cloud запускайте dev или test стек на канале fast, а ваш production стек — на steady или slow. Чтобы изменить канал выпуска, откройте тикет в поддержку.

Известные разрывные изменения

Как правило, мы всегда стремимся к обратной совместимости и миграции и приберегаем разрывные изменения для ежегодного major-выпуска Grafana. Однако иногда небольшие разрывные изменения (например, обновления полезной нагрузки API) выходят в minor-выпусках. Они анонсируются в руководствах по обновлению, What’s New и нашем changelog.

Всегда читайте руководство по обновлению и changelog перед обновлением, чтобы узнать и учесть разрывные изменения.

Несовместимость плагинов

Ядро Grafana поставляется как единый бинарный файл и состоит из Dashboards, Alerts, Explore, Authentication and Authorization, Reporting, некоторых встроенных источников данных и других компонентов. Однако почти все, кто использует Grafana, также используют плагины: панели, источники данных и приложения, которые выпускаются независимо от Grafana. Каждая версия плагина указывает зависимости от версии Grafana (вы можете увидеть их на https://grafana.com/grafana/plugins/), но разные версии разных плагинов также могут взаимодействовать друг с другом — например, вы можете визуализировать данные из источника данных на панели в Grafana, и все три версии независимы друг от друга. Это может создавать проблемы, которые трудно обнаружить при тестировании.

Чтобы минимизировать вероятность проблем несовместимости плагинов, запускайте последнюю доступную версию плагинов и регулярно обновляйте их. Всегда обновляйте плагины перед обновлением Grafana. Плагины также следуют паттернам Semver, поэтому проверьте changelog плагина на предмет разрывных изменений перед обновлением до новой major-версии этого плагина.