Обзор монитор баз данных (ODBC)
ODBC — это промежуточный программный интерфейс, написанный на языке программирования C, который позволяет взаимодействовать с системами управления базами данных (СУБД). Этот интерфейс был разработан компанией Microsoft, а затем адаптирован для использования на других платформах.
Glaber может осуществлять запросы к любой базе данных, поддерживаемой ODBC. Для этого Glaber не устанавливает прямое соединение с базами данных, а использует интерфейс ODBC и драйверы, настроенные в ODBC.
Эта возможность позволяет более эффективно отслеживать различные базы данных для разных целей, например, для проверки конкретных очередей баз данных, анализа статистики использования и т. д.
Glaber поддерживает unixODBC, который является одной из наиболее распространённых реализаций API ODBC с открытым исходным кодом.
Установка unixODBC
Для установки unixODBC рекомендуется использовать репозитории пакетов операционной системы Linux. В большинстве популярных дистрибутивов Linux unixODBC уже включён в репозиторий пакетов. Если же он отсутствует, его можно загрузить с домашней страницы unixODBC.
Для компиляции Glaber с поддержкой unixODBC требуется пакет unixodbc-dev или unixODBC-devel.
Установка unixODBC в операционных системах Ubuntu и Debian с использованием менеджера пакетов apt:
apt install unixodbc unixodbc-dev
Установка unixODBC в системах на базе Red Hat или Fedora осуществляется с помощью менеджера пакетов dnf:
dnf install unixODBC unixODBC-devel
Установка unixODBC в системах на базе SUSE с помощью менеджера пакетов zypper:
zypper in unixODBC-devel
Установка драйверов unixODBC
Для базы данных, которую мы будем отслеживать, нужно установить драйвер базы данных unixODBC.
unixODBC предоставляет список поддерживаемых баз данных и драйверов. В некоторых дистрибутивах Linux драйверы баз данных уже включены в репозитории пакетов.
Установка драйвера базы данных MySQL в системах Ubuntu/Debian с помощью менеджера пакетов apt:
apt install odbc-mariadb
Установка драйвера базы данных MySQL в системах на базе RedHat/Fedora с помощью менеджера пакетов dnf:
dnf install mariadb-connector-odbc
Установка драйвера базы данных MySQL в системах на базе SUSE с помощью менеджера пакетов zypper:
zypper in mariadb-connector-odbc
Настройка unixODBC
Настройка ODBC выполняется путем редактирования файлов odbcinst.ini и odbc.ini. Чтобы проверить расположение файла конфигурации, введите:
odbcinst -j
odbcinst.ini используется для вывода списка установленных драйверов баз данных ODBC:
[mysql]
Description = ODBC for MySQL
Driver = /usr/lib/libmyodbc5.so
Подробная информация о параметрах:
Атрибут | Описание |
---|---|
mysql | Имя драйвера базы данных. |
Description | Описание драйвера базы данных. |
Driver | Расположение библиотеки драйверов базы данных. |
odbc.ini используется для определения источников данных:
[test]
Description = MySQL test database
Driver = mysql
Server = 127.0.0.1
User = root
Password =
Port = 3306
Database = Glaber
Подробная информация о параметрах:
Атрибут | Описание |
---|---|
test | Имя источника данных (DSN). |
Description | Описание источника данных. |
Driver | Имя драйвера базы данных - как указано в odbcinst.ini |
Server | IP/ DNS сервера базы данных. |
User | Пользователь базы данных для подключения. |
Password | Пароль пользователя базы данных. |
Port | Порт подключения к базе данных. |
Database | Имя базы данных. |
Чтобы проверить, успешно ли работает подключение ODBC, необходимо протестировать подключение к базе данных. Это можно сделать с помощью утилиты isql (входит в пакет unixODBC):
isql test
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
Чтобы включить поддержку ODBC, Glaber необходимо скомпилировать со следующим флагом:
--with-unixodbc[=ARG] # Use ODBC driver against unixODBC package.
Создание и настройка элементов данных в Glaber
При создании элемента данных необходимо указать следующие данные (Рисунок 1):
Название | Описание |
---|---|
Тип | Выбирается тип элемента данных. |
Ключ | Введите один из двух поддерживаемых ключей элемента данных: db.odbc.select[<уникальное краткое описание>, |
Тип информации | Важно знать, какой тип информации будет возвращён запросом, чтобы правильно его выбрать. При неправильном выборе типа информации элемент данных станет неподдерживаемым. |
Имя пользователя | Введите имя пользователя базы данных. Этот параметр необязателен, если имя пользователя указано в odbc.ini. Если используется строка подключения и поле Имя пользователя не пусто, оно добавляется к строке подключения как UID= |
Пароль | Введите пароль пользователя базы данных. Этот параметр необязателен, если пароль указан в odbc.ini. Если используется строка подключения и поле «Пароль» не пустое, оно добавляется к строке подключения как PWD=<пароль>. |
SQL-запрос | Введите SQL-запрос. Обратите внимание, что при использовании db.odbc.select[] элемента данных запрос должен возвращать только одно значение. |
Рисунок 1 — Настройка элемента данных