当前位置: 首页 > news >正文

详解springcloudalibaba采用prometheus+grafana实现服务监控

1.官网下载安装 prometheus和grafana

promethus

官网:https://prometheus.io/

1.下载windows版本安装包
2.双击启动
在这里插入图片描述
3.访问地址
http://localhost:9090

grafana
官网:https://grafana.com/

1.下载windows版本安装包
2.启动 ,默认windows安装完成自动启动

3.访问地址
http://localhost:3000/
默认第一次登录账户 admin admin,需要更改密码

更改之后登录账户:admin admin123

默认登录首页如下:
在这里插入图片描述

2. 搭建springcloudalibaba集成prometheus、grafana

  1. 引入依赖,springboot3.2之后引入如下

      <dependency><groupId>io.micrometer</groupId><artifactId>micrometer-registry-prometheus-simpleclient</artifactId><version>1.13.6</version></dependency><!--暴露指标数据端点--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency>
    

    springboot3.2之前引入如下

          <!--暴露指标数据端点--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><dependency><groupId>io.micrometer</groupId><artifactId>micrometer-registry-prometheus</artifactId><version>1.14.5</version></dependency>
    
  2. 在yml文件配置监控端点暴露配置

    
    management:endpoints:web:exposure:include: "*"health:show-details: always #暴露所有端点信息enabled-by-default: trueendpoint:prometheus:enabled: trueprometheus:metrics:export:enabled: true
  3. 在当前启动的应用代码中添加,在prometheus显示的时候附加当前应用名称

    @EnableFeignClients
    @SpringBootApplication
    @EnableDiscoveryClient
    public class UserApplication {public static void main(String[] args) {SpringApplication.run(UserApplication.class, args);}/***在prometheus显示的时候附加当前应用名* @param applicationName* @return*/@BeanMeterRegistryCustomizer<MeterRegistry> configurer(@Value("${spring.application.name}") String applicationName) {return (registry) -> registry.config().commonTags("application", applicationName);}
    }
    

4.访问微服务暴露的prometheus端点
在这里插入图片描述
4. 修改nacos注册中心配置文件,暴露prometheus监控点,重启nacos server
在这里插入图片描述
5. 修改nacos注册中心配置文件,暴露prometheus监控点,重启nacos server


management.endpoints.web.exposure.include=*   #打开prometheus暴露点
nacos.prometheus.metrics.enabled=true  #开启nacos支持prometheus

访问nacos 暴露端点:
在这里插入图片描述
6. 修改prometheus.yml配置文件如下:
在这里插入图片描述

scrape_configs:# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.- job_name: "prometheus" #配置抓取任务的名称# metrics_path defaults to '/metrics'# scheme defaults to 'http'.static_configs:- targets: ["localhost:9090"] #静态目标列表,指定Prometheus自己#以下内容为springboot应用配置      - job_name: "wemedia-oss-user" #配置抓取任务的名称    scrape_interval: 5s #间隔5秒拉取微服务总数据metrics_path: '/actuator/prometheus' #设置微服务给prometheus暴露的端点static_configs:- targets: ["localhost:8890"] #指定微服务的地址   labels: #自定义的额外标签app: "wemedia-oss-user"instance: "wemedia-oss-user_server"  #添加一个自定义标签,标记目标实例
  1. 在prometheus上查看暴露端点
    在这里插入图片描述

  2. 在grafana上导入数据源,来自prometheus server的地址
    在这里插入图片描述
    导入jvm(micrometer)可视化看板
    在这里插入图片描述
    接着出现如下界面:
    在这里插入图片描述
    点击导入Import按钮,出现可视化jvm监控界面如下:
    在这里插入图片描述
    备注说明:
    上面输入的4701为jvm可视化编号
    在这里插入图片描述
    其他的可视化模版ID都可以在这个地址里找到 https://grafana.com/grafana/dashboards

  3. 配置nacos server监控
    配置prometheus.yml文件中新增nacos server配置

     #以下内容为nacos server配置      - job_name: "nacos-server" #配置抓取任务的名称    scrape_interval: 5s #间隔5秒拉取微服务总数据metrics_path: '/nacos/actuator/prometheus' #设置nacos server给prometheus暴露的端点static_configs:- targets: ["localhost:8848"] #指定nacos server的地址   labels: #自定义的额外标签app: "nacos-server"instance: "nacos-server_instance"  #添加一个自定义标签,标记目标实例
    

    输入nacos 可视化ID:1322
    在这里插入图片描述
    查看nacos 指标监控
    在这里插入图片描述

导入SpringBoot APM Dashboard(中文版本)可视化面板
在这里插入图片描述

导入Monitor Statistics dashboard:springboot 监控统计模版

相关文章:

  • 2025.04.24【3D】3D绘图入门指南
  • 【高并发】 MySQL锁优化策略
  • 容器修仙传 我的灵根是Pod 第9章 时空禁术(Job与CronJob)
  • k8s 1.26版部署
  • 【数据可视化-28】2017-2025 年每月产品零售价数据可视化分析
  • JavaScript 页面刷新:从传统到现代的全面解析
  • 10天学会嵌入式技术之51单片机-day-6
  • 动态渲染页面智能嗅探:机器学习判定AJAX加载触发条件
  • Spring Boot默认缓存管理
  • tzdata 安装失败的一种处理
  • Excel处理控件Aspose.Cells教程:使用 Python 在 Excel 中进行数据验
  • Kotlin学习基础知识大全(上)
  • 大模型面经 | 春招、秋招算法面试常考八股文附答案(六)
  • Milvus(6):Collection 管理分区、管理别名
  • 运维打铁:Centos 7 使用yum安装 mysql5.7
  • Rust 学习笔记:编程语言的相关概念
  • HTML、XHTML 和 XML区别
  • 关于Safari浏览器在ios<16.3版本不支持正则表达式零宽断言的解决办法
  • HTML给图片居中
  • 【OSG学习笔记】Day 7: 材质与光照——让模型“活”起来
  • 健康社区“免疫行动”促进计划启动,发布成人预防“保典”
  • 商务部:已有超1.2亿人次享受到以旧换新补贴优惠
  • 财政部部长:中方主张通过平等对话协商解决贸易和关税争议
  • 乌克兰基辅遭大规模袭击,已致12人死亡
  • 牧原股份一季度归母净利润44.91亿元,同比扭亏为盈
  • 南宁市委常委、组织部部长陈川已任广西医科大学党委书记