Zabbix6.2配置ODBC监控oracle数据库

发布于:2022-12-27 ⋅ 阅读:(655) ⋅ 点赞:(0)

写在安装前

zabbix6.2自带的oracle监控模板仅仅支持被动模式的zabbix

1. 安装ODBC

yum -y install unixODBC unixODBC-devel

2. 安装Oracle-instantclient

#以下所有操作使用root账号执行
#创建目录
mkdir -p /opt/oracle
cd /opt/oracle
#下载odbc安装包
wget https://download.oracle.com/otn_software/linux/instantclient/213000/oracle-instantclient-basic-21.3.0.0.0-1.x86_64.rpm
wget https://download.oracle.com/otn_software/linux/instantclient/213000/oracle-instantclient-sqlplus-21.3.0.0.0-1.x86_64.rpm
wget https://download.oracle.com/otn_software/linux/instantclient/213000/oracle-instantclient-devel-21.3.0.0.0-1.x86_64.rpm
wget https://download.oracle.com/otn_software/linux/instantclient/213000/oracle-instantclient-odbc-21.3.0.0.0-1.x86_64.rpm
#安装unixODBC和unixODBC-devel
yum -y install unixODBC unixODBC-devel
#安装oracle-instantclient
yum localinstall oracle-instantclient-*
#oracle-instantclient的安装位置如下
/usr/lib/oracle/21/client64
/usr/share/oracle/21/client64
/usr/include/oracle/21/client64

3. 配置SQLPlus连接  完颜振江
直接通过下面的命令安装 oracle-instantclient创建 network/admin 文件夹

mkdir /usr/lib/oracle/21/client64/network/admin/ -p
cd /usr/lib/oracle/21/client64/network/admin/
vim tnsnames.ora

HOST写oracle数据库服务器IP地址,
SERVICE_NAME写global_name
sqlplus / as sysdba
select global_name from global_name;

 

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.61.105)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = ORCL)
    )
  )

[root@BASE-oracle oracle]# sqlplus  NCC10/XXXX@ORCL

SQL*Plus: Release 21.0.0.0.0 - Production on Tue Sep 6 17:55:26 2022
Version 21.3.0.0.0

Copyright (c) 1982, 2021, Oracle.  All rights reserved.

Last Successful login time: Tue Sep 06 2022 17:54:17 +08:00

Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.12.0.0.0

SQL>

每次重启虚拟机都要重新配置监听

	su - oracle  #切换到oracle用户,配置监听
	export DISPLAY=IP:0.0  #IP为本机地址,export DISPLAY=本机地址:0.0
	netca -silent -responseFile  /opt/oracle/database/response/netca.rsp
	sqlplus / as sysdba
	startup

	lsnrctl start

环境变量配置

export ORACLE_HOME=/usr/lib/oracle/21/client64
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib64:$LD_LIBRARY_PATH
export TNS_ADMIN=$ORACLE_HOME/network/admin
export PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
export ORACLE_SID=ORCL

#保存后适用新的环境变量
source /etc/profile
#配置类库
chmod +x /usr/lib/oracle/21/client64/lib/libsqora.so.21.1
cd /usr/lib64
ln -s libodbcinst.so.2.0.0 libodbcinst.so.1

添加Oracle驱动

[Oracle]
Description     = ODBC for Oracle
Driver          = /usr/lib/oracle/21/client64/lib/libsqora.so.21.1

添加Oracle数据源

[root@BASE-oracle oracle]# cat /etc/odbc.ini
[NCCTESTDB] ###DSN名字,这个很关键
Driver = Oracle
ServerName = 172.16.61.105:1521/ORCL
UserID = NCC10
Password = xxxxx

ISQL测试

[root@BASE-oracle oracle]# isql -v  NCCTESTDB
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL>

 #如下这个是在oracle服务上执行的

创建用于监控的专用账号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;

4. ZabbixServer主机配置

4.1 Interfaces选择客户端,IP地址选择客户端刚才我们配置的那个Agent的IP地址

模板选择Oracle by ODBC

4.3 宏配置中添加

{$ORACLE.DSN} 

{$ORACLE.USER} 

{$ORACLE.PASSWORD}

{$ORACLE.PORT}

三项即可

 5. 监控效果


网站公告

今日签到

点亮在社区的每一天
去签到