Sidebar

Zabbix Summit 2022
Register for Zabbix Summit 2022

Работа с ODBC шаблонами

Шаги для гарантии корректной работы шаблонов, которые собирают метрики через ODBC мониторинг:

1. Убедитесь, что требуемый ODBC драйвер установлен на Zabbix сервере или прокси.
2. Присоедините шаблон к нужному узлу сети (если шаблон недоступен в вашей инсталляции Zabbix, вам может потребуется сначала импортировать файл .xml шаблона - смотрите инструкции в разделе Готовые шаблоны).
3. При необходимости измените значения обязательных макросов.
Если указываемый пароль в значении макроса содержит точку с запятой (;), его необходимо заключить в фигурные скобки, для получения более подробных сведений смотрите ODBC мониторинг. 4. Настройте экземпляр для мониторинга так, чтобы был разрешен обмен данными с Zabbix - смотрите инструкции в колонке Дополнительные шаги / комментарии.

Эта страница содержит только минимальный набор макросов и шагов настройки, необходимых для правильной работы шаблона. Подробное описание шаблона, включая полный список макросов, элементов данных и триггеров, доступно в файле Readme.md шаблона (доступном при нажатии на имя шаблона).

Шаблон Обязательные макросы Дополнительные шаги / комментарии
MSSQL by ODBC {$MSSQL.DSN} - имя источника данных системы (по умолчанию: <Put your DSN here>)
{$MSSQL.PORT} - TCP порт Microsoft SQL Server (по умолчанию: 1433)
{$MSSQL.USER}, {$MSSQL.PASSWORD} - учетные данные входа в Microsoft SQL (по умолчанию: не заданы)
Создайте пользователя в Microsoft SQL для мониторинга и разрешите пользователю следующие привилегии: View Server State; View Any Definition (для получения более подробных сведений смотрите документацию по Microsoft SQL).

Элемент данных "Service's TCP port state" использует {HOST.CONN} и {$MSSQL.PORT} макросы для проверки доступности экземпляра Microsoft SQL.
MySQL by ODBC {$MYSQL.DSN} - имя источника данных системы (по умолчанию: <Put your DSN here>)
{$MYSQL.USER}, {$MYSQL.PASSWORD} - учетные данные входа в MySQL; пароль можно быть пустым (по умолчанию: не заданы)
Чтобы разрешить требуемые привилегии MySQL пользователю, который будет использоваться для мониторинга, выполните:
GRANT USAGE,REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON %% *.* TO '<username>'@'%';%%

Для получения более подробных сведений смотрите документацию к MYSQL.
Oracle by ODBC {$ORACLE.DSN} - имя источника данных системы (по умолчанию: <Put your DSN here>)
{$ORACLE.PORT} - TCP порт Oracle DB (по умолчанию: 1521)
{$ORACLE.USER}, {$ORACLE.PASSWORD} - учетные данные входа в Oracle (по умолчанию: не заданы)
1. Создайте Oracle пользователя мониторинга, выполните:
CREATE USER zabbix_mon IDENTIFIED BY <PASSWORD>;
-- Разрешение доступа zabbix_mon пользователю.
GRANT CONNECT, CREATE SESSION TO zabbix_mon;
GRANT SELECT ON V_$instance TO zabbix_mon;
GRANT SELECT ON V_$database TO zabbix_mon;
GRANT SELECT ON v_$sysmetric TO zabbix_mon;
GRANT SELECT ON v$recovery_file_dest TO zabbix_mon;
GRANT SELECT ON v$active_session_history TO zabbix_mon;
GRANT SELECT ON v$osstat TO zabbix_mon;
GRANT SELECT ON v$restore_point TO zabbix_mon;
GRANT SELECT ON v$process TO zabbix_mon;
GRANT SELECT ON v$datafile TO zabbix_mon;
GRANT SELECT ON v$pgastat TO zabbix_mon;
GRANT SELECT ON v$sgastat TO zabbix_mon;
GRANT SELECT ON v$log TO zabbix_mon;
GRANT SELECT ON v$archive_dest TO zabbix_mon;
GRANT SELECT ON v$asm_diskgroup TO zabbix_mon;
GRANT SELECT ON sys.dba_data_files TO zabbix_mon;
GRANT SELECT ON DBA_TABLESPACES TO zabbix_mon;
GRANT SELECT ON DBA_TABLESPACE_USAGE_METRICS TO zabbix_mon;
GRANT SELECT ON DBA_USERS TO zabbix_mon;

2. Убедитесь, что ODBC подключается к Oracle с параметром NLS_NUMERIC_CHARACTERS= '.,'

3. Добавьте новую запись в odbc.ini:
[$ORACLE.DSN]
Driver = Oracle 19 ODBC driver
Servername = $ORACLE.DSN
DSN = $ORACLE.DSN

4. Проверьте подключение через isql:
isql $TNS_NAME $DB_USER $DB_PASSWORD

5. Настройте Zabbix сервер или Zabbix прокси с использованием Oracle ENV. Измените или добавьте новый файл: /etc/sysconfig/zabbix-server, или для прокси: /etc/sysconfig/zabbix-proxy. Затем добавьте следующие строки в этот файл:
export ORACLE_HOME=/usr/lib/oracle/19.6/client64
export PATH=$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib64:/usr/lib:$ORACLE_HOME/bin
export TNS_ADMIN=$ORACLE_HOME/network/admin

6. Перезапустите Zabbix сервер или прокси.