Upgrade to Grafana v8.0

Warning

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

Warning

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

Warning

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

Technical notes

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

Plugins

Теперь Grafana требует, чтобы все плагины были подписаны. Если плагин не подписан, Grafana не будет загружать/запускать его. Это дополнительная мера безопасности, гарантирующая, что файлы и бинарные файлы плагинов не были изменены. Все плагины, созданные Grafana Labs, включая плагины Enterprise, теперь подписаны. Можно разрешить неподписанные плагины с помощью настройки конфигурации, но мы настоятельно не рекомендуем этого делать. Дополнительную информацию об этой настройке см. в разделе allow loading unsigned plugins.

Grafana Live

Теперь Grafana поддерживает постоянные WebSocket-соединения для обмена сообщениями в реальном времени.

При установлении WebSocket-соединения Grafana проверяет заголовок Origin запроса по соображениям безопасности (например, для предотвращения перехвата WebSocket-соединения). Если у вас правильно определён публичный URL (опция сервера root_url), проверка origin должна успешно проходить для WebSocket-запросов, исходящих со страниц публичного URL. В случае неуспешной проверки origin Grafana возвращает ошибку 403. Также можно добавить список дополнительных шаблонов origin для проверки origin.

Чтобы обрабатывать множество одновременных WebSocket-соединений, вам может потребоваться настройка параметров ОС или инфраструктуры. Grafana Live включён по умолчанию и поддерживает максимум 100 одновременных WebSocket-соединений, чтобы избежать возможных проблем с лимитом файловых дескрипторов ОС. Как только ваша конфигурация соответствует требованиям для масштабирования числа постоянных соединений, этот лимит можно увеличить. У вас также есть возможность отключить Grafana Live.

Дополнительную информацию см. в документации по конфигурации Grafana Live.

Источники данных Postgres, MySQL, Microsoft SQL Server

Grafana v8.0 изменяет нижележащую структуру данных на data frames для источников данных Postgres, MySQL и Microsoft SQL Server. В результате результат запроса Time series возвращается в широком формате. Чтобы визуализации работали так же, как раньше, вам, возможно, придётся выполнить некоторые ручные миграции.

Для любых существующих панелей/визуализаций, использующих запрос Time series, где столбец времени нужен только для фильтрации диапазона времени, например при использовании панели bar gauge или pie chart, мы рекомендуем вместо этого использовать запрос Table query и исключить столбец времени как поле в ответе. Обратитесь к этому комментарию к issue за подробными инструкциями и обходными путями.

Префикс, добавляемый к именам серий

Когда у вас есть запрос, в котором значение времени и числовое значение выбраны вместе со строковым значением, которое не называется _metric, панель графика отображает имена серий как value <hostname> вместо просто <hostname>, как было до Grafana 8.

SQL
SELECT
  $__timeGroup("createdAt",'10m'),
  avg(value) as "value",
  hostname
FROM grafana_metric
WHERE $__timeFilter("createdAt")
GROUP BY time, hostname
ORDER BY time

Существуют два возможных обходных пути для решения этой проблемы:

  1. В Grafana v8.0.3 используйте псевдоним строкового столбца, выбранного как metric, например hostname as metric.
  2. Используйте имя отображения в стандартных определениях полей для форматирования псевдонима. Для примера запроса выше вы бы использовали опцию ${__field.labels.hostname}.

Дополнительную информацию см. в нашей документации по реляционным базам данных: Postgres, MySQL, Microsoft SQL Server.