ZABBIX5 通过ODBC 监控Oracle(windows)

ZABBIX5 通过ODBC 监控Oracle(windows)

注意:以下操作全部到zabbix server 服务器下执行。

1.安装ODBC
yum -y install unixODBC unixODBC-devel
2.安装Oracle-instantclient
先把需要用到的四个rpm离线包下载到本地
cd /
mkdir -p oracle
cd oracle
wget https://download.oracle.com/otn_software/linux/instantclient/199000/oracle-instantclient19.9-basic-19.9.0.0.0-1.x86_64.rpm
wget https://download.oracle.com/otn_software/linux/instantclient/199000/oracle-instantclient19.9-sqlplus-19.9.0.0.0-1.x86_64.rpm
wget https://download.oracle.com/otn_software/linux/instantclient/199000/oracle-instantclient19.9-devel-19.9.0.0.0-1.x86_64.rpm
wget https://download.oracle.com/otn_software/linux/instantclient/199000/oracle-instantclient19.9-odbc-19.9.0.0.0-1.x86_64.rpm

直接通过下面的命令安装 oracle-instantclient
yum localinstall oracle-instantclient19.9-*

oracle-instantclient的安装位置如下
/usr/lib/oracle/19.9/client64
/usr/share/oracle/19.9/client64
/usr/include/oracle/19.9/client64

3.配置SQLPlus连接
在设置环境变量之前,我们需要在/usr/lib/oracle/19.9/client64下创建 network/admin 文件夹,用来配置 tnsnames.ora
创建 network/admin 文件夹
mkdir /usr/lib/oracle/19.9/client64/network/admin -p

配置 tnsnames.ora 文件
vi tnsnames.ora

Oracle=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 103.104.200.36)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = PDB1)
)
)

环境变量配置
在文件最末尾添加以下内容
vi /etc/profile

export ORACLE_HOME=/usr/lib/oracle/18.5/client64
export LD_LIBRARY_PATH= O R A C L E H O M E / l i b : / u s r / l i b 64 : ORACLE_HOME/lib:/usr/lib64: ORACLEHOME/lib:/usr/lib64:LD_LIBRARY_PATH
export TNS_ADMIN=$ORACLE_HOME/network/admin

使环境变量配置生效
source /etc/profile

配置需要的类库
chmod +x /usr/lib/oracle/19.9/client64/lib/libsqora.so.19.1
cd /usr/lib64/
ln -s libodbcinst.so.2.0.0 libodbcinst.so.1
添加Oracle驱动
vi /etc/odbcinst.ini 添加以下内容

[Oracle]
Description = Oracle ODBC driver for Oracle 12c
Driver = /usr/lib/oracle/19.9/client64/lib/libsqora.so.19.1

添加Oracle数据源
vi /etc/odbc.ini添加以下内容

[Oracle]
Driver = Oracle
ServerName = 103.104.200.36:1521/PDB1
UserID = TaurusDB
Password = TaurusDB

ISQL测试
isql -v Oracle

执行一条SQL语句的查询,如:
select * from 表;

如果能正常输出数据,说明配置成功。

4.配置zabbix监控
配置——主机——创建主机在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
以上zabbix主机配置完成后,进入到 检测——主机——具体主机——最新数据,可能为空没有数据,稍待几分钟会自动出来。在这里插入图片描述
在这里插入图片描述
YES,成功。

### 配置 Zabbix 使用 ODBC 监控 Oracle 11g RAC #### 准备工作 为了使 Zabbix 能够通过 ODBC 正常监控 Oracle 11g RAC,需先安装并配置好 Oracle Instant Client。确保所使用的驱动程序版本兼容目标 Oracle 版本[^4]。 #### 安装 Oracle Instant Client 下载适用于操作系统的 Oracle Instant Client 基础包以及 SQL*Plus 包(可选),解压至指定目录,并设置环境变量 `LD_LIBRARY_PATH` 指向该路径下的 lib 文件夹位置。对于 Linux 系统而言,还需创建软链接指向实际的共享对象文件,例如: ```bash ln -s /usr/lib/oracle/<version>/client64/lib/libsqora.so.<version> /usr/lib/oracle/<version>/client64/lib/libsqora.so ``` #### 修改 Zabbix Agent 配置 编辑 `/etc/zabbix/zabbix_agentd.conf.d/userparameter_oracle.conf` 或者相应的位置来添加自定义参数,以便让 agent 可以调用 odbc 进行查询。具体命令格式取决于操作系统及其 shell 解释器的不同而有所差异;这里给出一个通用的例子作为参考: ```bash UserParameter=oracle.query[*],isql -S "$1" -U"$2" -P"$3" -w 10 -b -Jutf8 "set nocount on;$4" ``` 此条目中的 `$1`, `$2`, ... 表示传入的具体连接字符串、用户名、密码和其他必要的SQL语句部分。 #### 设置 Web 界面宏 进入 Zabbix Web UI,在相应的主机或模板级别设定宏用于存储敏感信息如数据库凭证等,避免明文暴露在脚本里。参照提供的实例,应至少包含以下几项: - {$ORACLE.CONNSTRING}: tcp://<host>:1521/<service_name> - {$ORACLE.DRIVER}: 客户端库绝对路径, 如/usr/lib/oracle/21/client64/lib/libsqora.so.21.1 - {$ORACLE.USER} - {$ORACLE.PASSWORD} 这些值应当被替换为对应环境中真实的细节[^2]。 #### 创建监控项与触发器 利用上述 UserParameter 来构建新的监控项目,比如检查表空间利用率、会话数统计等等。针对每一种业务需求编写合适的 SQL 查询逻辑,并将其封装成易于理解的名字供后续维护人员查阅。同时建立合理的阈值范围用来判断是否存在潜在风险状况发生时发出警告通知。 #### 日志审查 一旦遇到无法预期的行为或是错误提示,务必及时查阅 Zabbix Agent 和 Server 的日志记录寻找线索解决问题[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

clarence.wei

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值