首页主机资讯centos系统中java日志如何监控

centos系统中java日志如何监控

时间2025-12-02 17:04:04发布访客分类主机资讯浏览1320
导读:CentOS 下 Java 日志监控实践 一 快速定位与命令行监控 确认进程与日志路径:使用命令查看 Java 进程与日志位置,例如: 查看进程:ps -ef | grep java 常见日志:application.log、catal...

CentOS 下 Java 日志监控实践

一 快速定位与命令行监控

  • 确认进程与日志路径:使用命令查看 Java 进程与日志位置,例如:
    • 查看进程:ps -ef | grep java
    • 常见日志:application.logcatalina.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):
    /var/log/java-app.log {
    
        daily
        rotate 7
        maxsize 10M
        missingok
        notifempty
        compress
        create 0644 root root
    }
        
    
    上述策略表示:按天轮转、保留 7 份、单文件超过 10MB 触发轮转、压缩归档、自动创建新文件并设置权限。

三 集中化监控与告警方案

  • 开源方案:
    • ELK Stack(Elasticsearch + Logstash + Kibana):收集、检索、可视化与告警
    • Graylog:集中聚合、搜索、可视化与告警
  • 第三方与错误追踪:
    • Splunk:企业级日志分析平台
    • Sentry:实时错误聚合与通知(邮件/钉钉/企业微信等)
  • 审计与报告:
    • Logwatch:日志分析与日报
    • Auditd:系统审计与关键事件记录
  • 典型架构:Filebeat/Logstash → Elasticsearch → Kibana(告警规则、可视化仪表盘、阈值与频率设置)。

四 Java 应用日志配置要点

  • 合理设置日志级别:在 Log4j/Logback 中控制输出级别(如 INFO/WARN/ERROR),避免产生过多日志影响性能与成本。
  • 结构化与滚动策略:使用 RollingFileAppender 按时间与大小滚动,便于检索与归档。
  • 示例(Logback 片段):
    <
        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>
        
    
    要点:输出时间、线程、级别、类名等关键信息;按天滚动并保留 10 天历史。

五 快速上手方案

  • 单机快速定位:
    • 实时查看:tail -f /var/log/java-app.log
    • 错误告警:使用 grep/awk 过滤 ERROR 并接入 cronsystemd 定时任务发送通知(邮件/企业微信/钉钉 Webhook)
  • 轻量集中化:
    • 安装 Filebeat 采集日志 → Logstash(简单过滤)→ ElasticsearchKibana 建立索引模式、可视化与阈值告警
  • 关键指标与告警建议:
    • 高频 ERROR/Exception、GC 长时间停顿、线程池满、HTTP 5xx 突增、磁盘空间不足、日志写入延迟等

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: centos系统中java日志如何监控
本文地址: https://pptw.com/jishu/761427.html
如何利用日志分析CentOS PHP性能瓶颈 centos中java日志配置有哪些要点

游客 回复需填写必要信息