通过 Tomcat 日志实现负载均衡监控
一、监控思路与关键指标
二、快速验证与排查
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs" prefix="blog_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b "%{Referer}i" "%{User-Agent}i" "%{trace-id}i"" />
重启后在两台节点 grep trace-id=123456 即可确定落点。三、生产级监控落地(ELK 集中化)
四、自动化巡检与健康检查脚本
#!/usr/bin/env bash
LOG=/usr/local/tomcat/logs/localhost_access_log.$(date -d '5 minutes ago' +%F).txt
if [[ ! -f "$LOG" ]]; then LOG=/usr/local/tomcat/logs/localhost_access_log.txt; fi
COUNT=$(awk -v start="$(date -d '5 minutes ago' '+%d/%b/%Y:%H:%M:')" \
'$4 >= "[" start && $0 ~ / 5[0-9]{2} / {n++} END {print n+0}' "$LOG")
THRESHOLD=10
if (( COUNT > THRESHOLD )); then
echo "ALERT: 5xx count=$COUNT in last 5min on $(hostname)" | \
mail -s "Tomcat 5xx Spike" ops@example.com
fi
五、关键注意事项