centos系统中java日志如何监控
导读:CentOS 下 Java 日志监控实践 一 快速定位与命令行监控 确认进程与日志路径:使用命令查看 Java 进程与日志位置,例如: 查看进程:ps -ef | grep java 常见日志:application.log、catal...
CentOS 下 Java 日志监控实践
一 快速定位与命令行监控
- 确认进程与日志路径:使用命令查看 Java 进程与日志位置,例如:
- 查看进程:ps -ef | grep java
- 常见日志:application.log、catalina.out(Tomcat)等;Spring Boot 可在 application.properties 中设置 logging.file.name=logs/application.log
- 实时查看与过滤:
- 实时跟踪:tail -f /path/to/your.log
- 关键字过滤:grep “ERROR” /path/to/your.log
- 系统服务日志:
- 查看服务日志:journalctl -u 服务名
- 时间范围:journalctl --since “1 hour ago”
二 日志轮转与保留策略
- 使用 logrotate 管理日志轮转,避免单文件过大,配置文件通常位于 /etc/logrotate.d/。
- 示例配置(/etc/logrotate.d/java-app):
上述策略表示:按天轮转、保留 7 份、单文件超过 10MB 触发轮转、压缩归档、自动创建新文件并设置权限。/var/log/java-app.log { daily rotate 7 maxsize 10M missingok notifempty compress create 0644 root root }
三 集中化监控与告警方案
- 开源方案:
- ELK Stack(Elasticsearch + Logstash + Kibana):收集、检索、可视化与告警
- Graylog:集中聚合、搜索、可视化与告警
- 第三方与错误追踪:
- Splunk:企业级日志分析平台
- Sentry:实时错误聚合与通知(邮件/钉钉/企业微信等)
- 审计与报告:
- Logwatch:日志分析与日报
- Auditd:系统审计与关键事件记录
- 典型架构:Filebeat/Logstash → Elasticsearch → Kibana(告警规则、可视化仪表盘、阈值与频率设置)。
四 Java 应用日志配置要点
- 合理设置日志级别:在 Log4j/Logback 中控制输出级别(如 INFO/WARN/ERROR),避免产生过多日志影响性能与成本。
- 结构化与滚动策略:使用 RollingFileAppender 按时间与大小滚动,便于检索与归档。
- 示例(Logback 片段):
要点:输出时间、线程、级别、类名等关键信息;按天滚动并保留 10 天历史。< configuration> < appender name="Console" class="ch.qos.logback.core.ConsoleAppender"> < encoder> < pattern> %d{ yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{ 36} - %msg%n< /pattern> < /encoder> < /appender> < appender name="RollingFile" class="ch.qos.logback.core.rolling.RollingFileAppender"> < file> logs/app.log< /file> < rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> < fileNamePattern> logs/app-%d{ yyyy-MM-dd} .log.gz< /fileNamePattern> < maxHistory> 10< /maxHistory> < /rollingPolicy> < encoder> < pattern> %d{ yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{ 36} - %msg%n< /pattern> < /encoder> < /appender> < root level="info"> < appender-ref ref="Console"/> < appender-ref ref="RollingFile"/> < /root> < /configuration>
五 快速上手方案
- 单机快速定位:
- 实时查看:tail -f /var/log/java-app.log
- 错误告警:使用 grep/awk 过滤 ERROR 并接入 cron 或 systemd 定时任务发送通知(邮件/企业微信/钉钉 Webhook)
- 轻量集中化:
- 安装 Filebeat 采集日志 → Logstash(简单过滤)→ Elasticsearch → Kibana 建立索引模式、可视化与阈值告警
- 关键指标与告警建议:
- 高频 ERROR/Exception、GC 长时间停顿、线程池满、HTTP 5xx 突增、磁盘空间不足、日志写入延迟等
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos系统中java日志如何监控
本文地址: https://pptw.com/jishu/761427.html
