Ubuntu上监控WebLogic服务器运行状态的方法
通过脚本定期检查WebLogic实例的关键状态(运行状态、健康状态、打开套接字数等),适合自动化巡检和快速告警。
weblogic.Admin命令获取MBean信息,通过grep判断状态是否符合预期(如RUNNING、HEALTH_OK),并记录到日志文件。例如检查运行状态的命令:java weblogic.Admin -url t3://localhost:7001 -username weblogic -password welcome1 get -pretty -mbean "mydomain:Location=AdminServer,Name=AdminServer,Type=ServerRuntime" | grep "State: RUNNING"。可将脚本添加到crontab(如每小时执行一次),并将输出重定向到日志文件。weblogic.management.scripting.WLST模块连接WebLogic,获取ServerRuntimeMBean的健康状态。例如:connect('weblogic', 'welcome1', 't3://localhost:7001');serverRuntime = cmo.getServerRuntime();healthState = serverRuntime.getHealthState();print("Server Health State:", healthState)。脚本可集成到监控系统(如Zabbix)中,实现实时告警。利用WebLogic自带的图形化和管理工具,直观查看服务器运行状态。
http://<WebLogic-IP>:7001/console,登录后导航至Servers -> 目标服务器 -> Monitoring -> Performance,查看线程池(空闲线程数、等待队列长度)、内存使用(堆内存、非堆内存)、JDBC连接池(活跃连接数、等待连接数)等指标。connect('weblogic', 'welcome1', 't3://localhost:7001');serverRuntime = cmo.getServerRuntime();print("Health State:", serverRuntime.getHealthState());disconnect()。脚本可保存为.py文件并定期执行。通过分析WebLogic日志,定位运行中的问题(如异常、错误)。
$DOMAIN_HOME/logs目录下,主要文件包括server.log(服务器运行日志,记录请求、异常等信息)和access.log(访问日志,记录HTTP请求详情)。tail -f server.log动态查看最新日志;grep 'ERROR' server.log过滤错误信息;less server.log查看历史日志。结合awk、sed等工具可进一步分析日志中的关键指标(如异常频率)。借助专业监控工具,实现全面的性能监控、告警和可视化。
vfs.file.regmatch[/Check_WebLogic.log,NO]监控项,当返回1时表示状态异常;配置触发器last(/2.1.1.13/vfs.file.regmatch[/Check_WebLogic.log,NO])=1,触发邮件或短信告警。weblogic-monitoring-exporter将WebLogic指标转换为Prometheus可采集的格式,通过Grafana创建仪表板展示CPU使用率、内存占用、线程数等指标。例如weblogic-monitoring-exporter默认监听9001端口,Prometheus配置scrape_configs抓取该端口数据,Grafana导入WebLogic模板即可可视化。setDomainEnv.sh中开启JMX:JAVA_OPTIONS="$JAVA_OPTIONS -Dcom.sun.management.jmxremote.port=9000 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false",重启WebLogic;然后启动jconsole,选择“远程”选项卡,输入<WebLogic-IP>:9000连接,查看内存、线程、类加载等指标。结合脚本和监控工具,实现异常自动告警和恢复(如进程重启)。
ps -ef | grep java | grep weblogic),若不存在则执行重启命令($DOMAIN_HOME/bin/startWebLogic.sh),并将结果记录到日志。将脚本添加到crontab(如每5分钟执行一次),实现自动监控。