Архитектура Grafana

Тема дорожной карты · Grafana

Grafana построена по многоуровневой архитектуре: серверная часть на Go отвечает за аутентификацию, проксирование запросов к источникам данных, вычисление алертов и обслуживание REST API, тогда как фронтенд на React отвечает за отрисовку дашбордов, панелей и интерфейса конфигурации. Серверная часть хранит конфигурацию — пользователей, организации, дашборды и учётные данные источников данных — в реляционной базе (SQLite по умолчанию, настраивается через grafana.ini в разделе [database]). При запросе панели серверная часть Grafana выступает прокси: она перенаправляет запрос к соответствующему плагину источника данных и возвращает результат в браузер, поэтому учётные данные источников данных никогда не попадают к конечным пользователям. Система плагинов расширяет эту архитектуру, позволяя плагинам источников данных, панельным плагинам и плагинам-приложениям от сообщества работать в отдельных процессах, взаимодействующих с основным сервером через gRPC. Понимание архитектуры Grafana необходимо для планирования ёмкости, сетевой безопасности и проектирования надёжного мультитенантного мониторингового развёртывания.

Как это работает

Архитектура Grafana — де факто open-source инструмент визуализации + дашбординга для time-series, логов и traces. Подключается к множеству backend (Prometheus, InfluxDB, PostgreSQL, MySQL, Loki, Tempo, Elasticsearch, CloudWatch, …) и рендерит дашборды из панелей. Встроенный alerting оценивает запросы и шлёт уведомления. Дистрибутивы: Grafana OSS (бесплатно), Grafana Cloud (managed), Grafana Enterprise (коммерческие фичи). Естественно пара с Prometheus.

Когда применять

Grafana — для любого observability-дашборда; это стандарт. Grafana OSS — для self-hosted; Grafana Cloud — для удобства hosted, если data sovereignty не ограничение. Для РФ/суверенности — self-host на Yandex Cloud / on-prem. Grafana + Prometheus + Loki + Tempo — современный observability-стек ("LGTM"-стек).

Типичные ошибки

Ловушки Архитектура Grafana: оставлен дефолтный admin-пароль (admin/admin — любой в сети видит данные); экспозиция Grafana в публичный интернет без auth; дашборды как снежинки — каждая команда строит чуть другие для одного и того же (используйте общие dashboard-библиотеки).

Связанные понятия

Полезные ресурсы

Проверить знания (1)

Загрузка вопросов…