Java服务器监控【Prometheus+Grafana】

Java项目监控实践:Prometheus+Grafana

效果

在这里插入图片描述

环境准备

1. 安装Prometheus(Windows)

scrape_configs:
  - job_name: 'java-app'
    scrape_interval: 15s
    metrics_path: '/actuator/prometheus'
    static_configs:
      - targets: ['localhost:8080']
  • 启动
prometheus.exe --config.file=prometheus.yml

2. 安装Grafana

grafana-server.exe --homepath "D:\soft\install\grafana\grafana"

3. 设置开机自启(Windows任务计划程序)

  • 新建任务 → “操作”里设置:
    • 程序或脚本:prometheus.exe
    • 添加参数:–config.file=D:\soft\work\prometheus-3.6.0-rc.0.windows-amd64\prometheus.yml
    • 起始于:D:\soft\work\prometheus-3.6.0-rc.0.windows-amd64
  • Grafana 同理,指定 --homepath 目录
    在这里插入图片描述

Java项目配置

1. 引入依赖

<dependency>
    <groupId>io.micrometer</groupId>
    <artifactId>micrometer-registry-prometheus</artifactId>
</dependency>

2. 启用 Spring Boot Actuator

management:
  endpoints:
    web:
      exposure:
        include: health,info,prometheus
  endpoint:
    prometheus:
      enabled: true

3. 验证

  • 启动后访问,能看到输出则说明成功:
http://localhost:8080/actuator/prometheus

Grafana配置

  1. 登录 Grafana → 添加数据源 → 选择 Prometheus
  • URL: http://localhost:9090
  1. 导入 Dashboard(监控 JVM/服务器)
  • 经典模板:
    • JVM (Micrometer): 4701
    • Spring Boot Stats: 10280
    • Node Exporter(系统指标): 1860
  • 通过 “Dashboards → New → Import” 导入
  1. 监控信息可包含:
  • 系统级:CPU、内存、磁盘、网络
  • JVM:堆内存、GC、线程数、类加载
  • 应用级:请求 QPS、响应时间、异常数
  • 数据库/自定义:SQL 执行时间、业务指标
  1. 监控数据编写,可以让ai帮忙生成相关代码Import导入使用

常见问题记录

  • Prometheus 报错 non-compliant scrape target
    解决:在 prometheus.yml 中指定
fallback_scrape_protocol: PrometheusText1.0.0

总结

  • Java 项目通过 Micrometer + Prometheus 暴露指标
  • 本地安装 Prometheus + Grafana 实现可视化监控
  • 监控维度覆盖 系统、JVM、应用、数据库、自定义指标
  • 注意定时任务 & 日志可能导致 内存瞬时飙升,要用分批处理 + GC 日志排查
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值