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
.