Upgrade to Grafana v9.0

Warning

[ru] DOCS_SHARED: "docs/grafana/latest/upgrade-guide/upgrade-v9.0/index.ru.md" ("/hugo/content/docs/grafana/latest/upgrade-guide/upgrade-v9.0/index.ru.md:19:1") shared directory "docs/grafana/latest/shared" not found

Warning

[ru] DOCS_SHARED: "docs/grafana/latest/upgrade-guide/upgrade-v9.0/index.ru.md" ("/hugo/content/docs/grafana/latest/upgrade-guide/upgrade-v9.0/index.ru.md:21:1") shared directory "docs/grafana/latest/shared" not found

Warning

[ru] DOCS_SHARED: "docs/grafana/latest/upgrade-guide/upgrade-v9.0/index.ru.md" ("/hugo/content/docs/grafana/latest/upgrade-guide/upgrade-v9.0/index.ru.md:23:1") shared directory "docs/grafana/latest/shared" not found

Technical notes

Этот раздел описывает технические изменения, связанные с этим выпуском Grafana.

Управление доступом на основе ролей: изменения для общего выпуска

Тонкозернистое управление доступом теперь называется «Управление доступом на основе ролей (RBAC)». В рамках выпуска Grafana 9.0 функция стала общедоступной, и появилось несколько разрывных изменений:

  • Встроенные роли теперь называются базовыми ролями. Теперь они состоят из разрешений, а не ролей.
  • Ресурс Terraform builtin_role_assignment объявлен устаревшим. Пожалуйста, используйте вместо него ресурс grafana_role.
  • Провижининг Grafana имеет новую схему. Обратитесь к разделу Provisioning RBAC with Grafana, чтобы узнать больше о провижининге.
  • Базовые роли больше не поддерживают наследование разрешений. Ранее, когда изменялись разрешения базовой роли Viewer, это распространялось на базовые роли Editor и Admin. С выпуском Grafana 9.0 это больше не так.
  • Несколько действий управления доступом на основе ролей были переименованы. Все записи базы данных, использующие устаревшие имена действий, будут мигрированы на новые имена, но файлы провижининга и скрипты придётся обновить пользователю. Это изменение также означает, что если Grafana будет понижена с 9.0 до более низкой версии, некоторые разрешения управления доступом на основе ролей не будут корректно разрешены.

Loki: изменён формат данных логов

В источнике данных Loki формат данных, используемый для представления данных логов Loki, изменён на более эффективный формат. (ПРИМЕЧАНИЕ: это изменение применяется только к данным логов, оно не касается числовых данных) Логи представлены одним dataframe с добавленным полем «labels» вместо отдельных dataframe для каждой комбинации меток. Отображение данных логов в explore или на дашборде с использованием панели логов будет продолжать работать без изменений. Однако при отображении данных логов на других панелях дашборда, например в визуализации таблицы, изменения будут видны, и конфигурацию, возможно, потребуется скорректировать. Например, если использовалось преобразование «Labels to fields», его необходимо заменить на преобразование «Extract fields», где в качестве источника выбрано поле «labels».

Loki: изменено представление значений NaN в числовых данных

В источнике данных Loki, когда grafana получает числовые данные от Loki, они могут содержать значения NaN (не число). Из соображений согласованности и производительности мы изменили способ представления таких значений в Grafana. В предыдущих версиях поведение различалось между запросами оповещений и другими запросами (такими как запросы дашбордов или запросы explore). Запросы оповещений сохраняли значения NaN без изменений, а другие запросы преобразовывали эти значения в «null». Начиная с grafana 9.0.0, мы всегда будем сохранять эти значения без изменений. Другими словами, запросы на дашбордах и в explore будут вести себя так же, как запросы оповещений в этом отношении.

Elasticsearch: удалена поддержка версий после окончания срока службы

Поддержка версий Elasticsearch, вышедших за пределы срока службы (на основе https://www.elastic.co/support/eol), была удалена. Это означает, что версии старше Elasticsearch 7.10.0 не будут поддерживаться в Grafana 9.0.0.

Elasticsearch: удалена поддержка режима доступа из браузера

В источнике данных Elasticsearch режим доступа из браузера был объявлен устаревшим в grafana 7.4.0 и удалён в 9.0.0. Если вы использовали этот режим, переключитесь на режим доступа с сервера на странице конфигурации источника данных.

Prometheus: изменено представление значений NaN в числовых данных

В источнике данных Prometheus, когда grafana получает числовые данные от Prometheus, они могут содержать значения NaN (не число). Из соображений согласованности и производительности мы изменили способ представления таких значений в Grafana. В предыдущих версиях поведение различалось между запросами оповещений и другими запросами (такими как запросы дашбордов или запросы explore). Запросы оповещений сохраняли значения NaN без изменений, а другие запросы преобразовывали эти значения в «null». Начиная с grafana 9.0.0, мы всегда будем сохранять значения NaN без изменений для всех запросов.

Преобразования: разрешены более сложные регулярные выражения в переименовании по regex

Преобразование переименования по regex было улучшено, чтобы разрешить глобальные шаблоны вида /<stringToReplace>/g. В зависимости от используемого совпадения regex это может привести к тому, что некоторые преобразования будут вести себя немного иначе. Вы можете гарантировать такое же поведение, как раньше, обернув строку совпадения в прямые слэши (/), например (.*) станет /(.*)/. (Github Issue #48179)

Панель часов

Мы обновили панель часов до версии 2.0.0, чтобы сделать её совместимой с Grafana 9. Предыдущая версия 1.3.1 приведёт к сбою Grafana 9 при использовании на дашборде, поэтому мы рекомендуем обновить панель перед миграцией на Grafana 9.

Панель Polystat

Мы обновили панель polystat до версии 1.2.10, чтобы сделать её совместимой с Grafana 9. Предыдущие версии 1.2.8 и ниже будут отображаться пустыми в Grafana 9. Мы рекомендуем обновить панель перед миграцией на Grafana 9 или сразу после неё.

Конвертное шифрование включено по умолчанию

Начиная с v8.3 был добавлен новый вид шифрования, называемый «envelope encryption», для тех секретов, которые хранятся в базе данных Grafana (учётные данные источников данных, учётные данные каналов уведомлений оповещений, токены oauth и т. д.), за флагом функции с именем envelopeEncryption.

В v9.0 флаг функции envelopeEncryption заменён в пользу disableEnvelopeEncryption, и конвертное шифрование теперь является механизмом шифрования, используемым по умолчанию.

Поэтому любой секрет, созданный или обновлённый в Grafana v9.0, не сможет быть расшифрован ни одной предыдущей версией Grafana, если только флаг функции envelopeEncryption не будет включён в предыдущей версии (доступен только начиная с v8.3). Это необходимо учитывать в конфигурациях высокой доступности, при поэтапном развёртывании или в случае необходимости отката к предыдущей версии Grafana по любой причине.

Здесь рекомендуется включить envelopeEncryption для старых версий или, в качестве альтернативы, включить disableEnvelopeEncryption перед обновлением до v9.0. Однако последнее, вероятно, будет удалено в одном из следующих выпусков, поэтому мы настоятельно рекомендуем перейти на конвертное шифрование.

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

Примечание о лицензировании Grafana Enterprise

Когда мы выпустим Grafana 9.0 14 июня, Grafana больше не будет по-разному ограничивать просмотрщиков и редакторов-администраторов. Это означает, что независимо от того, является ли ваша лицензия Grafana Enterprise многоуровневой или комбинированной, вместо отображения этого на странице Stats & Licensing:

Separate license
Separate license

Вы увидите это:

Combined license
Combined license

Это также означает, что Grafana будет считать всех пользователей одинаково, независимо от их роли, включая роли организации (Viewer, Editor, Admin) и тонкозернистые роли (Dashboard Editor, Reports Editor и т. д.). Вы не увидите отдельного предупреждающего баннера и пользователи не будут заблокированы, если вы достигнете лимита просмотрщиков или редакторов-администраторов, только ваш общий комбинированный лимит активных пользователей.

Например, если у вас есть лицензия на 10 активных администраторов и 100 активных просмотрщиков в вашей лицензии Grafana Enterprise, то начиная с v9.0 у вас будет лимит в 110 активных пользователей, и не имеет значения, какие роли у этих пользователей, все они будут учитываться и соблюдаться одинаково.

Это более мягкая политика, чем раньше.