一、原生工具监控
通过浏览器访问http://<WebLogic服务器IP>:<管理端口>/console(默认管理端口为7001),使用管理员账号登录。控制台提供服务器实例状态(运行/停止)、JVM内存使用率、线程池活动线程数、JDBC连接池可用连接数、部署应用状态等关键指标的图形化展示,支持实时监控与历史数据查看。
JMX是Java平台的标准监控接口,适用于获取WebLogic JVM及运行时的详细指标。
bin/setDomainEnv.sh文件,添加JMX远程访问配置:JAVA_OPTIONS="$JAVA_OPTIONS -Dcom.sun.management.jmxremote.port=9000" # JMX端口(自定义,需开放防火墙)
JAVA_OPTIONS="$JAVA_OPTIONS -Dcom.sun.management.jmxremote.authenticate=false" # 关闭认证(生产环境建议开启)
JAVA_OPTIONS="$JAVA_OPTIONS -Dcom.sun.management.jmxremote.ssl=false" # 关闭SSL(生产环境建议开启)
保存后重启WebLogic服务器使配置生效。jconsole工具,在“远程”选项卡输入<服务器IP>:9000,无需认证即可连接,查看内存池使用情况、线程状态、类加载信息、MBean属性等。WLST是基于Jython的命令行脚本工具,可实现自动化监控与脚本化管理。
bin文件夹,执行./wlst.sh进入交互模式,通过命令获取服务器状态:connect('weblogic', 'weblogic123', 't3://localhost:7001') # 连接管理服务器
serverRuntime() # 查看运行时信息(包括JVM、线程、连接池等)
ls('/Servers/AdminServer/ServerRuntime') # 列出AdminServer的运行时MBean
disconnect()
exit()
.py脚本(如monitor_server.py),通过nohup ./wlst.sh monitor_server.py &后台运行,定期记录指标到日志文件,便于后续分析。通过Linux原生命令监控WebLogic所在服务器的系统资源,间接反映WebLogic运行状态:
ps -ef | grep weblogic查看WebLogic进程是否存在;top/htop实时查看CPU、内存占用(按M排序内存,P排序CPU)。netstat -tulnp | grep 7001(或管理端口)确认WebLogic服务端口是否监听;ss -lntp | grep java快速查看Java进程的端口状态。tail -f /域目录/servers/AdminServer/logs/AdminServer.log实时查看WebLogic日志,通过grep "ERROR" log文件过滤错误信息;使用Logstash+Elasticsearch+Kibana(ELK)搭建集中式日志分析平台,实现日志的存储、检索与告警。二、第三方监控工具
架构优势:Prometheus负责指标采集,Grafana负责可视化展示,适合大规模、分布式环境的长期监控。
prometheus.yml添加WebLogic的JMX Exporter作为抓取目标:scrape_configs:
- job_name: 'weblogic'
static_configs:
- targets: ['<WebLogic服务器IP>:7001'] # JMX Exporter暴露的端口
config.yml定义需要采集的指标(如JVM内存、线程数),启动JMX Exporter:java -javaagent:/path/to/jmx_prometheus_javaagent.jar=7001:/path/to/config.yml -jar /path/to/weblogic.jar
企业级开源监控解决方案,支持主动/被动监控、自动发现、告警联动等功能。
zabbix_agentd.conf)。开源网络监控工具,通过插件机制扩展监控能力,适合传统IT环境。
check_weblogic插件(可从第三方仓库获取)。check_weblogic_status.sh),通过WLST或命令行获取WebLogic状态,返回给Nagios判断(如exit 0表示正常,exit 2表示异常)。Oracle提供的商业监控工具,专门针对WebLogic、Oracle数据库等企业应用设计。