Управление источниками данных
Grafana поддерживает множество различных хранилищ для ваших данных временных рядов (источников данных). Обратитесь к разделу источники данных, чтобы узнать больше об использовании источников данных в Grafana. Добавлять источники данных могут только пользователи с ролью администратора организации.
Ссылки на документацию по конкретным источникам данных см. в разделе Источники данных.
Разрешения на источники данных
Вы можете настроить разрешения на источники данных, чтобы разрешить или запретить определённым пользователям возможность запрашивать, редактировать источник данных или администрировать его. Конфигурация каждого источника данных включает вкладку Permissions, где вы можете ограничить разрешения на источник данных для конкретных пользователей, сервисных учётных записей, команд или ролей.
- Разрешение
queryпозволяет пользователям запрашивать данные из источника. - Разрешение
editпозволяет пользователям запрашивать данные из источника, редактировать конфигурацию источника данных и удалять источник данных. - Разрешение
adminпозволяет пользователям запрашивать и редактировать источник данных, изменять разрешения на источник данных и включать или отключать кэширование запросов для источника данных.
Note
Доступно в Grafana Enterprise и Grafana Cloud.
По умолчанию любой пользователь в организации может запрашивать данные из источников данных этой организации. Например, пользователь с ролью Viewer может выполнить любой возможный запрос к источнику данных, а не только запросы, существующие на дашбордах, к которым у него есть доступ. Кроме того, по умолчанию источники данных могут редактироваться пользователем, создавшим источник данных, а также пользователями с ролью Admin.
Назначение разрешений на источник данных пользователям, сервисным учётным записям, командам или ролям
Вы можете назначать разрешения на источник данных пользователям, сервисным учётным записям, командам и ролям, что даёт доступ к запросу, редактированию или администрированию источника данных.
- Нажмите Connections в меню слева.
- В разделе Your connections нажмите Data sources.
- Выберите источник данных, которому вы хотите назначить разрешения.
- На вкладке Permissions нажмите Add a permission.
- Выберите User, Service Account, Team или Role.
- Выберите сущность, для которой вы хотите изменить разрешения.
- Выберите разрешение Query, Edit или Admin.
- Нажмите Save.
Редактирование разрешений на источник данных для пользователей, сервисных учётных записей, команд или ролей
- Нажмите Connections в меню слева.
- В разделе Your connections нажмите Data sources.
- Выберите источник данных, для которого вы хотите отредактировать разрешения.
- На вкладке Permissions найдите разрешение User, Service Account, Team или Role, которое вы хотите обновить.
- Выберите другой вариант в раскрывающемся списке Permission.
Удаление разрешений на источник данных для пользователей, сервисных учётных записей, команд или ролей
- Нажмите Connections в меню слева.
- В разделе Your connections нажмите Data sources.
- Выберите источник данных, у которого вы хотите удалить разрешения.
- На вкладке Permissions найдите разрешение User, Service Account, Team или Role, которое вы хотите удалить.
- Нажмите X рядом с разрешением.
Кэширование запросов и ресурсов
Когда вы включаете кэширование запросов и ресурсов, Grafana временно сохраняет результаты запросов к источникам данных и запросов ресурсов. Когда вы или другой пользователь повторно отправляете тот же запрос или запрос ресурса, результаты возвращаются из кэша, а не из источника данных.
В Grafana запрос относится к обращению за фреймами данных, которые нужно изменить или отобразить. Ресурс относится к любым HTTP-запросам, выполняемым плагином, например, плагин Amazon Timestream запрашивает у AWS список доступных баз данных. Более подробную информацию о запросах и ресурсах источников данных см. на странице для разработчиков о бэкенд-плагинах.
Функция кэширования работает для всех бэкенд-источников данных. Вы можете включить кэш глобально в конфигурации Grafana и настроить длительность кэширования (также называемую Time to Live, или TTL) для каждого источника данных отдельно.
Note
Доступно в Grafana Enterprise и Grafana Cloud.
Доступны следующие варианты бэкенда кэша: в памяти (in-memory), Redis и Memcached.
Note
Хранение кэшированных запросов в памяти может увеличить потребление памяти Grafana. В production-средах настоятельно рекомендуется использовать бэкенд Redis или Memcached.
Когда панель запрашивает данные из источника данных с кэшированными данными, она либо получает свежие данные, либо использует кэшированные данные в зависимости от interval панели. Interval используется для округления временного диапазона запроса до ближайшего кэшированного временного диапазона, что повышает вероятность попадания в кэш. Поэтому широкие панели и дашборды с короткими временными диапазонами получают новые данные чаще, чем узкие панели и дашборды с длинными временными диапазонами.
Interval панели виден в параметрах запроса. Он вычисляется следующим образом: time range / max data points. Max data points рассчитывается на основе ширины панели. Например, широкая панель с 1000 data points на дашборде с временным диапазоном last 7 days будет получать свежие данные каждые 10 минут: 7d / 1000 = 10m. В этом примере кэшированные данные для этой панели будут отдаваться в течение 10 минут, прежде чем Grafana снова обратится к источнику данных за новыми данными.
Вы можете настроить панель на более частое получение данных, увеличив параметр Max data points в параметрах запроса панели.
Преимущества кэширования
Сокращая количество запросов и обращений к источникам данных, кэширование может дать следующие преимущества:
- Более быстрое время загрузки дашбордов, особенно для популярных дашбордов.
- Снижение затрат на API.
- Снижение вероятности того, что API начнут ограничивать или дросселировать запросы.
Источники данных, работающие с кэшированием запросов
Кэширование запросов работает для встроенных источников данных Grafana и бэкенд-плагинов источников данных, которые расширяют класс DataSourceWithBackend в SDK плагинов.
Note
Logs Insights для источника данных CloudWatch не поддерживает кэширование запросов из-за способа запроса логов из AWS.
Чтобы убедиться, что источник данных работает с кэшированием запросов, следуйте инструкциям ниже, чтобы включить и настроить кэширование запросов. Если кэширование включено в Grafana, но вкладка Caching не видна для данного источника данных, значит кэширование запросов недоступно для этого источника данных.
Note
Некоторые источники данных, такие как Elasticsearch, Prometheus и Loki, кэшируют запросы самостоятельно, поэтому кэширование запросов в Grafana не даёт значительного улучшения производительности. Однако кэширование ресурсов может помочь. Подробности см. в разделе ресурсы плагина.
Включение и настройка кэширования запросов
Для включения кэширования запросов для источника данных вы должны быть администратором организации или администратором Grafana. Дополнительную информацию о ролях и разрешениях Grafana см. в разделе О пользователях и разрешениях.
По умолчанию запросы к источникам данных не кэшируются. Чтобы включить кэширование запросов для одного источника данных:
- Нажмите Connections в меню слева.
- В разделе Your Connections нажмите Data sources.
- В списке источников данных нажмите на источник данных, для которого вы хотите включить кэширование.
- Перейдите на вкладку Cache.
- Нажмите Enable.
- (Необязательно) Выберите собственные TTL для кэширования запросов и ресурсов источника данных. Если вы пропустите этот шаг, Grafana использует TTL по умолчанию.
Вы также можете переопределить настроенный TTL источника данных для отдельных панелей дашборда. Это может быть полезно, когда у вас есть запросы, результаты которых меняются чаще или реже настроенного TTL. В представлении Edit Panel выберите источник данных с включённым кэшированием, разверните Query options и введите ваш TTL в миллисекундах.
Note
Если кэширование запросов включено, а вкладка Cache не видна в настройках источника данных, значит кэширование запросов недоступно для этого источника данных.
Чтобы настроить глобальные параметры кэширования запросов, обратитесь к разделу caching документа Настройка Grafana Enterprise.
Отключение кэширования запросов
Чтобы отключить кэширование запросов для одного источника данных:
- Нажмите Connections в меню слева.
- В разделе Your Connections нажмите Data sources.
- В списке источников данных нажмите на источник данных, для которого вы хотите отключить кэширование.
- На вкладке Cache нажмите Disable.
Чтобы отключить кэширование запросов для всего экземпляра Grafana, установите флаг enabled в значение false в разделе caching документа Настройка Grafana Enterprise. Вкладка Cache больше не будет отображаться ни для одного источника данных, и ни один запрос к источникам данных не будет кэшироваться.
Очистка кэша
Если вы столкнулись с проблемами производительности или повторяющиеся запросы стали выполняться медленнее, рассмотрите возможность очистки кэша.
Note
Это действие влияет на все источники данных с включённым кэшированием. Если вы используете Memcached, система очищает все данные из экземпляра Memcached.
- Нажмите Connections в меню слева.
- В разделе Your Connections нажмите Data sources.
- В списке источников данных нажмите на источник данных, для которого вы хотите очистить кэш.
- На вкладке Cache нажмите Clear cache.
Отправка запроса без кэша
Если запрос к источнику данных содержит заголовок X-Cache-Skip, Grafana пропускает middleware кэширования и не ищет ответ в кэше. Это может быть особенно полезно при отладке запросов к источникам данных с помощью cURL.