资讯动态

Zabbix 4.2集成Orabbix监控Oracle 12c:安装部署全指南

发布时间:2026/10/15 13:24:52 来源:尧图企业网站定制
有人可能会问监控Oracle数据库又不是非要用OrabbixZabbix自己也有原生模板为什么还得额外搭一套东西这个问题的答案等你真正拿Zabbix自带的Oracle模板去接一套Oracle 12c RAC的时候就明白了——光补齐那些采集项的宏定义、处理权限不足的报错就够你折腾大半天。我自己是在接手一套已有Zabbix 4.2监控环境时接触到的Orabbix当时正好需要给一整套Oracle 12c实例补监控试了一圈之后才确定它的价值。这篇文章是系列的第一篇只讲安装部署把Zabbix 4.2 Orabbix这条链路完整的、一步一步的走通。如果你手头维护着Oracle数据库同时Zabbix侧又是4.2这个版本那你大概率会需要Orabbix。它解决的核心问题很直接不需要在Oracle实例里装Agent也不用靠命令行脚本被动的拉数据而是由Orabbix作为独立进程主动连到Oracle数据库去捞指标捞完再转发给Zabbix Server。这种方式对DBA来说侵入性非常小对Zabbix侧来说又比纯SNMP或者自己写脚本要省事许多。1. 为什么在Zabbix 4.2里监控Oracle 12c我最终选了OrabbixZabbix 4.2这个版本自带了一堆数据库监控模板Oracle也有。但你真去用的时候会发现自带模板走的是ODBC方式需要在Zabbix前端把DSN配置好然后依赖unixODBC去连Oracle。听起来不难实际操作里有几个非常膈应的问题第一ODBC连Oracle 12c需要装Oracle Instant Client版本不匹配的时候反复报ORA-12154或者libclntsh.so加载失败而且模板里那些宏值对应的SQL语句在不同版本的Oracle 12c上结果字段名会有细微差别采集项直接变成Not supported。第二自带模板的采集项粒度偏粗。表空间使用率、SGA/PGA这些大的方向没问题但你想看具体的活跃会话数按状态分布、等待事件的分类统计、当前有多少锁等待模板里根本没有对应的项。第三Zabbix Server本身是装在Linux上的想用ODBC连接Oracle还得保证服务器上Oracle的glibc依赖和网络层完全兼容环境一旦复杂点排查起来极其痛苦。Orabbix的思路就不一样了。它是用JDBC去连接Oracle的只要Java环境没问题JDBC驱动和你Oracle实例的版本匹配连接就非常稳定。它采集到的数据通过Zabbix的trapper协议推给ServerServer端只需要把模板导入把主机名和Orabbix配置里的数据库别名对应上剩下的指标就自动出来了。我实际对比过同样一套Oracle 12c RAC环境用Zabbix自带模板折腾了两三天各种ODBC报错还没完全清理干净换Orabbix之后从安装到出现第一个监控数据前后不到一个小时。这就是我写这篇分享的核心原因。1.1 Orabbix和Zabbix自带Oracle监控的主要差异为了不让你觉得我是拍脑袋推荐我把两者的差异整理成了表格方便根据自己的场景判断对比维度Zabbix自带Oracle模板Orabbix连接方式ODBCunixODBC Oracle Instant ClientJDBCojdbc驱动侵入性需要服务器装ODBC组件配置DSNJava进程独立运行只需网络和账号采集粒度基础会话、表空间、SGA等额外支持等待事件、系统指标、RAC多实例部署复杂度中高依赖库冲突概率大低JDK带好就能跑维护方式模板内置SQL改脚本麻烦配置文件显式管理清晰明了灵活性低模板结构固定高可自定义查询项表格里最后一行可自定义查询项很重要。Orabbix允许你在配置文件里指定额外的查询语句把自定义SQL的返回结果作为监控项采集这一点做二次开发的时候非常实用。我们在做的过程中就往里面加过几个和业务相关的指标几乎没费什么劲。1.2 这套组合在监控架构里扮演的角色从整体架构来看Orabbix其实是一个轻量级的数据采集代理。它本身不存储数据也不负责告警纯粹是把Oracle数据库里的指标搬运到Zabbix Server。所以它有两种部署方式一种是直接装一台单独的机器通过JDBC远程连接所有的Oracle实例采集完之后统一发给Zabbix Server。这种方式适合Oracle实例数量多、分布散的环境你只需要在防火墙上放行Oracle监听端口就能在一台机器上把几十套库盯起来。另一种是装在某个关键应用服务器上专门监控本机上的Oracle实例。由于JVM和Oracle客户端网络都在本机延迟和稳定性都最好。我自己的环境里两种方式都有生产库我用了独立机器测试环境就直接装在本机。2. 安装前置条件版本选型、JDK环境与网络规划很多人在安装Orabbix时踩坑十有八九是前置条件没有检查到位。我在正式动手前通常会花十分钟把所有依赖确认一遍宁可慢一点也不要装到一半回头改环境。2.1 Zabbix 4.2环境下的版本选型Orabbix是老牌开源项目正式发布的最新版是1.2.3。这个版本虽然发布得比较早但是因为基于Zabbix trapper协议所以对Zabbix 4.2没有任何兼容性问题。放心用1.2.3就行没必要去找那些非官方的修改版。需要注意的一点是Orabbix有两个分支概念一个是原本的Orabbix另一个是后来有人维护的Orabbix的衍生版本。衍生版本虽然增加了一些新功能但稳定性没有得到大范围验证而且安装方式和配置格式略有不同。我这篇文章基于的版本是官方1.2.3如果你拿到的是衍生版配置文件里可能要多几个项别照搬我的参数。2.2 JDK版本的选择Orabbix和Oracle 12c的隐藏约定Orabbix是用Java写的运行环境需要JDK不是JRE。很多人图省事装个JRE就启动了结果运行到一半开始报ClassNotFoundException那是因为Orabbix内部会动态加载JDBC驱动类JRE在某些环境里对这类动态加载支持不够完整所以稳妥起见直接用JDK。JDK版本我建议用1.8。太老的环境比如1.6跑起来有编码问题太新的比如11以上有时候会和ojdbc8的某些类冲突。orabbix官方文档推荐的是JDK 1.7或1.8但考虑到Oracle 12c的ojdbc8驱动对JDK8支持最好直接上JDK 8就行。检查JDK环境的命令java -version我见过一个比较典型的问题机器上明明有JDK环境但是启动Orabbix的脚本trap.sh里写死了java的绝对路径比如/usr/bin/java而/usr/bin/java指向的是一个JRE那就会导致不正常的启动失败。这种问题排查起来很绕我会在后面的排错章节细说。2.3 网络规划与Oracle端连接验证Orabbix通过JDBC连接Oracle走的是Oracle监听端口默认1521。所以有两层网络必须保证通Orabbix所在机器到Oracle服务器的1521端口要通telnet测试一下即可。Orabbix所在机器到Zabbix Server的10051端口要通因为数据是推给Zabbix Server的trapper端口。也就是说Orabbix这台机器既是Oracle的JDBC客户端又是Zabbix的trapper客户端。出方向至少要放通这两个端口。在正式部署Orabbix之前先手工验证一下JDBC连接字符串是否正确是很有必要的。用sqlplus测试当然也可以但sqlplus走的是Oracle的OCI连接和OJdbc的协议有细微差别最稳的方式是写个几十行的Java小Demo验证不过一般用telnet测端口sqlplus测账号密码也能八九不离十了。我通常的做法是telnet 192.168.1.100 1521能通之后再用sqlplus带上连接串测一下sqlplus zabbix_monitor/password192.168.1.100:1521/ORCLCDB测试能在几秒内返回Connected那么Orabbix配置里的JDBC连接串基本照抄就行。别想当然地认为DBA给我的连接串是Oracle RAC的scan-ip那种写法JDBC连接串不支持那种多地址的写法后面配置的时候我会专门讲这个坑。3. Zabbix Server端部署从下载Orabbix到启动进程前置条件没问题下面进入正题。整个部署过程分两个部分先搞定Orabbix本身再在Zabbix前端导入模板、配好主机。3.1 下载与目录规划Orabbix的发布包通常是zip格式下载之后解压到/opt/orabbix/整个目录结构最好是/opt/orabbix/ ├── orabbix-1.2.3.jar ├── orabbix.properties ├── conf/ ├── log/ ├── run.sh ├── trap.sh └── template/其中template目录里放的是Zabbix前端要导入的模板文件后续会用到。下载的地方一般是在开源软件聚合站上搜索Orabbix 1.2.3下载自己拿到的发布包最好核对一下压缩包里的文件列表是否完整。解压命令unzip orabbix-1.2.3.zip -d /opt/orabbix chmod x /opt/orabbix/*.sh这里补充一个容易忽视的细节/opt/orabbix这个目录属主要确保可写因为Orabbix运行的时候会在log/目录下生成日志文件。如果用root启动后续进程是root权限倒没什么问题但如果你习惯用普通用户启动那要先chown给对应的用户。3.2 配置文件中最重要的若干参数解读Orabbix的配置文件是orabbix.properties里面每一项都值得认真看一遍。我挑几个核心的展开讲。# 日志级别 LogLeveldebug # 日志文件路径 LogFile/opt/orabbix/log/orabbix.log # 数据库连接基本信息 DatabaseListORACLE12C # 数据库连接字符串 ORACLE12C.Urljdbc:oracle:thin:192.168.1.100:1521:ORCLCDB ORACLE12C.Userzabbix_monitor ORACLE12C.Passwordpassword # 是否启用查询 ORACLE12C.QueryListFile/opt/orabbix/conf/query.properties其中DatabaseList的值可以写多个用逗号分隔。每一个数据库的配置项都以别名开头比如ORACLE12C.Url、ORACLE12C.User。这个别名非常关键它要和你后面在Zabbix前端添加主机时使用的主机名保持一致。你如果在这里写的是ORACLE12C那么前端主机名就必须精确地叫ORACLE12C大小写也要一致。很多人在这一步翻车前端主机名叫ORACLE12C但Orabbix里配置的别名是oracle12c最后Zabbix里老是不出数据看日志才发现两头都对着空气在等。还有几个系统级的参数也值得注意# 采集间隔单位秒 Interval300 # Zabbix Server的IP或域名 ZabbixServer192.168.1.50 # Zabbix Server的trapper端口 ZabbixServerPort10051Interval默认是300秒。如果你希望查看会话数这种指标能更及时可以调到60。但要注意间隔越小Oracle端负载越高。对生产库来说我建议不要低于120秒测试环境无所谓。还有一个容易错的地方如果你监控的Zabbix Server是通过Proxy接收数据的这里填的不一定是Server的地址得填Proxy的地址。因为trapper采集数据最终是由Zabbix Proxy那一端接收的。这个细节我不止一次见同事搞混结果数据全堆积在Orabbix的日志里吐不出来。3.3 启动Orabbix并验证进程存活配置改好后启动命令是进入/opt/orabbix目录执行./trap.sh。这里有个讲究Orabbix的启动脚本会读取当前目录下的配置文件如果你不从该目录执行它会提示找不到配置文件或者更恶心的直接读不到你的配置启动到一半静默退出。启动之后检查一下进程ps -ef | grep orabbix再确认端口和日志tail -f /opt/orabbix/log/orabbix.log正常的话日志里会看到类似这样的信息[INFO] Starting Orabbix [INFO] Connecting to Oracle... [INFO] Connected to ORCLCDB看到Connected就说明JDBC连接是通的。如果看到连接报错先别急着改Zabbix端优先排查这里。顺带一提Orabbix的run.sh和trap.sh的区别run.sh更偏向前台运行调试trap.sh是以后台方式启动的。调试阶段建议先跑run.sh把日志打到屏幕上确认没问题后再改用trap.sh。3.4 配置项完整对照表为了方便你检查我把常用的配置项和对应作用列了一张表配置项作用示例值DatabaseList要监控的数据库别名列表逗号分隔DatabaseListORACLE12C,ORACLE19C别名.UrlJDBC连接串jdbc:oracle:thin:IP:1521:SID别名.UserOracle监控账号zabbix_monitor别名.PasswordOracle监控密码密文或明文Interval采集间隔秒300ZabbixServerServer或Proxy地址192.168.1.50ZabbixServerPorttrapper端口10051LogFile日志路径/opt/orabbix/log/orabbix.logLogLevel日志级别debug/info这个表格是我部署时惯用的一个自查清单每一项对不上后面都会有连锁反应。4. Oracle 12c端准备最小权限监控账号与连接串写法Orabbix连接Oracle需要一个专用的监控账号。DBA朋友听到最小权限四个字就很欣慰因为这表示我们不会去碰SYSTEM或SYS这些超级账号。4.1 创建监控账号的SQL用SYSDBA登录数据库然后执行下面的SQL创建一个专用用户CREATE USER ZABBIX_MONITOR IDENTIFIED BY YourStrongPassword; GRANT CONNECT TO ZABBIX_MONITOR; GRANT SELECT ON V_$INSTANCE TO ZABBIX_MONITOR; GRANT SELECT ON V_$DATABASE TO ZABBIX_MONITOR; GRANT SELECT ON V_$SGA TO ZABBIX_MONITOR; GRANT SELECT ON V_$SGASTAT TO ZABBIX_MONITOR; GRANT SELECT ON V_$SYSTEM_EVENT TO ZABBIX_MONITOR; GRANT SELECT ON V_$SESSION TO ZABBIX_MONITOR; GRANT SELECT ON V_$TABLESPACE TO ZABBIX_MONITOR; GRANT SELECT ON V_$DATAFILE TO ZABBIX_MONITOR; GRANT SELECT ON DBA_DATA_FILES TO ZABBIX_MONITOR; GRANT SELECT ON DBA_FREE_SPACE TO ZABBIX_MONITOR;Oracle 12c里以V_$开头的这些视图是V$视图的同义词给SELECT ON V_$XXX权限其实等价于给SELECT ON V$XXX。但有个别SQL会用DBA_TABLESPACE、DBA_TS_QUOTAS之类的视图所以你可以在上面的基础上再补一个GRANT SELECT ANY DICTIONARY TO ZABBIX_MONITOR;这一个权限把整个数据字典都放开给这个账号了。严格意义上这不算最小权限但对监控场景比较实用。你要是安全意识非常敏感就逐项grant如果想让Orabbix的模板都能正常出数而不纠结于那多出来的几个字典视图权限我建议直接加上这条省心很多。4.2 JDBC连接串的写法要点Orabbix里的OJDBC连接串有三种写法分别对应SID、ServiceName和RAC的SCAN方式。Oracle的默认安装方式一般都是ServiceName方式所以最标准的写法是ORACLE12C.Urljdbc:oracle:thin:192.168.1.100:1521/ORCLCDB注意这里用的是斜杠/不是冒号:。如果你用SID方式连接串就是一个冒号ORACLE12C.Urljdbc:oracle:thin:192.168.1.100:1521:ORCLCDB这两种方式的差异在于ServiceName是可以被数据库服务动态注册的SID是固定的实例标识。Oracle 12c默认容器数据库CDB和可插拔数据库PDB概念的引入让SID和ServiceName的关系变得更微妙。我一般建议在Orabbix里连CDB用ServiceName方式因为CDB的ServiceName通常是ORCLCDB这种PDB的ServiceName可能是ORCLPDB你要是连PDB那么许多CDB层面的视图权限可能又不够了。如果你要监控的Oracle 12c是RAC环境那你可能会遇到一个问题Oracle 12c RAC的ServiceName不是单节点的是集群注册的。此时JDBC的thin连接串支持//HOST:PORT/SERVICENAME但是这个HOST需要用集群的SCAN IP。ORACLE12C.Urljdbc:oracle:thin://scan-cluster.example.com:1521/ORCLCDB这种写法是有讲究的//后面跟的是ServiceName的完整路径不容有失。我第一次配RAC的时候直接用了节点1的IP去连结果数据能采到但负载全压在节点1上很不健康。后来改成SCAN IP才均衡起来。4.3 密码安全与过期策略Oracle 12c里默认的密码过期策略DEFAULT PROFILE下的PASSWORD_LIFE_TIME是180天。这意味着如果你的监控账号密码过期了Orabbix日志里会出现ORA-28001: the password has expired之类的报错然后所有采集项开始大面积变红。处理办法有两种二选一第一种把密码设置成永不过期ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;但这会改掉整个库的默认密码策略对生产库来说DBA大概率不会同意除非是测试环境。第二种给监控账号指定一个专门的ProfileCREATE PROFILE ZABBIX_PROFILE LIMIT PASSWORD_LIFE_TIME UNLIMITED; ALTER USER ZABBIX_MONITOR PROFILE ZABBIX_PROFILE;这样就只对这一个账号生效既解决了Orabbix半夜报错的问题又不破坏全局安全策略。密码里的特殊字符是另一个坑。Orabbix读取properties文件时如果密码里含有#或者空格会被误解析导致连接失败。解决办法是对特殊字符做转义比如\#。但如果密码里有反斜杠那就更麻烦了。所以我强烈建议创建Oracle监控账号时密码就用大小写字母加数字的组合不要带特殊字符。这不是弱口令而是运维易用性和安全性的平衡选择。5. Zabbix前端配置导入模板、创建主机与宏定义Orabbix安装好、数据库端账号也准备完毕后接下来就是打通Zabbix前端这一环。这部分操作看起来简单但细节决定了你是不是能在20分钟内看到第一个监控数据。5.1 导入Orabbix监控模板前面提到/opt/orabbix/template/目录里有模板文件通常是XML格式文件名类似Template_Oracle_*.xml。在Zabbix前端操作打开配置 - 模板 - 导入。选择XML文件点击导入。导入成功后在模板列表里搜索Oracle即可找到。导入时如果提示版本不兼容不用慌。通常是因为模板文件里声明的Zabbix版本号和当前4.2不完全一致选忽略版本冲突继续导入即可。只要模板里没有引用不存在的值映射或宏一般都能正常导入。5.2 创建主机并绑定模板导入模板之后要新建一台主机这台主机的名字必须和Orabbix配置文件里的DatabaseList别名完全一致。比如我前面配置的是ORACLE12C那主机名就叫ORACLE12C。主机配置里由代理程序监测的代理可以留空也就是让Zabbix Server直接接收。因为Orabbix是主动推送数据不需要Server去探活所以这台主机的状态一般显示为未监控才是正常的你不需要开启已启用的主动检测。很多人在这一步看到主机是未监控就开始怀疑自己配置错了其实不是trapper类型的监控项本来就依赖外部数据主动进来不依赖Agent的存活。上模板点击这台主机在模板选项卡里关联之前导入的Oracle模板。关联后该主机的监控项里会自动出现大量的oracle.*键值项。5.3 宏定义调整模板导入后里面往往有若干个宏需要你在主机级别覆盖。最典型的是{$ORACLE_TABLESPACE_NAME} {$ORACLE_SESSION_MODE}这些宏如果保持模板里的默认值有些监控项会匹配不到特别是表空间相关的项。你可以根据自己环境里实际存在的表空间名称在主机宏里一个个加进去例如{$ORACLE_TABLESPACE_NAME} SYSTEM {$ORACLE_TABLESPACE_NAME} USERS好了这里就涉及Orabbix模板的一个习惯模板里的表空间监控项往往是给某一张表用的如果你的库里有多个表空间你需要复制多个监控项或者使用多个宏。实际操作里我倾向于复制模板里和表空间相关的监控项然后把宏值换掉。这样前端的配置会多一些但用起来灵活。6. 验证监控数据与排错链路所有配置完成接下来就是验证数据。这里也是新手最容易心态崩的一段。6.1 查看监控项是否有数据在Zabbix前端主机监控项列表里等上一个采集周期看数据是否进来。正常情况下与trapper相关的项会显示绿色的数值。一个快捷判断方式是查看最新数据页面搜索oracle.开头的键值如果能看到连续几组数据就说明链路已经通了。如果等了很长时间还是没有任何数据这个时候要分两头排查。6.2 排查链路一Orabbix日志有问题Orabbix的日志是最直观的。在/opt/orabbix/log/orabbix.log里看有没有报错Connection refused目标Oracle端口不通检查防火墙和监听。ORA-01017: invalid username/password账号密码不对回第4章检查。ORA-12514: TNS listener does not know service连接串里的ServiceName不对。No suitable driver found缺少ojdbc驱动或者classpath配的不全。Zabbix server connection refusedOrabbix连不上Zabbix Server的10051端口去检查网络和Zabbix Server进程。日志级别建议在排查阶段调成debug会有更细粒度的输出。调完记得重启进程。6.3 排查链路二Zabbix前端有数据但不出图如果日志里显示数据已经成功推给了Zabbix Server但前端监控项还是没有数据要从两个方向找第一Orabbix配置文件里的DatabaseList别名和主机名是否完全一致连空格都不能有。第二模板里监控项的键值是不是和Orabbix推送过来的键值一致。Orabbix推送的键值格式通常是oracle.name、oracle.session.count等模板导入后可能会因为大小写或者前缀有出入而导致匹配不上。最直接的验证方式在Zabbix Server上执行zabbix_get -s 127.0.0.1 -k oracle.session.count如果返回ZBX_NOTSUPPORTED说明Server端根本没有这个键值对应的数据源。回头再检查模板和Orabbix配置直到返回具体的数值为止。6.4 Orabbix进程的日常守护生产环境里Orabbix这个进程需要纳入日常监控。最稳妥的办法是把它注册成systemd服务定义成服务异常自动重启免得不小心OOM挂掉之后无人发现数据库监控默默失效。一个最简单的systemd单元文件写法如下[Unit] DescriptionOrabbix Agent Afternetwork.target [Service] Typesimple Userzabbix WorkingDirectory/opt/orabbix ExecStart/usr/bin/java -jar /opt/orabbix/orabbix-1.2.3.jar Restartalways RestartSec10 [Install] WantedBymulti-user.target把文件存到/etc/systemd/system/orabbix.service然后systemctl daemon-reload systemctl enable --now orabbix之后每次重启机器这个进程会自动起来不用再担心有人忘了手工启动。7. 我踩过的几个坑以及为什么你会遇到写安装教程容易但如果不把坑点说透读者照样会照着操作然后踩进同一个洞里。这一节是我个人经验里最想分享的部分。7.1 JDK版本不对但启动脚本不报错我前面提到过/usr/bin/java指向JRE的问题。比较坑的是有些发行版默认/usr/bin/java就是指向OpenJDK的JRE而Orabbix启动脚本里用的是这个路径。启动之后进程在日志也在滚动但全是ClassNotFoundException。如果你看到日志里有加载类失败的异常第一反应不是去看classpath而是先确认java -version和readlink -f /usr/bin/java的结果确保你用的确实是JDK。7.2 Oracle 12c的DEFAULT PROFILE密码过期这个坑非常隐蔽。Orabbix刚装好的前几个月一切正常某天突然大面积告警日志里全是ORA-28001。很多人的第一反应是改数据库密码但忘了去检查这个用户是不是被密码策略限制了。我遇到过一次后直接把监控账号挪到专用Profile里世界清净了。所以建议你在建账号时就顺手解决掉别等告警了再处理。7.3 前端主机名配置时手滑多了一个空格还有一个特别荒唐的坑我在一次配置时主机名不小心在末尾多打了一个空格Orabbix推数据时用的名字没空格Zabbix的trapper接收器判定数据来源不存在于是数据被丢弃。前端看到的现象就是所有oracle监控项都显示Not supported。这种问题肉眼很难发现排查到最后才注意到主机名多了一个不可见的空格。所以我建议在配置主机名时用复制粘贴的方式不要手动敲。7.4 Orabbix多实例与Zabbix Proxy的联动如果你的Zabbix架构里用了ProxyOrabbix的ZabbixServer参数必须填Proxy的IP而不是Server的。因为trapper数据走向是Orabbix - Proxy - Server如果你直接填Server的IP数据会绕过Proxy而前端主机的监控项可能会绑定到Proxy那边导致数据不匹配。这个细节在文档里没有特别强调但生产环境很常见碰到了就是疑难杂症。8. 安装完成后的几个顺手优化数据通了之后别急着收工。有几个优化项能让你的监控体验提升不少。8.1 调整采集间隔以平衡负载与实时性默认300秒对大部分指标来说够了。但如果你想看会话突增、锁等待这类偏实时的指标可以把Interval调成120秒。要注意的是Orabbix每一次采集都会执行固定的一组SQL特别是查V$SESSION的语句在会话数很多的库里会有一定开销。我调低间隔之后用工具看了一下Oracle的AWR报告增量并不明显。所以对大多数场景调到120秒是没啥问题的。8.2 日志切割与保留策略Orabbix日志默认会在log目录一直增长。debug模式下一天的日志能达到几百MB非常占空间。我的做法是在systemd服务之外加一个每日的logrotate配置/opt/orabbix/log/orabbix.log { daily rotate 7 compress missingok notifempty }放进/etc/logrotate.d/orabbix即可。这样可以防止日志无限膨胀也方便出问题的时候翻七天的记录。8.3 监控项排查的快捷入口最后给一个提升排错效率的小技巧。在Zabbix前端的主机监控项列表里用关键词oracle过滤一遍然后按最新数据排序就能很直观地看到哪些项有数据、哪些项没有。全绿的项代表链路通畅红着的基础项基本都有对应的日志报错。通过排序你还能发现那些重复定义的监控项顺手清理掉让监控项表格干净很多。到这里Zabbix 4.2 Orabbix的安装部署就完整跑通了。从环境检查、JDK确认、Orabbix配置、Oracle账号准备到Zabbix前端导入模板、主机命名和排错每一环都串起来了。这套链路我前前后后部署过好几遍每次最花时间的反而不是技术问题而是一些细节约定导致的脏数据。下一篇我会继续写Orabbix的监控项梳理和告警配置把表空间使用率、会话数、等待事件这些指标的告警阈值怎么设得更合理讲一下。如果你在安装中遇到了本文没覆盖到的问题对照着日志里报错的关键字排查通常都能找到方向。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑