资讯动态

community-templates 中 WeblogicHealth 模板实战:用 Zabbix JMX 监控 WebLogic 服务器状态与 JDBC 连接池健康

发布时间:2026/10/16 1:49:23 来源:尧图企业网站定制
【免费下载链接】community-templatesZabbix Community Templates repository项目地址https://gitcode.com/gh_mirrors/co/community-templates点击查看免费下载本文基于 community-templates 仓库中的WeblogicHealth模板关联文档为 5.0 版 README完整讲解该模板如何通过 Zabbix 的 JMX 数据源采集 WebLogic Server 的ServerRuntime运行状态与 JDBC 连接池指标包括 JMX 端点配置、全部 6 个监控项的 ObjectName 与属性含义、4 个 DISASTER 级触发器表达式在不同 Zabbix 版本间的语法差异以及图形化展示与按自身环境改造的方法。读完后你可以直接把模板导入 Zabbix并针对自己的 managed server 名称与数据库连接池完成适配。1. 模板定位与仓库文件布局模板的原始描述Overview为一句话Weblogic monitoring using JMX作者为 Argha Chatterjee。其核心目标是回答两个运维问题WebLogic 的 managed server模板中硬编码为oim_server1/2与soa_server1/2是否处于RUNNING状态oim_server1上名为ApplicationDB的 JDBC 连接池是否存在连接泄漏Leaked Connection平均活跃连接数处于什么水平。仓库中该模板按 Zabbix 版本分三个目录存放导出格式随版本演进版本目录模板文件说明5.0XML 导出格式export date 为 2021-11-21T21:36:56Z触发器使用旧版函数表达式适配 Zabbix 5.05.4YAML 导出格式触发器改为新版find(...)表达式并引入 item tags适配 Zabbix 5.46.0与 5.4 内容一致的 YAML 导出export version 标记为 6.0适配 Zabbix 6.0关联文档 5.0/README.md 与 5.4/README.md 均声明本模板没有宏Macros、没有模板链接Template links、没有自动发现规则Discovery rules。这一点与模板文件实际内容一致——XML/YAML 中均不存在macros、links与discovery_rules节点。因此该模板是典型的静态硬编码型模板服务器名和连接池名直接写死在 item key 中适配自有环境需要手工修改见第 6 节。模板归属Templates/Applications模板组5.0 XML 中同时带有名为server health的应用application标记5.4/6.0 YAML 则统一以 item tagApplicationserver health表达同一语义。2. 采集机制JMX 数据源与 jmx_endpoint 解析6 个监控项全部使用 Zabbix 的JMX agentJMX 数据源采集类型这是 Zabbix 服务端直接连接目标 JMX RMI 端点拉取 MBean 属性的方式不依赖目标主机上安装任何 agent。2.1 端点 URI 结构与宏替换所有 item 均显式配置了同一个 JMX 端点见 5.0 模板 XML 及 5.4/6.0 YAML 中的jmx_endpoint字段service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi各组成部分的含义service:jmx:rmi:///jndi/rmi://—— 标准 JMX RMI 协议前缀表示通过 RMI 协议建立 JMX 连接先经 JNDI 查找到 RMI stub 再完成属性读取{HOST.CONN}、{HOST.PORT}—— Zabbix 内置宏导入后会自动取该主机主机页面上填写的连接地址与端口/jmxrmi—— WebLogic Server 开启 JMX 远程访问后对外暴露的标准服务路径通常复用管理/管理服务器监听端口模板默认假设{HOST.PORT}指向该端口。因此使用前提有两个以仓库模板实际配置为准被监控的 WebLogic 域必须已启用 JMX 远程端点且 Zabbix Server 所在网络能直接访问{HOST.CONN}:{HOST.PORT}上的/jmxrmi由于 JMX 数据源由 Zabbix Server 发起连接若目标在隔离网段需要网络放行模板本身没有提供绕过手段无代理、无宏可改传输方式。2.2 ObjectName 与属性JMX item key 的格式为jmx[ObjectName,属性名]即第一个参数是完整 ObjectName第二个参数是要读取的属性。模板涉及两类 MBeanServerRuntime MBean服务器运行状态com.bea:Nameoim_server1,TypeServerRuntime com.bea:Nameoim_server2,TypeServerRuntime com.bea:Namesoa_server1,TypeServerRuntime com.bea:Namesoa_server2,TypeServerRuntimecom.bea是 WebLogic 自带的 JMX 域TypeServerRuntime对应每个 server 实例的运行时 MBean读取的State属性返回其运行状态如RUNNING。注意 key 中属性名顺序不影响 ObjectName 匹配模板里写的是Namexxx,TypeServerRuntime。JDBCConnectionPoolRuntime MBean数据库连接池com.bea:ServerRuntimeoim_server1,NameApplicationDB,TypeJDBCConnectionPoolRuntime这里多了一个ServerRuntimeoim_server1限定表示该连接池 MBean 归属于oim_server1实例下的ApplicationDB连接池。读取两个属性ActiveConnectionsAverageCount—— 平均活跃连接数用于观察数据库负载趋势LeakedConnectionCount—— 泄漏连接数非零值意味着有连接借出后未归还是连接池耗尽的典型前兆。3. 监控项完整清单模板共 6 个 item刷新间隔统一为 30 秒。下表整合了 5.0 README 的 Items collected 清单与模板文件中的采集细节监控项名称keyjmx[...]刷新值类型 / trends说明OIMSERVER1jmx[com.bea:Nameoim_server1,TypeServerRuntime,State]30sTEXTtrends0服务器运行状态OIMSERVER2jmx[com.bea:Nameoim_server2,TypeServerRuntime,State]30sTEXTtrends0服务器运行状态SOASERVER1jmx[com.bea:Namesoa_server1,TypeServerRuntime,State]30sTEXTtrends0服务器运行状态SOASERVER2jmx[com.bea:Namesoa_server2,TypeServerRuntime,State]30sTEXTtrends0服务器运行状态OIMSERVER1 Average Connection Countjmx[com.bea:ServerRuntimeoim_server1,NameApplicationDB,TypeJDBCConnectionPoolRuntime,ActiveConnectionsAverageCount]30s数值导出未显式指定 value_type按 Zabbix 默认数值类型处理平均活跃连接数OIMSERVER1 Leaked Connection Countjmx[com.bea:ServerRuntimeoim_server1,NameApplicationDB,TypeJDBCConnectionPoolRuntime,LeakedConnectionCount]30s同上泄漏连接数细节说明4 个Stateitem 在 5.0 XML 中显式声明value_typeTEXT且trends0文本值不产生趋势数据符合预期5.4/6.0 YAML 中同样有trends: 02 个连接池 item 在导出文件中未声明value_type与trends导入后按 Zabbix 默认数值语义存储并保留趋势数据这也是它们能进入图形第 5 节的前提5.0 XML 中仅部分 item 带有server healthapplication 标记如 OIMSERVER2 未带而 5.4/6.0 YAML 对全部 6 个 item 统一打了Application: server healthtag属于版本间的规范化。4. 触发器服务器状态 DISASTER 告警4.1 触发器清单与语义模板文件中共有 4 个 item 级触发器全部为DISASTER级别一一对应 4 个Stateitem触发器名称关联 item升级条件OIM SERVER 1 TriggerOIMSERVER1状态非 RUNNINGOIM SERVER 2 TriggerOIMSERVER2状态非 RUNNINGSOA Server 1 TriggerSOASERVER1状态非 RUNNINGSOA Server 2 TriggerSOASERVER2状态非 RUNNING4.2 两个版本的表达式语法差异这是阅读模板文件时最值得注意的差异点直接体现了 Zabbix 5.0 → 5.4 触发器表达式引擎的迁移5.0 XML 中的旧版表达式以 OIMSERVER1 为例{str(RUNNING,#1)}0语义取最近一个#1采集值统计其中等于字符串RUNNING的值的个数结果为 0 即说明最新状态不是 RUNNING触发告警。5.4 YAML 与 6.0 YAML 中的新版表达式find(/WeblogicHealth/jmx[com.bea:Nameoim_server1,TypeServerRuntime,State],#1,like,RUNNING)0语义等价通过/模板名/key定位 item用find(...,like,RUNNING)做包含式匹配#1表示只看最新值计数为 0 则触发。采用like包含匹配而非精确匹配对State值的大小写拼接形式更宽松一些两个版本在最新状态非 RUNNING 即 DISASTER这一告警逻辑上完全一致。需要说明的是该告警只看单个最新采样点#1没有and()/min()等多条件包装属于即停即报型触发如果希望容忍采样抖动可以在导入后自行改写表达式仓库只读此为使用侧建议不修改仓库文件。4.3 README 与模板文件的出入5.0/README.md 的 Triggers 一节写作 There are no triggers in this template.5.4/README.md 同样如此但同目录的模板文件中实际包含上述 4 个触发器。可以推断 README 未随模板内容同步更新导入后的实际行为以模板文件为准——模板会带出这 4 个 DISASTER 触发器。5. 图形Leaked DB Connections模板定义了 1 个图形graph名为Leaked DB Connections由两条曲线组成见 5.0 XML 的graphs节及 5.4/6.0 YAML 的graphs节曲线对应 item key颜色ActiveConnectionsAverageCountjmx[com.bea:ServerRuntimeoim_server1,NameApplicationDB,TypeJDBCConnectionPoolRuntime,ActiveConnectionsAverageCount]1A7C11绿色LeakedConnectionCountjmx[com.bea:ServerRuntimeoim_server1,NameApplicationDB,TypeJDBCConnectionPoolRuntime,LeakedConnectionCount]F63100橙红色sortorder 为 1该图形的用途是把平均活跃连接数与泄漏连接数放在同一坐标系下对照正常情况下泄漏曲线应恒贴近 0一旦橙色曲线抬升即使服务尚未停机也预示ApplicationDB连接池正在被泄漏连接蚕食可结合 30s 的刷新粒度定位到具体的时间窗口。图中仅覆盖oim_server1的连接池模板没有为soa_server或oim_server2配置对应的池指标 item这属于原模板的覆盖范围限制。6. 应用与定制把硬编码的名字换成你的环境从源码结构看模板的 6 个 item key 中硬编码了 4 个 managed server 名oim_server1/2、soa_server1/2和 1 个连接池名ApplicationDB且模板没有 LLD 发现规则、没有可替换这些名称的宏。因此适配自有 WebLogic 域的操作路径是确认目标端口将 Zabbix 主机的连接端口设为 JMX 端点所在端口保证service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi可达替换 server 名如果你的 managed server 不叫oim_server1等需要逐一修改对应 item key 中Name后面的值以及触发器表达式中 item 路径里的 key两者必须同步否则触发器指向不存在的 item替换连接池名把NameApplicationDB改成实际池名若泄漏监控对象不是oim_server1上的池还需同步修改ServerRuntime限定与图形的 item key增删服务器由于没有 LLD新增一台 managed server 需要手工复制一组 State item 触发器不能靠自动发现生成。以上步骤均为使用侧的导入后配置仓库本身是只读的本文不修改仓库内容5.0、5.4、6.0 三份文件均可直接下载后导入对应大版本的 Zabbix 作为改造基线。7. 参考文件清单关联文档本文主体Applications/template_weblogic_health_check_jmx/5.0/README.md模板实现5.0 XML、5.4 YAML、6.0 YAML版本说明文档5.4/README.md综上WeblogicHealth模板是一个最小化的 WebLogic 健康检查方案以 JMX 直连方式在 30 秒粒度上盯住 4 个 server 实例的State与一个 JDBC 连接池的两个关键属性用 4 个 DISASTER 触发器兜底服务不在 RUNNING 状态这一最高优先级故障再用 Leaked DB Connections 图形观察连接池的慢性退化。它结构简单、无宏无 LLD胜在透明易改适合作为理解 Zabbix JMX 数据源与 WebLogic MBean 命名体系的样板模板再按第 6 节的方法扩展到实际生产环境。赞分享【免费下载链接】community-templatesZabbix Community Templates repository项目地址https://gitcode.com/gh_mirrors/co/community-templates点击查看免费下载相关推荐Eocortex 视频监控服务器 Zabbix 监控实战community-templates 中 Eocortex 模板的服务状态、API 摄像头统计与录像健康监控Eocortex 视频监控服务器 Zabbix 监控实战community templates 中 Eocortex 模板的服务状态、API 摄像头统计与录像Zabbix Community Templates 实战用 Zimbra「zmcontrol status」模板监控邮件服务器核心服务状态Zabbix Community Templates 实战用 Zimbra「zmcontrol status」模板监控邮件服务器核心服务状态 本篇文章基于 Z使用 Zabbix 模板监控 IBM TSM/Spectrum Protect Client Scheduler 服务状态community-templates 实战指南使用 Zabbix 模板监控 IBM TSM/Spectrum Protect Client Scheduler 服务状态community template上一篇TypeORM视图实体终极指南如何实现数据库视图的ORM映射下一篇5分钟掌握Quill权限控制从基础禁用到高级内容保护全攻略创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

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

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

免费获取报价 →
↑