在 CentOS 上监控 Java 日志,常见做法可以分为 系统级日志查看、实时监控、集中化日志管理、以及 Java 应用自身监控 几个层面。下面给你一套实用方案。
Java 日志位置通常由应用决定,常见有:
/var/log/tomcat/nohup.outlogs/app.log/var/log/messages、/var/log/journal先确认:
ps -ef | grep java
找到 -Dlogging.file 或启动脚本里的日志路径。
tail -f /path/to/app.log
只看 ERROR:
tail -f /path/to/app.log | grep ERROR
less +F /path/to/app.log
按 Ctrl+C 停止,F 继续。
yum install -y multitail
multitail /var/log/app1.log /var/log/app2.log
grep ERROR /path/to/app.log | mail -s "Java Error" admin@xxx.com
yum install logwatch
logwatch --service java --range today
如果是 systemd 启动的 Java:
journalctl -u your-java-service -f
systemctl enable your-java-service
配合日志:
journalctl -u your-java-service | grep -i exception
Promtail -> Loki -> Grafana
适合容器和云原生。
log[] 监控项management:
endpoints:
web:
exposure:
include: loggers,health,metrics
访问:
/actuator/loggers
jstat -gc <pid>
jstack <pid> > thread.log
开发/测试:
tail -f app.log | grep ERROR
生产环境:
如果你能告诉我:
我可以直接给你 可落地的配置示例。