当前位置: 首页 > news >正文

Zabbix6通过ODBC方式监控Oracle 19C最佳实践

📢📢📢📣📣📣
哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10年DBA工作经验
一位上进心十足的【大数据领域博主】!😜😜😜
中国DBA联盟(ACDU)成员,目前从事DBA及程序编程
擅长主流数据Oracle、MySQL、PG 运维开发,备份恢复,安装迁移,性能优化、故障应急处理等。
✨ 如果有对【数据库】感兴趣的【小可爱】,欢迎关注【IT邦德】💞💞💞
❤️❤️❤️感谢各位大可爱小可爱!❤️❤️❤️

文章目录

  • 前言
    • 📣 1.19C客户端安装
      • ✨ 1.1 19C客户端下载
      • ✨ 1.2 客户端安装
    • 📣 2.数据库相关操作
      • ✨ 2.1 确认监听状态
      • ✨ 2.2 实例名及服务名
      • ✨ 2.3 Zabbix用户创建
    • 📣 3.客户端配置
      • ✨ 3.1 配置环境变量
      • ✨ 3.2 添加Oracle驱动
      • ✨ 3.3 验证是否配置成功
    • 📣 4.Zabbix监控

前言

本文详细介绍了Zabbix6通过ODBC方式监控Oracle 19C的过程

📣 1.19C客户端安装

✨ 1.1 19C客户端下载

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

以下为官方下载地址
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.2 客户端安装

[root@jeames zabbix]# yum localinstall oracle-instantclient19.9-*
注意:实现配置好本地yum,请参考以下博客
Linux配置本地yum源,高效便捷
https://jeames.blog.csdn.net/article/details/120557997

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

在这里插入图片描述

📣 2.数据库相关操作

✨ 2.1 确认监听状态

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

在这里插入图片描述

✨ 2.2 实例名及服务名

SQL> show parameter name
SQL> show pdbs

在这里插入图片描述

✨ 2.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;

在这里插入图片描述

📣 3.客户端配置

注意:以下均在Zabbix Server做操作

✨ 3.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@jeames ~]# source /etc/profile

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

✨ 3.2 添加Oracle驱动

-- 配置odbcinst.ini文件信息:
[root@jeames ~]# vi /etc/odbcinst.ini
#添加如下内容
[Oracle]
Description     = Oracle ODBC driver for Oracle 19c
Driver          = /usr/lib/oracle/19.9/client64/lib/libsqora.so.19.1

--配置odbc.ini文件
[root@jeames ~]# 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

[root@jeames ~]# rm -rf /root/.odbc.ini

cat >> /etc/odbc.ini << "EOF"
[ora19c]
Driver = Oracle
ServerName = 192.168.1.32:1521/pdb2
UserID = zabbix
Password = zabbix
Port= 1521

EOF

✨ 3.3 验证是否配置成功

[root@jeames ~]# isql -v ora19c
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+

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

📣 4.Zabbix监控

1.模板另存
配置-模板-Oracle by ODB-全克隆,此处另存为Oracle by ODBC 19C,点击应用户

2.配置主机
1)配置-主机-创建主机-选择模板Oracle by ODBC 19C
2)宏的地方做如下创建
{$ORACLE.DRIVER} Oracle
{$ORACLE.PASSWORD} zabbix
{$ORACLE.PORT} 1521 
{$ORACLE.SERVICE} pdb2
{$ORACLE.USER} zabbix
{$HOST.CONN} 192.168.1.32

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

相关文章:

  • 企业复杂的数据治理需求,TempoDF让数据开发更简单!
  • hive on spark 执行sql报错
  • 离散化(保序)
  • 文本纠错易语言代码
  • 【python】遇上COS美图怎么办?当然是大胆冲呀~
  • 苏小妍java开发工程师-一面面经
  • 「SpringCloud Alibaba」Sentinel实现熔断与限流
  • 赶紧进来看看---详细介绍五种常用字符串库函数 以及对库函数的模拟实现
  • 浅谈 python在密码学的应用
  • lammps数据后处理:python绘制应力应变曲线 附程序代码
  • 机器学习模型2——决策树
  • Java.lang.Character类中codePointAt(CharSequence seq, int index)方法具有什么功能呢?
  • docker-compose 安装Harbor
  • 微服务项目:尚融宝(52)(核心业务流程:充值服务(3))
  • python的小作业
  • 【402天】跃迁之路——程序员高效学习方法论探索系列(实验阶段159-2018.03.14)...
  • 【翻译】babel对TC39装饰器草案的实现
  • CoolViewPager:即刻刷新,自定义边缘效果颜色,双向自动循环,内置垂直切换效果,想要的都在这里...
  • javascript 哈希表
  • leetcode386. Lexicographical Numbers
  • MySQL的数据类型
  • oschina
  • React中的“虫洞”——Context
  • Web Storage相关
  • 回顾 Swift 多平台移植进度 #2
  • 盘点那些不知名却常用的 Git 操作
  • 一个完整Java Web项目背后的密码
  • 源码之下无秘密 ── 做最好的 Netty 源码分析教程
  • 运行时添加log4j2的appender
  • 做一名精致的JavaScripter 01:JavaScript简介
  • ​secrets --- 生成管理密码的安全随机数​
  • ​二进制运算符:(与运算)、|(或运算)、~(取反运算)、^(异或运算)、位移运算符​
  • ​云纳万物 · 数皆有言|2021 七牛云战略发布会启幕,邀您赴约
  • # 飞书APP集成平台-数字化落地
  • (04)Hive的相关概念——order by 、sort by、distribute by 、cluster by
  • (Redis使用系列) SpringBoot中Redis的RedisConfig 二
  • (八)c52学习之旅-中断实验
  • (大众金融)SQL server面试题(1)-总销售量最少的3个型号的车及其总销售量
  • (读书笔记)Javascript高级程序设计---ECMAScript基础
  • (附源码)node.js知识分享网站 毕业设计 202038
  • (附源码)计算机毕业设计ssm-Java网名推荐系统
  • (一)spring cloud微服务分布式云架构 - Spring Cloud简介
  • (转)linux自定义开机启动服务和chkconfig使用方法
  • (转)为C# Windows服务添加安装程序
  • .NET开发人员必知的八个网站
  • /dev/sda2 is mounted; will not make a filesystem here!
  • @Autowired标签与 @Resource标签 的区别
  • [100天算法】-每个元音包含偶数次的最长子字符串(day 53)
  • [2009][note]构成理想导体超材料的有源THz欺骗表面等离子激元开关——
  • [20181219]script使用小技巧.txt
  • [ArcPy百科]第三节: Geometry信息中的空间参考解析
  • [C#] 如何调用Python脚本程序
  • [C++]C++基础知识概述
  • [cb]UIGrid+UIStretch的自适应
  • [CF226E]Noble Knight's Path