Linux WebLogic 数据分析实操指南
一 明确目标与数据来源
二 数据采集与可视化
connect('weblogic','welcome1','t3://localhost:7001')
sr = cmo.getServerRuntime()
print("Health:", sr.getHealthState())
tp = sr.getThreadPoolRuntime()
print("Active:", tp.getExecuteThreadTotalCount())
print("Idle:", tp.getStandbyThreadCount())
print("Stuck:", tp.getStuckThreadCount())
disconnect()
三 日志分析与慢请求定位
grep "ERROR" $DOMAIN_HOME/servers/*/logs/server.log | \
awk -v d=$(date +%F) '$0 ~ d {print $0}' | wc -l
grep "weblogic.servlet.logging" $DOMAIN_HOME/servers/*/logs/access.log | \
awk -F'"' '$NF > 5 {print $0}'
tail -n 200 -f $DOMAIN_HOME/servers/*/logs/server.log | egrep "ERROR|STUCK|Exception"
四 系统层瓶颈排查与优化
五 告警与自动化巡检
#!/usr/bin/env bash
pid=$(ps -ef | grep "weblogic.Server" | grep -v grep | awk '{print $2}')
if [ -z "$pid" ]; then
echo "WebLogic process not found" | mail -s "WL ALERT" admin@example.com
exit 1
fi
if ! ss -lntp | grep :7001 >/dev/null; then
echo "Port 7001 not listening" | mail -s "WL ALERT" admin@example.com
exit 1
fi
echo "WebLogic OK"