Установка Grafana
На этой странице перечислены минимальные требования к оборудованию и программному обеспечению для установки Grafana.
Чтобы запустить Grafana, вам нужна поддерживаемая операционная система, оборудование, соответствующее минимальным требованиям или превышающее их, поддерживаемая база данных и поддерживаемый браузер.
Следующее видео проведёт вас через шаги и распространённые команды для установки Grafana в различных операционных системах, как описано в этом документе.
Grafana полагается на другое программное обеспечение с открытым исходным кодом для работы. Список программного обеспечения с открытым исходным кодом, которое использует Grafana, см. в package.json.
Поддерживаемые операционные системы
Grafana поддерживает следующие операционные системы:
Note
Установка Grafana в других операционных системах возможна, но не рекомендуется и не поддерживается.
Рекомендации по оборудованию
Grafana требует следующих минимальных системных ресурсов:
- Минимальная рекомендуемая память: 512 МБ
- Минимальный рекомендуемый ЦП: 1 ядро
Некоторые функции могут требовать больше памяти или ЦП. Дополнительную информацию см. в следующих рекомендациях по определению размеров.
Определение размеров вашего развёртывания
Эти рекомендации по определению размеров охватывают только процесс сервера Grafana, то есть интерфейс, прокси источников данных, движок алертинга и средство отрисовки изображений. Они не учитывают ресурсы, требуемые вашими источниками данных. Хранилища метрик, такие как Prometheus или Grafana Mimir, хранилища журналов, такие как Grafana Loki, и бэкенды трассировок, такие как Grafana Tempo, имеют свои собственные требования к оборудованию и ёмкости. За рекомендациями обратитесь к разделу Планирование ёмкости Grafana Mimir, Определение размеров кластера Loki и Планирование развёртывания Tempo.
Четыре фактора наиболее непосредственно определяют потребности в ресурсах для Grafana:
- Одновременные пользователи: активные одновременные сессии браузера, выполняющие запросы или вызывающие обновление панелей. Это основной фактор нагрузки на ЦП и память. Пользователи, у которых Grafana открыта, но которые не просматривают дашборды активно, создают небольшую нагрузку, если только у этих дашбордов не включено автообновление.
- Правила алертинга: фоновая нагрузка вычисления на планировщике алертов. Большое количество правил с короткими интервалами вычисления может насытить ЦП независимо от активности пользователей. В Grafana OSS движок алертинга работает в том же процессе, что интерфейс и прокси источников данных, поэтому насыщение ЦП алертами напрямую конкурирует с производительностью запросов дашбордов. Именно поэтому на уровне Large важно изолировать вычисление алертов на выделенные экземпляры. Подробности см. в разделе Соображения производительности и ограничения.
- Источники данных: хотя количество проксируемых подключений к источникам данных имеет значение, тип имеет большее значение. Плагины, использующие прокси источников данных бэкенда Grafana — большинство источников SQL, таких как MySQL, PostgreSQL и Microsoft SQL Server — удерживают открытое подключение на каждый запрос на сервере. Источники метрик на основе опроса, такие как Prometheus или Graphite, запрашиваются более эффективно и создают меньшую нагрузку на процесс Grafana. Некоторые плагины, например определённые источники публичных API или Infinity, выполняют запросы непосредственно в браузере и могут не создавать серверной нагрузки — в зависимости от конфигурации плагина и требований аутентификации. Развёртывание с пятью интенсивно запрашиваемыми проксируемыми источниками SQL может превысить потребности в ресурсах развёртывания с двадцатью источниками Prometheus.
- Дашборды и панели: количество панелей и интервал обновления вместе определяют пропускную способность запросов. Дашборд с 30 панелями, обновляющийся каждые 10 секунд, создаёт примерно в шесть раз большую нагрузку запросов, чем тот же дашборд, обновляющийся каждую минуту. Дашборды с большим количеством панелей и короткими интервалами обновления следует рассматривать на уровень выше, чем предполагает их необработанное количество дашбордов. Обратите внимание, что Grafana Enterprise включает кэширование запросов, которое может значительно снизить этот множитель, когда многие пользователи одновременно просматривают один и тот же дашборд, и может понизить развёртывание на один уровень.
Отрисовка изображений и большое количество правил алертинга с короткими интервалами — две наиболее распространённые причины, по которым развёртывание превосходит свои первоначальные размеры. Настройки с несколькими организациями и синхронизация каталога SSO или LDAP добавляют накладные расходы, которые могут переместить развёртывание на следующий уровень.
Уровни развёртывания
Используйте таблицу ниже, чтобы определить, какой уровень описывает вашу рабочую нагрузку, затем обратитесь к соответствующей базовой конфигурации оборудования.
Порог количества дашбордов предполагает примерно 10–20 панелей на дашборд с интервалами обновления 30 секунд или более. Дашборды с большим количеством панелей или более короткими интервалами обновления создают пропорционально большую нагрузку запросов и должны быть отнесены к более высокому уровню. Аналогично, количество источников данных предполагает смесь типов источников. Развёртывания, которые в значительной степени полагаются на проксируемые источники SQL, должны планироваться на следующий уровень выше.
Эти пороги — отправные точки. Проверьте размеры с помощью нагрузочного тестирования, которое отражает фактическую сложность ваших дашбордов, количество панелей и частоты обновления, прежде чем выделять продакшен-оборудование. Определяйте размеры для вашей текущей рабочей нагрузки и включайте запас для всплесков трафика и роста.
Small
Небольшие развёртывания подходят для небольших команд, внутренних инструментов и сред с низким трафиком.
База данных: SQLite работает для локальной разработки и небольших ознакомительных экземпляров, но не рекомендуется для продакшен-сред. Для продакшен-использования рассмотрите внешний экземпляр MySQL или PostgreSQL для более высокой надёжности и ёмкости для роста. Дополнительную информацию см. в разделе Поддерживаемые базы данных.
Отрисовка изображений: необязательна; может работать на том же хосте для лёгкого использования. См. Настройка отрисовки изображений.
Medium
Средние развёртывания подходят для общих командных сред и ведомственных платформ наблюдаемости.
База данных: SQLite не рекомендуется для продакшен-сред и не подходит для этого уровня. Используйте внешнюю базу данных MySQL или PostgreSQL. Руководство по выбору внешней базы данных см. в разделе Поддерживаемые базы данных.
Отрисовка изображений: запускайте средство отрисовки изображений как отдельный процесс или контейнер. Каждый рабочий процесс средства отрисовки использует примерно 1 ГБ памяти; соответственно определяйте размеры хоста средства отрисовки. См. Настройка отрисовки изображений.
Высокая доступность: если вы запускаете два или более экземпляров Grafana, настройте хранилище сессий Redis или включите закреплённые сессии на балансировщике нагрузки, чтобы пользователи не выходили из системы между запросами. См. Настройка Grafana для высокой доступности.
Large
Большие развёртывания подходят для платформ в масштабе организации и высоконагруженных продакшен-сред.
База данных: SQLite не рекомендуется для продакшен-сред и не подходит для этого уровня. Настоятельно рекомендуется высокодоступный кластер MySQL или PostgreSQL. См. Поддерживаемые базы данных.
Отрисовка изображений: запускайте выделенный парк средств отрисовки с несколькими рабочими процессами, изолированный от экземпляров Grafana. Каждый рабочий процесс средства отрисовки использует примерно 1 ГБ памяти. См. Настройка отрисовки изображений.
Вычисление алертов: при более чем 1 000 правилах алертинга или коротких интервалах вычисления менее одной минуты вычисление алертов может насытить ЦП и снизить производительность запросов дашбордов на том же экземпляре. Изолируйте вычисление алертов на один или несколько выделенных экземпляров Grafana в режиме удалённого вычисления, чтобы предотвратить это. См. Соображения производительности и ограничения.
Высокая доступность: требуются закреплённые сессии или общее хранилище сессий Redis. См. Настройка Grafana для высокой доступности.
Задержка источников данных: минимизируйте сетевые переходы между экземплярами Grafana и источниками данных. Ссылки с низкой задержкой к вашей базе данных и источникам данных важны в этом масштабе.
Модель развёртывания: управление тремя или более экземплярами Grafana вместе с кластером Redis, парком средств отрисовки и высокодоступной базой данных становится операционно сложным на голом железе. Kubernetes значительно снижает эту операционную нагрузку на этом уровне. Обратитесь к разделу Развёртывание Grafana на Kubernetes и Helm-чарту Grafana за руководством.
Поддерживаемые базы данных
Grafana требует базу данных для хранения своих конфигурационных данных, таких как пользователи, источники данных и дашборды. Точные требования зависят от размера установки Grafana и используемых вами функций.
Grafana поддерживает следующие базы данных:
По умолчанию Grafana использует встроенную базу данных SQLite, которая хранится в месте установки Grafana. Если вам нужно позже перейти на другую базу данных, учтите, что миграции схемы базы данных и данных — это операции, управляемые клиентом, и они выходят за рамки поддержки Grafana.
Caution
SQLite не рекомендуется для продакшен-сред. Он хорошо работает для локальной разработки и небольших ознакомительных экземпляров, но не масштабируется для продакшен-нагрузок. Если вам нужна высокая доступность, вы должны использовать базу данных MySQL или PostgreSQL. Информацию о том, как определить параметры конфигурации базы данных внутри файла
grafana.ini, см. в разделе [database].
Grafana поддерживает версии этих баз данных, которые официально поддерживаются проектом на момент выпуска версии Grafana. Когда версия Grafana становится неподдерживаемой, Grafana Labs также может прекратить поддержку этой версии базы данных. Политики поддержки для каждого проекта см. по ссылкам выше.
Note
Версии PostgreSQL 10.9, 11.4 и 12-beta2 затронуты ошибкой (отслеживается проектом PostgreSQL как bug #15865), которая препятствует использованию этих версий с Grafana. Ошибка была исправлена в более поздних версиях PostgreSQL.
Note
Бинарные файлы и образы Grafana могут не работать с неподдерживаемыми базами данных, даже если они заявляют о совместимости или воспроизведении API в меру своих возможностей. Бинарные файлы и образы, собранные с BoringCrypto, могут иметь иные проблемы, чем другие дистрибутивы Grafana.
Grafana может сообщать об ошибках при использовании серверов MySQL только для чтения, например в сценариях отработки отказа высокой доступности или бессерверного AWS Aurora MySQL. Это известная проблема; дополнительную информацию см. в issue #13399.
Поддерживаемые веб-браузеры
Grafana поддерживает текущую версию следующих браузеров. Более старые версии этих браузеров могут не поддерживаться, поэтому при использовании Grafana всегда обновляйтесь до последней версии браузера.
Note
Включите JavaScript в вашем браузере. Запуск Grafana без включённого JavaScript в браузере не поддерживается.
- Chrome/Chromium
- Firefox
- Safari
- Microsoft Edge
Часто задаваемые вопросы
What operating systems does Grafana support?
Grafana поддерживает Debian и Ubuntu, RHEL и Fedora, SUSE и openSUSE, macOS и Windows. Вы также можете запускать Grafana в контейнере с Docker или развернуть её на Kubernetes с помощью Helm-чарта Grafana. Установка Grafana в других операционных системах возможна, но не рекомендуется и не поддерживается. Пошаговые инструкции для конкретных платформ см. в руководстве по установке для вашей операционной системы.
What are the hardware recommendations to run Grafana?
Как минимум Grafana нуждается в 512 МБ памяти и 1 ядре ЦП, но это нижняя граница для ознакомления, а не продакшен-цель. Фактические требования определяются четырьмя факторами: одновременные пользователи, количество правил алертинга и частота их вычисления, количество и тип источников данных, а также количество панелей и интервалы обновления дашбордов. Документация группирует рабочие нагрузки в уровни Small, Medium и Large с базовой конфигурацией оборудования для каждого. Например, небольшое развёртывание начинается с 2 ядер и 2–4 ГБ памяти, тогда как большое развёртывание запускает несколько экземпляров с балансировкой нагрузки по 8–16+ ядер и 16–32+ ГБ памяти каждый. Это руководство охватывает только процесс сервера Grafana. Оно не учитывает ваши источники данных, потому что бэкенды метрик, журналов и трассировок, такие как Grafana Mimir, Grafana Loki и Grafana Tempo, имеют свои собственные требования к ёмкости. Рассматривайте уровни как отправные точки и проверяйте их с помощью нагрузочного тестирования, отражающего ваши реальные дашборды, прежде чем выделять продакшен-оборудование. Дополнительную информацию см. в разделе «Определение размеров вашего развёртывания».
What resources do I need to run Grafana?
Чтобы запустить Grafana, вам нужно четыре вещи:
- Поддерживаемая операционная система.
- Оборудование, соответствующее минимальным требованиям или превышающее их.
- Поддерживаемая база данных.
- Поддерживаемый браузер.
Помимо этого, планируйте компоненты, которые масштабируются с вашей рабочей нагрузкой:
- Внешняя база данных MySQL или PostgreSQL для всего, что выходит за рамки небольшого ознакомительного экземпляра.
- Отдельный хост или контейнер для отрисовки изображений. Каждый рабочий процесс средства отрисовки использует примерно 1 ГБ памяти.
- Либо закреплённые сессии, либо общее хранилище сессий Redis, если вы запускаете более одного экземпляра Grafana для высокой доступности.
Помните, что ваши источники данных определяются по размерам отдельно от самой Grafana.
What databases does Grafana support?
Grafana хранит свои собственные конфигурационные данные — пользователей, источники данных, дашборды и так далее — в базе данных и поддерживает следующее:
- SQLite 3.
- MySQL 8.0 или более позднюю версию.
- PostgreSQL 12 или более позднюю версию.
Новые установки по умолчанию используют встроенную базу данных SQLite, хранящуюся в каталоге установки Grafana. SQLite хорошо работает для локальной разработки и небольших ознакомительных экземпляров, но не рекомендуется для продакшена, а высокая доступность требует MySQL или PostgreSQL. Grafana поддерживает версии баз данных, официально поддерживаемые вышестоящим проектом на момент выпуска данной версии Grafana, поэтому поддержка версии базы данных может быть прекращена, когда соответствующая версия Grafana выходит из поддержки. Миграция между базами данных — это операция, управляемая клиентом, которая выходит за рамки поддержки Grafana, поэтому выбирайте ваш бэкенд до масштабирования. Это отдельно от источников данных, которые Grafana запрашивает для визуализации, которые рассматриваются в документации по источникам данных.