配置简介

使用Zabbix监控中间件Weblogic通常有两种途径:JMX和SNMP。

本次使用JMX方式对weblogic进行监控,该种方式需要修改weblogic server的启动配置,启用JMX和MBEAN支持,因此在zabbix中配置的一个主机对应的是weblogic服务器上的一个server,如果该服务器上有多个server需要监控,将在zabbix中体现为多个主机。

同时,对于WEBLOGIC SERVER版本的监控目前使用JMX无法获取,需要使用SNMP方式实现,因此对于一个WEBLOGIC SERVER的监控需要添加JMX和SNMP两种接口。

注:理论上使用SNMP可以获取weblogic的所有信息,也就是理论上jmx监控的部分可以使用snmp实现,但由于weblogic的SNMP OID组织方式问题,实现起来存在很多问题,因此本次大部分监控项采用了zabbix已经集成的JMX来实现。

配置步骤

Weblogic启用SNMP

登录监控目标的weblogic服务器管理控制台web界面,导航到SNMP,点击域范围的SNMP代理,比如此处的cxbjdomain8740,点击该代理进入进行配置:




zabbix如何监控vSphere zabbix 监控weblogic_zabbix如何监控vSphere


zabbix如何监控vSphere zabbix 监控weblogic_weblogic 控制台端口_02


zabbix如何监控vSphere zabbix 监控weblogic_weblogic 控制台端口_03


如上面两图,修改SNMP UDP 端口和主要 AgentX 端口,本次配置在默认161和175前添加了11(需要确认使用的端口当前未被占用,测试过程中使用默认的161和175无法成功,因此修改为大于1024的端,且可以正常配置完成并使用)。其它参数无需修改。

SNMP启用虽然提示无需重启server,但实际配置过程中需要重启admin server才可以生效。

启用JMX支持

为待监控的server添加JMX支持以及启用MBEAN,需要重启对应的server。


zabbix如何监控vSphere zabbix 监控weblogic_weblogic 控制台端口_04


修改启动文件,增加启动参数,具体配置方式可以咨询中间件工程师

增加的具体参数如下:

-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=10060 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djavax.management.builder.initial=weblogic.management.jmx.mbeanserver.WLSMBeanServerBuilder

修改完成配置文件后,重新启动对应的server,此处使用了10060端口用来进行JMX监控。

配置zabbix界面进行weblogic监控

在zabbix server服务器的/tmp目录下已经上传了jmx测试的工具,可以使用命令进行监控,

CD到/tmp目录下,然后使用类似下面的命令进行测试


zabbix如何监控vSphere zabbix 监控weblogic_zabbix如何监控vSphere_05


创建主机

需要为主机添加JMX和SNMP两个接口,且一个主机对应weblogic的一个server,输入ip地址即可。


zabbix如何监控vSphere zabbix 监控weblogic_zabbix如何监控vSphere_06


为主机添加监控模板Template Weblogic JMX:


zabbix如何监控vSphere zabbix 监控weblogic_weblogic 控制台端口_07


为主机配置宏变量,server名称:


zabbix如何监控vSphere zabbix 监控weblogic_weblogic 控制台端口_08


为主机创建单独的version监控项

由于使用jmx未发现获取version的方法,因此使用snmp获取版本信息,需要为主机单独添加一个ITEM监控项。

首先登录zabbix服务器,使用snmpwalk命令获取版本对应的OID值:

[root@zabbix-server01 ~]# snmpwalk -v2c -c public 10.100.69.10:11161 .1.3.6.1.4.1.140.625.360.1.65.16SNMPv2-SMI::enterprises.140.625.360.1.65.16.162.14.60.50.7.159.36.242.211.12.129.113.40.56.142.227 = STRING: "WebLogic Server Temporary Patch for BUG29694149 Thu Apr 25 12:17:13 PDT 2019WebLogic Server 10.3.6.0.190416 PSU Patch for BUG29204678 Mon Feb  4 02:06:33 PST 2019WebLogic Server 10.3.6.0  Tue Nov 15 08:52:36 PST 2011 1441050"SNMPv2-SMI::enterprises.140.625.360.1.65.16.166.40.105.37.105.31.11.122.53.212.72.192.250.244.160.246 = STRING: "WebLogic Server Temporary Patch for BUG29694149 Thu Apr 25 12:17:13 PDT 2019WebLogic Server 10.3.6.0.190416 PSU Patch for BUG29204678 Mon Feb  4 02:06:33 PST 2019WebLogic Server 10.3.6.0  Tue Nov 15 08:52:36 PST 2011 1441050"

可以看到目前获取到了两条信息,分别对应了admin server和我们要监控的server,命令行中的OID是整个OID前半部分,输出中红色部分的OID是每个SERVER的索引,和起来就是整个OID。因此要获取的OID是两部分组合,通过下图可以看到要监控的8741server对应的索引是162开头的那一个,因此8741这个server版本信息的OID是:.1.3.6.1.4.1.140.625.360.1.65.16.162.14.60.50.7.159.36.242.211.12.129.113.40.56.142.227


zabbix如何监控vSphere zabbix 监控weblogic_weblogic 控制台端口_09


然后使用完整的OID再次通过命令测试是否可以获取版本信息:


zabbix如何监控vSphere zabbix 监控weblogic_zabbix如何监控vSphere_10


Web界面为主机创建监控项(由于每个主机不一样,该监控项不存在于模板中)


zabbix如何监控vSphere zabbix 监控weblogic_weblogic 控制台端口_11


zabbix如何监控vSphere zabbix 监控weblogic_weblogic 控制台端口_12


验证监控结果

过一段时间后在监控----最新数据中查看结果,如下图所示:


zabbix如何监控vSphere zabbix 监控weblogic_zabbix如何监控vSphere_13


zabbix如何监控vSphere zabbix 监控weblogic_zabbix如何监控vSphere_14


zabbix如何监控vSphere zabbix 监控weblogic_zabbix如何监控vSphere_15


性能指标趋势图:


zabbix如何监控vSphere zabbix 监控weblogic_zabbix如何监控vSphere_16


zabbix如何监控vSphere zabbix 监控weblogic_weblogic 控制台端口_17


到这里就配置完成了,大家在配置中如有问题可随时在下方评论处留言哦[送心]关注我每天分享更多实用的运维知识[击掌]