ODBC мониторинг соответствует типу элемента данных Монитору баз данных в веб-интерфейсе Zabbix.
ODBC - язык программирования на C, промежуточная прослойка API для доступа к системам управления баз данных (DBMS). Концепт ODBC был разработан Microsoft и в дальнейшем портирован на другие платформы.
Zabbix может выполнять запросы в любой базе данных, которые поддерживаются ODBC. Чтобы это сделать, Zabbix не подключается напрямую к базам данных, он использует интерфейс ODBC и драйвера установленные в ODBC. Эта функция позволяет мониторить различные базы данных с различными целями с большей эффективностью - например, проверка специфичных запросов к базе данных, статистика использования и прочее. Zabbix поддерживает unixODBC и iODBC, которые наиболее часто используются в реализациях ODBC API с открытым исходным кодом.
Предлагаемый вариант установки unixODBC состоит из использования пакетных репозитариев Linux операционной системы по умолчанию. В наиболее популярные дистрибутивы Linux unixODBC включен в пакетные репозитарии по умолчанию. Если он недоступен, вы можете обратиться к UnixODBC домашней странице: http://www.unixodbc.org/download.html.
Установка unixODBC с использованием пакетного менеджера yum:
Пакет unixODBC-devel требуется для компиляции Zabbix с поддержкой unixODBC.
Драйвер unixODBC базы данных должен быть установлен для базы данных, которая будет наблюдаться. unixODBC имеет список поддерживаемых баз данных и драйверов: http://www.unixodbc.org/drivers.html. В некоторых дистрибутивах Linux драйвера баз данных включены в пакетные репозитарии.
Например, драйвера MySQL базы данных можно установить с помощью менеджера пакетов yum:
Настройка ODBC выполняется редактированием файлов odbcinst.ini и odbc.ini. Для проверки размещения этих файлов введите:
odbcinst.ini используется для списка установленных драйверов баз данных ODBC:
Подробная информация:
| Атрибут | Описание |
|---|---|
| mysql | Имя драйвера базы данных. |
| Description | Описание драйвера базы данных. |
| Driver | Размещение библиотеки драйвера базы данных. |
odbc.ini используется для указания источников данных:
[test]
Description = MySQL test database
Driver = mysql
Server = 127.0.0.1
User = root
Password =
Port = 3306
Database = zabbixПодробная информация:
| Атрибут | Описание |
|---|---|
| test | Имя источника данных (DSN). |
| Description | Описание источника данных. |
| Driver | Имя драйвера базы данных - как указано в odbcinst.ini |
| Server | IP/DNS сервера базы данных. |
| User | Пользователь базы данных для подключения. |
| Password | Пароль базы данных для подключения. |
| Port | Порт подключения к базе данных. |
| Database | Имя базы данных. |
Для проверки работает ли соединение ODBC корректно, подключение к базе данных необходимо протестировать. Для этого можно воспользоваться утилитой isql (включена в пакет unixODBC):
shell> isql test
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
SQL>Для включения поддержки ODBC, Zabbix должен быть скомпилирован с одним из следующих флагов:
--with-iodbc[=ARG] use odbc driver against iODBC package [default=no],
--with-unixodbc[=ARG] use odbc driver against unixODBC packageСмотрите более подробную информацию о установке Zabbix из исходных кодов.
Настройте для мониторинга базы данных элемент данных:

Специально для элементов данных мониторинга баз данных вы должны указать:
| Тип | Выберите здесь Монитор баз данных. |
| Ключ | Укажите db.odbc.select[уникальное_описание] Уникальное описание будет служить для идентификации элемента данных в триггерах и тому подобном. |
| Дополнительные параметры | DSN - имя источника данных (как указано в odbc.ini) user - имя пользователя базы данных (опционально, если пользователь указан в odbc.ini) password - пароль к базе данных (опционально, если пароль указан в odbc.ini) sql - SQL запрос |
| Тип информации | Очень важно знать какой тип информации будет возвращаться указанным запросом, то есть выберите корректный тип информации здесь. С некорректным типом информации элемент данных станет неподдерживаемым. |
select.