欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 产业 > 指标监控:Prometheus 结合 Grafana,监控redis、mysql、springboot程序等等

指标监控:Prometheus 结合 Grafana,监控redis、mysql、springboot程序等等

2025/4/30 18:20:51 来源:https://blog.csdn.net/qq_41712271/article/details/147531680  浏览:    关键词:指标监控:Prometheus 结合 Grafana,监控redis、mysql、springboot程序等等

软件作用说明

  • Prometheus‌:采集各种指标数据(如CPU、内存、请求数),并存储到时序数据库中。
  • Grafana‌:数据可视化,生成监控仪表盘。
     

架构说明

被监控服务(如Redis/MySQL/SpringBoot)│▼
[Exporter](将服务数据转为Prometheus格式,暴露HTTP端点)│▼
Prometheus(定时拉取Exporter/应用端点数据,存储到TSDB时序数据库)│▼
Grafana(连接Prometheus,通过SQL类查询语言PromQL获取数据,导入或自己建仪表盘,即可用图表展示数据)
Prometheus‌ 官网下载对应的Exporterspringboot需要开发Exporter
https://prometheus.io/download/
Grafana 社区提供了许多现成的仪表盘模板,地址如下
https://grafana.com/grafana/dashboards


示例,从redis、mysql、springboot中拉取指标数据,到Grafana 展示


环境说明
redis、mysql、springboot 运行在win11上,IP为 192.168.1.102

Prometheus、Grafana 运行在 linux上,,IP为 192.168.83.16

1-a: redis、mysql 下载对应的 Exporter, 并运行

my.cnf内容如下:
[client]
user=root
password=123456
host=192.168.1.102
port=3306运行以下命令
.\mysqld_exporter.exe --config.my-cnf="C:\my.cnf"redis_exporter.exe --redis.addr=redis://localhost:6379 --redis.password=123456 --web.listen-address=:9121

1-b springboot 开发Exporter 如下

<!-- Spring Boot Actuator -->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId>
</dependency><!-- Micrometer Prometheus Registry -->
<dependency><groupId>io.micrometer</groupId><artifactId>micrometer-registry-prometheus</artifactId>
</dependency>management:endpoints:web:exposure:include: '*' # 暴露所有端点endpoint:health:show-details: alwaysmetrics:tags:application: ${spring.application.name} # 自定义标签

2  Prometheus、Grafana用docker安装及指标数据抓取配置

目录结构如下
[root@node prometheus_grafana]# ls
docker-compose.yml
grafana_data
prometheus_data
prometheus.yml[root@node prometheus_grafana]# pwd
/opt/prometheus_grafana
docker-compose.yml 内容如下
version: "3"
services:prometheus:image: prom/prometheus:latestcontainer_name: "prometheus"ports:- "9090:9090"restart: alwaysvolumes:- "./prometheus.yml:/etc/prometheus/prometheus.yml"- "./prometheus_data:/prometheus"networks:- monitoringgrafana:image: grafana/grafana:latestcontainer_name: "grafana"ports:- "3000:3000"restart: alwaysvolumes:- "./grafana_data:/var/lib/grafana"networks:- monitoring      networks:monitoring:driver: bridge
prometheus.yml 内容如下,指标抓取配置
global:scrape_interval:     15s # 默认抓取周期external_labels:monitor: 'codelab-monitor'
scrape_configs:- job_name: 'prometheus' # 抓取 Prometheus 自身的指标static_configs:- targets: ['192.168.83.16:9090']- job_name: 'redis'static_configs:- targets: ['192.168.1.102:9121'] # redis_exporter 的地址,抓取redis指标- job_name: 'mysql'static_configs:- targets: ['192.168.1.102:9104'] # mysqld_exporter 的地址- job_name: 'springboot-app'metrics_path: '/actuator/prometheus'static_configs:- targets: ['192.168.1.102:8080'] # Spring Boot 应用的地址
安装
创建网络
docker network create monitoringdocker network lschmod -R 777 /opt/prometheus_grafana/prometheus_data
chmod -R 777 /opt/prometheus_grafana/grafana_data安装
docker compose up -d

3 检查Prometheus、Grafana,指标是否可正常收集

Prometheus 可以打开,且都是up状态,说明Prometheus 已经可以接收到指标数据
http://192.168.83.16:9090/targets

Grafana,默认用户名和密码都是 admin
http://192.168.83.16:3000/


4 Grafana 添加数据源,导入仪表盘ID,就可以使用了

添加数据源
登录后,点击左侧菜单中的 Configuration > Data Sources。点击 Add data source,选择 Prometheus。

导入仪表盘
点击左侧菜单中的 Dashboards > Import。输入仪表盘 ID(例如:763 监控redis),然后点击 Load。选择刚刚配置的 Prometheus 数据源,完成导入。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词