MySQL / PostgreSQL

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

Grafana включает встроенные источники данных для MySQL и PostgreSQL, позволяя инженерам писать SQL-запросы, питающие дашборды бизнес-аналитики рядом с панелями мониторинга инфраструктуры. После настройки источника данных с указанием хоста, порта, имени базы и учётных данных вы пишете обычный SQL в редакторе запросов панели Grafana; при этом Grafana автоматически подставляет макросы временного диапазона — например, $__timeFilter(time_column) — чтобы ограничить выборку выбранным в дашборде временным окном. Источники данных MySQL и PostgreSQL поддерживают как режим временных рядов — где столбец time и столбец value отображаются в виде визуализации временного ряда, — так и табличный режим, который выводит произвольные результаты запросов в панели Table. В целях безопасности Grafana рекомендует создавать отдельного пользователя базы данных с правами только на чтение и включать TLS для соединения, что настраивается через параметр TLS/SSL Mode источника данных. Поскольку SQL-запросы могут выполняться долго на больших объёмах данных, включение кэширования запросов на уровне базы данных или Grafana и использование переменных шаблонов для сужения диапазона дат являются важными практиками для обеспечения производительности production-дашбордов на реляционных базах данных.

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

MySQL / PostgreSQL: настраиваются в Settings → Data Sources или через provisioning YAML. Распространённые: Prometheus (метрики), Loki (логи), Tempo (traces), InfluxDB, PostgreSQL, MySQL, Elasticsearch, CloudWatch, OpenSearch. У каждого type-specific конфиг (URL, auth, дефолтные query-опции). Mixed datasource в одной панели позволяет комбинировать запросы из нескольких источников. Test connection до использования ("Save & Test").

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

Provisioning YAML — для декларирования data sources; клики в UI в 10 средах error-prone. Prometheus URL через env var — один Helm chart деплоится в dev/staging/prod с разными backend. Mixed datasource — осторожно; усложняет запросы. Всегда проверяйте, что "Default"-datasource совпадает с самым используемым.

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

Ловушки MySQL / PostgreSQL: data sources с сохранёнными credentials утекают через URL панелей / shared дашбордов (server-side auth где можно); datasource на localhost из Docker-контейнера (используйте docker-internal hostnames или внешние адреса); слишком много data sources = медленный старт UI.

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

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