sql_exporter
Репозиторий: sql_exporter
Документация: Доступна в репозитории (по использованию экспортера и настройке собираемых метрик)
Экспортер для мониторинга SQL-баз данных. Может быть запущен как процесс или как сервис.
Примечание
Примеры конфигурации и использования для различных СУБД можно найти в разделе «Конфигурирование баз данных».
Описание работы
sql_exporter предоставляет метрики из SQL-запросов к различным базам данных.
Это стандартный Prometheus экспортер с HTTP-сервером для отображения метрик.
Он содержит
Эндпойнт /metrics со стандартными метриками (go, proc, promhttp)
Возможность настройки пользовательских SQL-запросов для:
MySQL/MariaDB
PostgreSQL
Oracle
Microsoft SQL Server
SQLite
Основные возможности:
Поддержка множества SQL-драйверов
Настройка частоты опроса для каждого задания
Преобразование результатов SQL-запросов в метрики Prometheus
Поддержка параметризованных запросов
Отслеживание роста таблиц
Мониторинг производительности запросов
Запуск экспортёра
Возможна настройка Ui и через конфигурационный файл агента.
Через конфигурационный файл агента
exporters:
- name: sql_exporter
start_type: args
args: "--config.file=configs/sql_exporter.yml --web.listen-address=0.0.0.0:9399"
address: 127.0.0.1:9399
labels:
component: database
hostname: my-hostname-vm
exporters - секция в которой описывается запуск экспортёров
name - должно совпадать с именем бинарного файла (в данном случае sql_exporter)
start_type - тип запуска экспортёра
args - аргументы командной строки передающиеся экспортёру
address - адрес для опроса экспортёра агентом
labels - дополнительные лейблы которые будут добавлены к метрикам экспортёра
component - пример дополнительного лейбла
hostname - рекомендованый лейбл, по умолчанию hostname агента
Конфигурационный файл экспортера
Пример конфигурации:
jobs:
- name: "postgresql_stats"
interval: "30s"
connections:
- "postgresql://user:password@localhost:5432/dbname?sslmode=disable"
queries:
- name: "connection_stats"
sql: "SELECT COUNT(*) as connections FROM pg_stat_activity"
metrics:
- name: "postgres_connections"
type: "gauge"
help: "Number of active connections"
values: ["connections"]
Проверка работы
После запуска метрики будут доступны по адресу:
Примечание
Замените localhost на IP-адрес хоста с конфигурируемым агентом.