温馨提示×

centos java日志怎样监控

小樊
48
2026-09-18 06:20:28
栏目: 编程语言

在 CentOS 上监控 Java 日志,常见做法可分为 系统级日志查看、应用日志实时监控、集中化日志管理、以及告警监控 几类。下面给你一套实用方案,从简单到专业。


一、最基础的实时查看(适合排查问题)

1. tail -f 实时查看日志

tail -f /path/to/app.log

忽略某些日志:

tail -f app.log | grep -v "DEBUG"

2. 多日志同时看

tail -f app.log error.log

3. 查看最近错误

grep -i "exception" app.log | tail -n 100

二、Java 应用常见日志位置

类型 常见路径
Spring Boot logs/app.log 或 nohup.out
Tomcat /var/log/tomcat/, catalina.out
系统 Java /var/log/messages
systemd 服务 journalctl -u your-service

查看 systemd Java 服务日志:

journalctl -u my-java-app -f

三、使用 logrotate 防止日志爆盘(CentOS 必备)

示例 /etc/logrotate.d/java-app:

/opt/app/logs/*.log {
    daily
    rotate 7
    compress
    missingok
    notifempty
    copytruncate
}

测试:

logrotate -d /etc/logrotate.d/java-app

四、进阶:日志监控 + 告警

1. 使用 swatch(轻量级)

yum install swatch

配置监控 ERROR:

watchfor /ERROR|Exception/
    exec echo "Java error detected" | mail -s "Java Alert" admin@xxx.com

2. 使用 Prometheus + Node Exporter(指标级)

  • Java 暴露 JMX
  • 使用 jmx_exporter
  • Prometheus 抓取
  • Grafana 展示

适合:内存、GC、线程数监控


3. 使用 ELK / EFK(企业级日志)

架构:

Java → Filebeat → Logstash/Elasticsearch → Kibana

优点:

  • 全文检索
  • 错误聚合
  • 可视化
  • 告警

适合:生产环境


五、Java 自身监控(不只是日志)

1. 查看 JVM 状态

jps
jstat -gcutil <pid> 1000

2. 导出线程/堆

jstack <pid> > thread.log
jmap -dump:live,format=b,file=heap.hprof <pid>

六、推荐组合(按场景)

✅ 开发/测试

  • tail -f
  • grep
  • journalctl

✅ 生产小项目

  • logrotate
  • swatch
  • jstat

✅ 生产大型系统

  • Filebeat + Elasticsearch + Kibana
  • Prometheus + Grafana
  • 告警(邮件/钉钉/企业微信)

如果你能告诉我:

  • Java 是 Spring Boot / Tomcat / 自写程序
  • 日志是 logback / log4j / 系统日志
  • 是否需要 实时告警

我可以直接给你一套可复制的配置方案。

0 踩