В этом разделе содержатся инструкции по созданию базы данных Oracle и настройке соединений между базой данных и Zabbix сервером, прокси и веб-интерфейсом.
Мы предполагаем, что существует пользователь базы данных zabbix с паролем password, и он имеет разрешения на создание объектов базы данных в службе ORCL, расположенной на сервере хост базы данных Oracle. Zabbix требует базу данных с набором символов Unicode и кодировкой UTF8. Проверить текущие настройки:
sqlplus> select parameter,value from v$nls_parameters where parameter='NLS_CHARACTERSET' or parameter='NLS_NCHAR_CHARACTERSET';
Теперь подготовьте базу данных:
cd /путь/к/исходникам-zabbix/database/oracle
sqlplus zabbix/password@oracle_host/ORCL
sqlplus> @schema.sql
# остановитесь здесь, если вы создаёте базу данных для Zabbix прокси
sqlplus> @images.sql
sqlplus> @data.sql
Пожалуйста, установите параметр инициализации CURSOR_SHARING=FORCE для лучшей производительности.
Zabbix поддерживает два вида идентификаторов соединений (методов подключения):
Параметры настроек соединения для Zabbix сервера и Zabbix прокси могут быть заданы в их файлах конфигурации. Важнейшими параметрами для сервера и прокси являются DBHost, DBUser, DBName и DBPassword. Те же параметры являются важными и для веб-интерфейса: $DB["SERVER"], $DB["PORT"], $DB["DATABASE"], $DB["USER"], $DB["PASSWORD"].
Zabbix использует следующий синтактис строки подключения (connection string):
<connect_identifier> может быть указан либо в формате "Net Service Name", либо "Easy Connect".
Лёгкое подключение использует следующие параметры для подключения к базе данных:
Пример:
Параметры базы данных заданы в файле конфигурации сервера или прокси (zabbix_server.conf либо zabbix_proxy.conf):
Строка подключения, используемая Zabbix-ом, чтобы установить соединение:
Во время установки веб-интерфейса Zabbix, задайте соответствующие параметры на шаге Настройка соединения с базой данных помощника по установке:
Альтернативный способ - эти параметры можно задать в файле конфигурации веб-интерфейса (zabbix.conf.php):
$DB["TYPE"] = 'ORACLE';
$DB["SERVER"] = 'localhost';
$DB["PORT"] = '1521';
$DB["DATABASE"] = 'ORCL';
$DB["USER"] = 'myusername';
$DB["PASSWORD"] = 'mypassword';
Начиная с версии Zabbix 5.4.0, возможно подключиться к Oracle, используя имя сетевой службы.
<net_service_name> - это простое имя для службы, которое раскрывается в дескриптор соединения.
Чтобы использовать имя службы для создания подключения, это имя службы должно быть определено в файле tnsnames.ora, расположенном как на сервере базы данных, так и на клиентской системе. Самый лёгкий способ убедиться, что соединение будет установлено успешно, - это определить местоположение файла tnsnames.ora в переменной окружения TNS_ADMIN. По умолчанию местоположение файла tnsnames.ora такое:
Простой пример файла tnsnames.ora:
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORCL)
)
)
Чтобы задать параметры конфигурации для метода подключения "Имя сетевой службы", используйте одну из следующих опций:
Во втором случае должна быть установлена переменная окружения TWO_TASK. Она указывает удалённую службу Oracle (имя службы) по умолчанию. Когда эта переменная определена, коннектор подключается к указанной базе, используя Oracle листенер (listener), принимающий запросы на соединения. Эта переменная используется только в Linux и UNIX. Для Microsoft Windows используйте переменную среды LOCAL.
Пример:
Подключиться к базе данных, используя имя сетевой службы, заданное как ORCL, и порт по умолчанию. Параметры базы данных задаются в файле конфигурации сервера или прокси (zabbix_server.conf и zabbix_proxy.conf):
Во время установки веб-интерфейса Zabbix, задайте соответствующие параметры на шаге Настройка подключения к БД помощника по установке:
Альтернативный вариант - можно задать эти параметры в файле конфигурации веб-интерфейса (zabbix.conf.php):
$DB["TYPE"] = 'ORACLE';
$DB["SERVER"] = '';
$DB["PORT"] = '0';
$DB["DATABASE"] = 'ORCL';
$DB["USER"] = 'myusername';
$DB["PASSWORD"] = 'mypassword';
Строка подключения, используемая Zabbix-ом, чтобы установить соединение:
Чтобы повысить производительность, вы можете преобразовать типы полей из nclob в nvarchar2, см. известные проблемы.