Zabbix监控Oracle数据库
第3章 搭建orabbix插件
3.1 简介
Orabbix 是设计用来为 zabbix 监控 Oracle 数据库的插件,它提供多层次的监控,包括可用性和服务器性能指标。
它提供了从众多 oracle 实例采集数据的有效机制,进而提供此信息的监控和性能指标。然后,您可以利用的 zabbix 的报告功能为收集的所有数据,并提供分析。目前的发行版中包含了一组预先定义的模板,包括从初始部署警报和图形功能。然而,这些可以进行微调,以满足您的需求和数据/监控要求。
3.2 Orabbix 监控什么?
- 数据库版本
- 归档日志与生产趋势分析
- 触发器,表/过程等命中率
- 逻辑 I/O 性能
- 物理 I/O 性能
- PGA
- SGA
- 共享池
- Sessions
- 数据库大小
3.3 Orabbix插件安装配置
操作系统版本 |
Linux-SUSE12-SP2(注:一体化平台ZabbixServer版本) |
Orabbix版本 |
Orabbix_LinuxServer_V1.0.tar(大小:9742458 字节) |
安装部署步骤 |
|
内容 |
操作步骤 |
一、安装前准备 |
1、目录空间检查(优先确认/opt目录空余空间≥450M): #df -h 2、创建目录: #mkdir /opt/orabbix/ 3、上传安装包到刚创建的/opt/orabbix目录下,检查大小: #ll /opt/orabbix/Orabbix-Server_Linux_V1.0.tar -rw-r--r-- 1 root root 406122496 1月11 10:52 Orabbix_LinuxServer_V1.0.tar |
备注: 建议将安装路径放在/opt目录下,所需空间为450M,安装前请先进行剩余空间检查(方法参考:步骤2),如果/opt剩余空间不够,可放于/usr等有足够空间的目录内,只要更改了路径,以后步骤中出现/opt的,均需更换为所选择的路径。 |
|
二、解压文件 |
4、确认无误后,解压文件: #cd /opt/orabbix #tar -xf Orabbix_LinuxServer_V1.0.tar 5、查看是否解压成功: #ls conf init.d lib orabbix-1.2.3.jar orabbix.exe run.bat template doc install.cmd logs orabbix-1.2.3.zip orabbixw.exe run.sh uninstall.cmd
|
三、配置运行环境 |
6、运行环境检查: #java -version 备注:如果没有输出,请再次检查: #rpm -qa |grep jdk 备注:如果仍然没有输出,请执行步骤“7、8、9” 如果有输出,请跳过步骤“7、8、9”,请找到$JAVA_HOME的路径,然后更改run.sh文件,执行命令: #执行java -version有输出: Which java Vim /opt/orabbix/run.sh(更改java的路径) #没输出: 7、上传Jdk包安装java环境 jdk-8u60-linux-x64.tar (181238643 字节)
8、配置运行环境,编辑文件/etc/profile: export JAVA_HOME=/usr/local/java/jdk1.8.0_181 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH 使配置生效: #source /etc/profile 9、检查环境是否配置成功: #java -version openjdk version "1.8.0_101" OpenJDK Runtime Environment (IcedTea 3.1.0) (suse-14.3-x86_64) OpenJDK 64-Bit Server VM (build 25.101-b13, mixed mode) 备注:有以上三行信息显示,表示配置成功。 |
四、修改配置文件
|
10、编辑主配置文件,请根据生产中实际情况逐一添加(红色字体为参考): #vi config.props ZabbixServerList=zabbixserver
zabbixserver.Address=192.168.198.165 #Zabbix服务器地址 zabbixserver.Port=10051 #Zabbix服务器端口 #DatabaseList=DB1,DB2#要监控的数据库列表,这个名称和下面的Url、User、Password 等配置前的名称一改一致,且应该和zabbix中监控的主机名称一致 DatabaseList=DatabaseList=DB1 #名称与该机在 zabbix 中监控的主机名称保持一致 DB1.Url=jdbc:oracle:thin:@192.168.8.181:1521:orcl Oracle = jdbc:oracle:thin:@<host>:<LISTENER_PORT>:<instance>
DB1.User=zabbix #远程oracle连接用户 DB1.Password=zabbix #远程oracle连接密码
DB2.Url=jdbc:oracle:thin:@192.168.8.181:1521:orcl DB2.User=zabbix DB2.Password=ZABBIX 11、保存退出: #:wq |
五、启动服务 |
12、配置启动文件: #cd #cp /opt/orabbix/run.sh /etc/init.d/ Cd /etc/init.d/ Mv run.sh orabbix.sh 13、执行启动: #/etc/init.d/orabbix start
|
六、检查进程和端口 |
14、检查进程状态: #ps -eaf|grep orabbix |grep -v grep 0 S root 6232 1 1 80 0 - 631237 futex_ 13:16 ? 00:00:08 /opt/orabbix/jdk1.8/bin/java -Duser.language=en -Duser.country=US -Dlog4j.configuration=./conf/log4j.properties -cp lib/commons-codec-1.4.jar:lib/commons-dbcp-1.4.jar:lib/commons-lang-2.5.jar:lib/commons-logging-1.1.1.jar:lib/commons-pool-1.5.4.jar:lib/hsqldb.jar:lib/log4j-1.2.15.jar:lib/ojdbc6.jar:.:./orabbix-1.2.3.jar com.smartmarmot.orabbix.bootstrap start ./conf/config.props 备注:正常启动可看到1条信息。 15、检查端口: #netstat -an | grep 1521 tcp6 0 0 192.168.8.180:58260 192.168.8.181:1521 ESTABLISHED 备注:正常状态会显示1条信息 |
七、设置开机启动 |
16、置开机自启动: # chkconfig --add orabbix # chkconfig orabbix on 17、检查是否成功设置: # chkconfig --list |grep orabbix orabbix 0:关 1:关 2:开 3:开 4:开 5:开 6:关 |
八、导入监控模板 |
18、将Template_Oracle.xml文件导出到桌面: 默认路径:/opt/orabbix/template
19、登陆zabbix server的web服务页面: http:192.168.198.165/zabbix 输入用户名:Admin 输入密码:zabbix 20、导入模板: “配置”à“模板”à“导入”à“浏览”à“Template_Oracle.xml”à“导入”
21、查看:“配置”à“模板”:
|
九、绑定模板 |
22、找到部署oracle的主机,à“模板”à连接指示器“选择”,找到oracle模板à“添加”à“更新”:
|
十、停止服务 |
23、执行命令: #/etc/init.d/orabbix stop |
#关于 jdbc:
Oracle = jdbc:oracle:thin:@<host>:<LISTENER_PORT>:<instance>
PostgreSQL = jdbc:postgresql://<host>:<port>/<database>
MS Sql Server = jdbc:jtds:sqlserver://<host>:<port>/<instancename>
MySQL Server = jdbc:mysql://[host:port],[host:port].../[database]
DB2 = jdbc:db2://<servername>:<port>/<installation>
3.4 创建 oracle 监控账户
Oracle服务端
3.4.1 登录 oracle 命令行
su - oracle # 切换到 oracle 用户
sqlplus /nolog # 不连接任何数据库
conn /as sysdba # 用sysdba 登陆
或
conn 用户名/密码
select instance_name from v$instance; # 查看实例
3.4.2 创建用户
CREATE USER ZABBIX
IDENTIFIED BY ZABBIX
DEFAULT TABLESPACE SYSTEM
TEMPORARY TABLESPACE TEMP
PROFILE DEFAULT
ACCOUNT UNLOCK;
3.4.3 赋予角色权限
GRANT CONNECT TO ZABBIX;
GRANT RESOURCE TO ZABBIX;
ALTER USER ZABBIX DEFAULT ROLE ALL;
3.4.4 赋予系统权限
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;
3.4.5 如果是11g数据库,执行下列语句:
exec dbms_network_acl_admin.create_acl(acl => 'resolve.xml',description => 'resolve acl', principal =>'ZABBIX', is_grant => true, privilege => 'resolve');
exec dbms_network_acl_admin.assign_acl(acl => 'resolve.xml', host =>'*');
commit;
3.4.6 orabbix监控orabbix结果:如图:
完成!!!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报