Skip to content

JVM性能数据采集(微服务springboot为例)

JVM 性能数据采集(微服务 spring boot 为例)

简介

JVM(Java Virtual Machine)性能数据采集是对于运行在Java平台上的应用程序(包括使用Spring Boot构建的微服务)来说至关重要的一项任务。它涉及到收集和分析与Java虚拟机执行相关的各种性能指标,以便了解应用程序的健康状况、识别潜在的性能瓶颈,并据此进行优化。

Setup Prometheus & Grafana(此处为docker配置不作为本章重点)

docker run -d \
-p 9090:9090\
-v /Users/macman/Desktop/TesterHome/prometheus.yml:/usr/local/src/file/prometheus.yml\ 
quay.io/prometheus/prometheus\
--config.file=/usr/local/src/file/prometheus.yml
docker run -d --name=grafana -p 3000:3000 grafana/grafana

采用本机监控的方式(环境准备)

安装redis

官网链接

  • Windows系统
    • 下载.zip文件 alt text
    • 解压后在此路径下输入cmd在终端打开 alt text
    • redis-server.exe redis.windows.conf启动redis
  • Mac系统
    • brew install redis下载安装redis
    • redis-server /usr/local/etc/redis.conf启动redis
  • linux系统
    • yum install redis下载安装redis
    • yum install redis启动redis

安装Prometheus

官网链接

  • Windows 系统
    • 从 Prometheus 官方网站下载最新的 Prometheus 版本,选择 Windows 版。
    • 将下载的 .zip 文件解压到所需位置,该位置将作为 Prometheus 的 Home 目录。
    • 打开命令提示符,导航到 Prometheus 目录,然后执行 .\prometheus.exe --config.file=prometheus.yml,运行 Prometheus。此操作将启动 Prometheus 服务器。
  • Linux/Mac 系统
    • 从 Prometheus 下载页面 下载 Linux 或 Mac 的最新版本。
    • 使用 tar xvfz prometheus-*.tar.gz. 命令解压压缩包
    • 导航到解压缩目录,其为 Prometheus 的 Home 目录
    • 在终端执行 ./prometheus 命令启动 Prometheus,从而启动 Prometheus 服务器。
  • 浏览器访问localhost:9090查看是否启动成功 alt text

安装grafana

官网链接

  • 选择相应的系统图标按照指引下载安装 alt text
  • 启动grafana
    • Linux/mac使用 ./bin/grafana-server web命令
    • windows点击bin目录下的grafana-server即可运行
      alt text
  • 访问http://localhost:3000/查看是否可以正常访问
  • 登录账号/密码默认为admin

采用本机监控的方式(项目准备)

项目相关配置准备

项目地址

  • pom.xml配置参考 alt text

    注意:在spring.datasource.url添加了 useSSL=false字段,为了防止SSL连接,导致报错,

  • 数据库准备:
    CREATE DATABASE cityinfo;
    
    CREATE TABLE city ( 
    id int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT'城市编号',
    province_id int(10)unsigned NOT NULL COMMENT'省份编号',
    city_name varchar(25) DEFAULT NULL COMMENT'城市名称',
    description varchar(25) DEFAULT NULL COMMENT '描述',
    PRIMARY KEY( id )
    )ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
    
    CREATE INDEX index_name ON city (province_id);
    
    insert into cityinfo.city value(1,1,"上海","一线城市");
    select * from cityinfo.city;
    
  • 运行项目,访问http://localhost:8089/api/city/1查看是否可以正常访问,并得到相应结果 alt text
  • 启动项目常见问题
    • 如若遇到404,500等情况检查数据库、redis是否正常运行
    • 如果数据库版本在5.xxx以上的版本,将application.properties中的spring.datasource.driver-class-name=com.mysql.jdbc.Driver删掉,将鼠标放在pom.xml中的<version>${mysql-connector}</version>如图操作
      alt text

prometheus配置

  • 打开prometheus.yaml文件,添加如下配置 alt text
  • 重新运行.\prometheus.exe --config.file=prometheus.yml
  • 查看结果: alt text alt text

grafana配置

  • 添加prometheus面板,选择“Add New Data sources”==>Prometheus alt text
  • 名称、url设置 alt text
  • 模板设置 alt text
  • 监测结果 alt text

    注:不同版本的grafana界面会有一定差异,按对应名称查找即可

总结

  • 简介
  • Setup Prometheus & Grafana
  • 采用本机监控的方式(环境准备)
  • 采用本机监控的方式(项目准备)