Springboot JVM监控 通过Promethus

Springboot内置了对Prometheus得支持,可以监测得点有:

  • JVM各指标参数(GC,堆,非堆等)
  • 接口调用次数,延时
  • 系统内存,IO,CPU使用率

部署Prometheus和Grafana

准备一台2核4G或以上配置得linux系统(centos7.9、ubuntu18.04或更高版本),按下面得方式部署Prometheus和Grafana

#下载镜像
docker pull prom/prometheus
docker pull grafana/grafana

#将docker里的配置拷出来
docker run --name=grafana -d  -p 3000:3000 -itd grafana/grafana
mkdir -p /docker/prometheus/grafana/data
mkdir -p /docker/prometheus/grafana
docker cp grafana:/etc/grafana/grafana.ini /docker/prometheus/grafana/

#写Prometheus配置文件
vim prometheus.yml
global:
  scrape_interval:     15s 
  evaluation_interval: 15s 

scrape_configs:
  - job_name: 'prometheus'
    static_configs:
      - targets: ['localhost:9090']
  - job_name: "ProvideAPIServices"
    scrape_interval: 5s
    metrics_path: "/actuator/prometheus"
    static_configs:
            - targets: ["172.16.0.88:8789","172.16.0.69:8789"]


#启动Prometheus
docker run -d --name prometheus -p 9090:9090 -v /root/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus

#启动grafana
docker run -d -p 3000:3000 --name grafana  --restart=always -v /docker/prometheus/grafana/grafana.ini:/etc/grafana/grafana.ini -v /docker/prometheus/grafana/data:/var/lib/grafana -e "GF_SECURITY_ADMIN_PASSWORD=admin" grafana/grafana

注意两个地方 

metrics_path: "/actuator/prometheus"   #这里填java服务得请求路径+/actuator/prometheus,如果加了前缀,如 context-path: /abc,则为/abc/actuator/prometheus

["172.16.0.88:8789","172.16.0.69:8789"]  #172.16.0.88:8789 为java服务ip+断开

修改pom.xml

加入下面依赖

jdk<=11

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

jdk>=17

<dependency>
    <groupId>io.prometheus</groupId>
    <artifactId>simpleclient_pushgateway</artifactId>
</dependency>

修改application.xml

management:
  endpoints:
    web:
      exposure:
        include: "*"   
  endpoint:
    prometheus:
      enabled: true #激活prometheus
    health:
      show-details: always
  metrics:
    export:
      prometheus:
        enabled: true

 

Grafana dashboards | Grafana Labs

在grafna导入模板,建议 12464  14430 

 

 

相关推荐

  1. Prometheus监控Linux

    2024-06-06 23:36:05       55 阅读
  2. Prometheus监控nginx

    2024-06-06 23:36:05       58 阅读
  3. Prometheus监控mysql

    2024-06-06 23:36:05       60 阅读
  4. Prometheus监控redis

    2024-06-06 23:36:05       62 阅读
  5. Prometheus 监控docker

    2024-06-06 23:36:05       57 阅读
  6. Prometheus监控告警

    2024-06-06 23:36:05       39 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-06 23:36:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-06 23:36:05       100 阅读
  3. 在Django里面运行非项目文件

    2024-06-06 23:36:05       82 阅读
  4. Python语言-面向对象

    2024-06-06 23:36:05       91 阅读

热门阅读

  1. TensorRT教程(1)初探TensorRT

    2024-06-06 23:36:05       31 阅读
  2. Docker迁移默认存储目录(GPT-4o)

    2024-06-06 23:36:05       30 阅读
  3. 常见的项目模块以及项目流程

    2024-06-06 23:36:05       22 阅读
  4. vue基础知识点

    2024-06-06 23:36:05       36 阅读
  5. ubuntu22 部署zookeeper + kafka集群 & 配置开机自启动

    2024-06-06 23:36:05       31 阅读
  6. UML类图

    UML类图

    2024-06-06 23:36:05      26 阅读
  7. 第七章 Python-函数进阶

    2024-06-06 23:36:05       22 阅读
  8. Ubuntu22.04显卡驱动与内核版本不一致解决方案

    2024-06-06 23:36:05       55 阅读
  9. php计模式之工厂模式详解

    2024-06-06 23:36:05       29 阅读