В данной статье будем забирать данные из базы PostgreSQL в дашборд Grafana. Переходим к делу:
Первым делом нам необходима развернутая БД и естественно Grafana. В моем случае будет данная среда будет развернута с помощью docker-compose
version: '3.9'
services:
postgres:
container_name: postgres
image: postgres:15
networks:
default:
ipv4_address: 172.20.0.101
restart: always
environment:
POSTGRES_DB: name_db
POSTGRES_USER: postgres
POSTGRES_PASSWORD: your_secure_password
ports:
- "5432:5432"
volumes:
- ./postgres:/var/lib/postgresql/data
grafana:
container_name: grafana
image: grafana/grafana
networks:
default:
ipv4_address: 172.20.0.103
links:
- postgres
restart: always
ports:
- '3000:3000'
depends_on:
- postgres
volumes:
- ./grafana-storage/_data:/var/lib/grafana
networks:
default:
ipam:
driver: default
config:
- subnet: 172.20.0.0/16
В базе данных необходимо создать таблицы и наполнить их данными, которые мы будем извлекать… Если прям вручную, то можно с помощью программы DBeaver(бобер). Описывать данный процесс не буду.
Заходим в нашу графану по ip и порту 3000: http://localhost:3000 со стандартным логином и паролем admin:admin

Далее нам необходимо придумать новый пароль или нажать skip, если хотим оставить стандартные.
После этого попадаем в главное окно.

Далее нам необходимо настроить источники. Заходим в Connections — Data sources — PostgreSQL

Заполняем данные для подключения к БД.
Вводим имя источника. Host-URL — нам необходимо указать ip адрес контейнера, тк. они ж у нас в одной виртуальной сети. Имя БД, пользователя и пароль вводим свои, какие задали. Т.к. у нас нет SSL , поэтом упроверку ставим в DISABLE.

Остальные параметры оставляем по умолчанию. Листаем вниз и жмем Save & test

После этого уже можно непосредственно создавать наш дашборд!
Переходим в Dashboards — Create dashboard

Жмем Add visualization

Выбираем наш источник

Далее мы попадаем сразу в создание новой панели и в конструктор запросов. Либо можно создавать запросы с помощью SQL синтаксиса

Мне больше нравится использовать SQL запросы для выборки данных

Построим на основе этого простой график.

Сохраняем панельку и любуемся результатом
