在CentOS系统中,监控WebLogic Server的运行状态与性能可采用图形化工具、命令行工具、脚本化方案及第三方监控系统等多种方式,以下是具体实现方法:
WebLogic自带的图形化管理控制台是最基础的监控方式,通过浏览器即可访问。操作步骤:
http://<WebLogic服务器IP>:7001/console(默认管理端口为7001);JMX是Java标准的监控接口,支持远程获取WebLogic的详细性能数据。需先配置远程访问,再通过客户端工具连接:
bin/setDomainEnv.sh文件,在JAVA_OPTIONS中添加以下参数(关闭认证与SSL,生产环境建议开启):JAVA_OPTIONS="$JAVA_OPTIONS -Dcom.sun.management.jmxremote.port=9000"
JAVA_OPTIONS="$JAVA_OPTIONS -Dcom.sun.management.jmxremote.authenticate=false"
JAVA_OPTIONS="$JAVA_OPTIONS -Dcom.sun.management.jmxremote.ssl=false"
保存后重启WebLogic服务使配置生效。bin目录下运行jconsole,选择“远程”选项卡,输入WebLogic服务器IP及JMX端口(如192.168.1.100:9000),点击“连接”即可查看JVM堆内存、线程、类加载、MBean等信息。WLST是基于Jython的命令行工具,适合自动化监控与脚本化管理。示例脚本(监控服务器健康状态):
# 连接到WebLogic服务器
connect('weblogic', 'welcome1', 't3://localhost:7001')
# 获取ServerRuntimeMBean
serverRuntime = cmo.getServerRuntime()
# 获取服务器健康状态(0=健康,1=警告,2=严重)
healthState = serverRuntime.getHealthState()
print("Server Health State:", healthState)
# 获取子组件(如JDBC、JMS)的健康状态
subsystemHealth = serverRuntime.getSubsystemHealthStates()
for subsystem in subsystemHealth:
print(f"Subsystem: {subsystem.getName()}, Health: {subsystem.getHealthState()}")
# 断开连接
disconnect()
将脚本保存为monitor_health.py,通过wlst.sh monitor_health.py运行即可。
weblogic_exporter(WebLogic专用指标导出器)将WebLogic性能指标转换为Prometheus可采集的格式;通过Shell或Python脚本调用WebLogic的命令行工具或API,实现定制化监控。示例(Shell脚本监控服务器状态):
#!/bin/bash
# 定义WebLogic服务器信息
URL="t3://localhost:7001"
USER="weblogic"
PASSWORD="welcome1"
# 执行status.sh脚本获取服务器状态
STATUS=$(/path/to/weblogic/bin/status.sh -u $USER -p $PASSWORD -h $(hostname -i))
# 判断状态是否正常
if echo "$STATUS" | grep -q "RUNNING"; then
echo "WebLogic Server is RUNNING."
else
echo "ERROR: WebLogic Server is not running!" | mail -s "WebLogic Server Alert" admin@example.com
fi
将脚本添加到crontab中定期执行(如每5分钟一次),可实现自动状态检查与告警。
以上方法覆盖了从基础到高级的监控需求,可根据实际场景选择单一或组合使用(如用JMX获取详细指标+Zabbix实现告警+Grafana可视化)。