ODBC模板操作

确保通过ODBC monitoring收集模板指标的正确步骤:

  1. 确保在 Zabbix 服务器或代理上安装了所需的 ODBC 驱动程序。
  2. 链接 模板到目标主机(如果模板在您的 Zabbix 安装中不可用,您可能需要先导入模板的 .xml 文件 - 请参阅 [开箱即用的模板](/manual/config/templates_out_of_the_box)部分的说明)。 3.根据需要调整必需宏的值。如果宏值中的密码包含分号(;),则应该用大括号括起来,参见[ODBC监控](https://www.zabbix.com/documentation/ 6.0/en/manual/config/items/itemtypes/odbc_checks?hl=ODBC%2Cmonitoring) 了解详情。
  3. 配置被监控的实例以允许与 Zabbix 共享数据 - 请参阅 其他步骤/注释 列中的说明。

此页面仅包含正确模板操作所需的最小宏集和设置步骤。 模板的 Readme.md 文件中提供了模板的详细说明,包括宏、监控项和触发器的完整列表(可通过单击模板名称访问)。

|模板|强制宏|附加步骤/注释| |————|————————|—————————— —| |MSSQL by ODBC|{$MSSQL.DSN} - 系统数据源名称(默认:<填写你的DSN>)
{$MSSQL.PORT} - Microsoft SQL Server 的 TCP 端口(默认:1433)
{$MSSQL.USER }, {$MSSQL.PASSWORD} - Microsoft SQL 登录凭据(默认值:未设置)|创建用于监控的 Microsoft SQL 用户并授予用户以下权限:查看服务器状态; 查看任何定义(请参阅 Microsoft SQL 文档 以获得详细信息)。

“服务的 TCP 端口状态”监控项使用 {HOST.CONN} 和 {$MSSQL.PORT} 宏来检查 Microsoft SQL 实例的可用性。| |MySQL by ODBC|{$MYSQL.DSN} - 系统数据源名称(默认:<填写你的DSN>)
{$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} - Oracle DB 的 TCP 端口(默认:1521)
{$ORACLE.USER} , {$ORACLE.PASSWORD} - Oracle 登录凭据(默认值:未设置)|1。 要创建用于监控的 Oracle 用户,请运行:
CREATE USER zabbix_mon IDENTIFIED BY <PASSWORD>;
-- Grant access to the zabbix_mon user.
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;< br>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 到 zabbix_mon;
GRANT SELECT ON v$log 到 zabbix_mon;
GRANT SELECT ON v$archive_dest 到 zabbix_mon;
GRANT SELECT ON v$asm_diskgroup 到 zabbix_mon;
GRANT SELECT ON sys.dba_data_files TO zabbix_mon;
GRANT SELECT ON DBA_TABLESPACES TO zabbix_mon;
GRAN T 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. 为 Oracle ENV 使用配置 Zabbix 服务器或 Zabbix 代理。 编辑或添加一个新文件:/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 服务器或代理。