环境描述

操作系统:centos stream 8或者9 、Ubuntu系统

zabbix环境:zabbix6或者7


一、19C客户端安装(在Zabbix Server做操作)


 1、 19C客户端下载

1.1 #创建zabbix目录,进入zabbix目录
[root@server ~]# mkdir -p /zabbix
[root@server ~]# cd /zabbix

1.2 安装包下载到本地

以下为官方下载地址
https://download.oracle.com/otn_software/linux/instantclient/199000/oracle-instantclient19.9-basic-19.9.0.0.0-1.x86_64.rpm
https://download.oracle.com/otn_software/linux/instantclient/199000/oracle-instantclient19.9-sqlplus-19.9.0.0.0-1.x86_64.rpm
https://download.oracle.com/otn_software/linux/instantclient/199000/oracle-instantclient19.9-devel-19.9.0.0.0-1.x86_64.rpm
https://download.oracle.com/otn_software/linux/instantclient/199000/oracle-instantclient19.9-odbc-19.9.0.0.0-1.x86_64.rpm

1.3 也可以用wget我这个链接直接拉这四个安装包,ssh登录到你的zabbix服务器

wget https://yum.oracle.com/repo/OracleLinux/OL8/oracle/instantclient/x86_64/getPackage/oracle-instantclient19.22-odbc-19.22.0.0.0-1.x86_64.rpm
wget https://yum.oracle.com/repo/OracleLinux/OL8/oracle/instantclient/x86_64/getPackage/oracle-instantclient19.22-sqlplus-19.22.0.0.0-1.x86_64.rpm
wget https://yum.oracle.com/repo/OracleLinux/OL8/oracle/instantclient/x86_64/getPackage/oracle-instantclient19.22-basic-19.22.0.0.0-1.x86_64.rpm
wget https://yum.oracle.com/repo/OracleLinux/OL8/oracle/instantclient/x86_64/getPackage/oracle-instantclient19.22-devel-19.22.0.0.0-1.x86_64.rpm

 2、客户端安装

2.1 安装

[root@server ~]yum localinstall oracle-instantclient19.22-*
#查看安装结果
find / -name client64
rpm -qa |grep oracle

注意:实现配置好本地yum

2.2  查看安装位置

#oracle-instantclient的安装位置如下
[root@server ~]# find / -name client64
/usr/lib/oracle/19.9/client64
/usr/share/oracle/19.9/client64
/usr/include/oracle/19.9/client64

2.3 在Ubuntu系统中驱动包安装方法:

#如果是Ubuntu的系统,安装方法:
#要安装alien工具
sudo apt-get install alien
#用以下命令将.rpm包转换为.deb包:
alien  oracle-instantclient19.22-*
#最后,使用dpkg安装转换后的.deb包:
dpkg -i oracle-instantclient19.22-*.deb
安装完后执行下面第三步配置份环境变量,运行sqlplus测试连接,如果报错 libaio.so.1不存在就安装一下依赖
sudo apt-get install libaio*
ln -s /usr/lib/x86_64-linux-gnu/libaio.so.1t64 /usr/lib/libaio.so.1

 二、数据库相关操作(被监控的数据库服务器上操作)


 1、 确认监听状态

## 保证好数据库监听和实例是运行状态
[root@server ~]# su - oracle
[root@server ~]$ lsnrctl status
[root@server ~]$ lsnrctl start

 2、 实例名及服务名

SQL> show parameter name
SQL> show pdbs
 

3、Zabbix用户创建

--开PDB库
SQL> alter pluggable database PDB2 open;
SQL> select name,cdb from v$database;
--CDB切到PDB
SQL> alter session set container = PDB2;
SQL> create user zabbix identified by zabbix;
SQL> grant dba to zabbix;

注:担心权限过大可使用下面的脚本

create user zabbix identified by zabbix default tablespace system temporary tablespace temp profile default account unlock;

GRANT CONNECT TO zabbix ;

GRANT RESOURCE TO zabbix ;

ALTER USER zabbix DEFAULT ROLE ALL;

GRANT SELECT ANY TABLE TO zabbix ;

GRANT CREATE SESSION TO zabbix ;

GRANT SELECT ANY DICTIONARY TO zabbix ;

GRANT UNLIMITED TABLESPACE TO zabbix ;

GRANT SELECT ANY DICTIONARY TO zabbix ;
 

 三、客户端配置(在Zabbix Server做操作)
 

1、 配置环境变量

vi /etc/profile

cat >> /etc/profile << "EOF"
export ORACLE_HOME=/usr/lib/oracle/19.9/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
EOF

#环境变量生效
[root@server ~]# source /etc/profile

## 驱动
chmod +x /usr/lib/oracle/19.9/client64/lib/libsqora.so.19.1

 2、 添加Oracle驱动

2.1 配置odbcinst.ini

vim /etc/odbcinst.ini
 
[Oracle]
Description=Oracle ODBC driver for Oracle 19c
Driver=/usr/lib/oracle/19.22/client64/lib/libsqora.so.19.1

2.2  配置odbc.ini

vim /etc/odbc.ini
 
[oracle93]
Driver = Oracle
ServerName = 10.90.1.93:1521/orclcdb
Port = 1521
UserID = zabbix
Password = zabbix

2.3 查看odbc配置


# odbcinst -j
unixODBC 2.3.1
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /root/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8

---删除错误文件
# rm -rf /root/.odbc.ini

 3、验证是否配置成功

用isql工具测试ODBC连接

root@zabbix7:~# isql -v OA
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
 

注:sqlplus 用户名/密码@IP/oracle数据库服务名 #如sqlplus zbbix/zbbix@IP:1521/cdb1

 四、Zabbix监控(在Zabbix 前台网页页面做操作)

1.创建自定义监控项

1.1 在【主机】界面点击监控项,(自己写监控项的方式 ,后面有写用模板的方式监控)

1.2 右上角有【创建监控项】,(dsn名称在odbc.ini配置文件上)

查询语句SELECT * FROM v$version; 点测试

2.利用ODBC模板监控Oracle

2.1模板另存

配置-模板-Oracle by ODB-全克隆,另存为Oracle by ODBC_ip,点击应用户

2.2 配置主机

配置-主机-创建主机-选择模板Oracle by ODBC_ip

2.3 在模板宏的地方做以下创建

{$ORACLE.DRIVER} Oracle

{$ORACLE.PASSWORD} zabbix

{$ORACLE.PORT} 1521

{$ORACLE.SERVICE} orclcdb

{$ORACLE.USER} zabbix

{$HOST.CONN} 192.168.1.1

有的模板里面名字叫 {$ORACLE.HOST}

五、结果验证


在【监测】——【最新数据】里面查看结果,已经都采集到数据了。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐