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

详解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 监控统计模版

http://www.xdnf.cn/news/1598.html

相关文章:

  • Qt UDP组播实现与调试指南
  • leetcode28. 找出字符串中第一个匹配项的下标_简单KMP
  • vue3 实现将html内容导出为图片、pdf和word
  • Linux Awk 深度解析:10个生产级自动化与云原生场景
  • 私钥连接服务器(已经有服务器私钥
  • 安卓adb shell串口基础指令
  • 【激光雷达3D(7)】CenterPoint两阶段细化仅使用BEV特征;PV-RCNN两阶段细化使用体素特征;M3DETRTransformer统一多表征特征
  • 云智融合普惠大模型AI,政务服务重构数智化路径
  • 【C语言经典算法实战】:从“移动距离”问题看矩阵坐标计算
  • Python正则表达式:用“模式密码“解锁复杂字符串
  • C++中的next_permutation全排列函数
  • 【高频考点精讲】JavaScript中的组合模式:从树形结构到组件嵌套实战
  • 与终端同居日记:Shell交响曲の终极共舞指南
  • 【玩转全栈】—— Django+vue3+讯飞星火API 实现前端页面实时AI答复
  • C++算法(14):K路归并的最优解法
  • python的pip download命令-2
  • COMSOL多孔结构传热模拟
  • gem5-gpu教程06 回归测试
  • 2025年渗透测试面试题总结-拷打题库13(题目+回答)
  • GPLT-2025年第十届团体程序设计天梯赛总决赛题解(2025天梯赛题解,共计266分)
  • 【LangChain4j】AI 第二弹:项目中接入 LangChain4j
  • QVQ-Max视觉推理模型发布:多模态 AI 的“眼脑协同”革命
  • 详解微服务监控(springboot admin server client、实时日志配置、动态修改日志级别、自定义服务通知实现等
  • 通过智能分块策略、动态分块、多路召回与重排序融合、异构数据关联与溯源提升Ragflow与LangChain提升RAG的召回率
  • HarmonyOS Grid 网格列表可长按 item 拖动移动位置
  • ROS第十二梯:ros-noetic和Anaconda联合使用
  • ProxySQL实现mysql8主从同步读写分离
  • 开启内测!360纳米AI推出“MCP万能工具箱”
  • C# 设计原则总结
  • stack和queue的学习