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
文件 - 解压后在此路径下输入
cmd
在终端打开 redis-server.exe redis.windows.conf
启动redis
- 下载
- Mac系统
brew install redis
下载安装redisredis-server /usr/local/etc/redis.conf
启动redis
- linux系统
yum install redis
下载安装redisyum 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
查看是否启动成功
安装grafana
- 选择相应的系统图标按照指引下载安装
- 启动grafana
- Linux/mac使用
./bin/grafana-server web
命令 - windows点击bin目录下的
grafana-server
即可运行
- Linux/mac使用
- 访问
http://localhost:3000/
查看是否可以正常访问 - 登录账号/密码默认为
admin
采用本机监控的方式(项目准备)
项目相关配置准备
pom.xml
配置参考注意:在
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
查看是否可以正常访问,并得到相应结果 - 启动项目常见问题
- 如若遇到404,500等情况检查数据库、redis是否正常运行
- 如果数据库版本在5.xxx以上的版本,将application.properties中的
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
删掉,将鼠标放在pom.xml中的<version>${mysql-connector}</version>
如图操作
prometheus配置
- 打开
prometheus.yaml
文件,添加如下配置 - 重新运行
.\prometheus.exe --config.file=prometheus.yml
- 查看结果:
grafana配置
- 添加prometheus面板,选择“Add New Data sources”==>Prometheus
- 名称、url设置
- 模板设置
- 监测结果
注:不同版本的grafana界面会有一定差异,按对应名称查找即可
总结
- 简介
- Setup Prometheus & Grafana
- 采用本机监控的方式(环境准备)
- 采用本机监控的方式(项目准备)