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

淘宝返利软件的可观测性架构:Prometheus与Grafana监控体系搭建

淘宝返利软件的可观测性架构:Prometheus与Grafana监控体系搭建

大家好,我是 微赚淘客系统3.0 的研发者省赚客!

在高并发、分布式环境下,淘客系统的稳定性依赖于完善的可观测性能力。微赚淘客系统3.0 基于 Prometheus + Grafana + Spring Boot Actuator 构建了端到端监控体系,覆盖 JVM 指标、HTTP 接口性能、业务关键链路及异常告警,实现“问题可发现、根因可定位、趋势可预测”。

一、Spring Boot 应用暴露指标

首先,在juwatech.cn.rebate模块中集成 Micrometer 与 Actuator:

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><dependency><groupId>io.micrometer</groupId><artifactId>micrometer-registry-prometheus</artifactId></dependency>

配置application-prod.yml开启 Prometheus 端点:

management:endpoints:web:exposure:include:health,info,prometheus,metricsendpoint:prometheus:enabled:truehealth:show-details:always

启动后,访问/actuator/prometheus即可获取指标文本,例如:

http_server_requests_seconds_count{method="GET",uri="/api/commission",status="200",} 1245.0 jvm_memory_used_bytes{area="heap",id="G1 Eden Space",} 2.147e8

二、自定义业务指标埋点

针对核心业务如佣金计算、订单同步,我们通过MeterRegistry注入自定义计数器与直方图:

packagejuwatech.cn.rebate.service;importio.micrometer.core.instrument.Counter;importio.micrometer.core.instrument.MeterRegistry;importio.micrometer.core.instrument.Timer;importorg.springframework.stereotype.Service;@ServicepublicclassCommissionCalculationService{privatefinalCountercommissionSuccessCounter;privatefinalCountercommissionFailureCounter;privatefinalTimercommissionProcessTimer;publicCommissionCalculationService(MeterRegistrymeterRegistry){this.commissionSuccessCounter=Counter.builder("rebate.commission.success").description("成功计算佣金次数").register(meterRegistry);this.commissionFailureCounter=Counter.builder("rebate.commission.failure").description("佣金计算失败次数").register(meterRegistry);this.commissionProcessTimer=Timer.builder("rebate.commission.duration").description("佣金计算耗时(秒)").register(meterRegistry);}publicBigDecimalcalculate(LongorderId){returncommissionProcessTimer.recordCallable(()->{try{// 模拟佣金计算逻辑BigDecimalamount=doCalculate(orderId);commissionSuccessCounter.increment();returnamount;}catch(Exceptione){commissionFailureCounter.increment();throwe;}});}privateBigDecimaldoCalculate(LongorderId){// 实际业务逻辑returnnewBigDecimal("12.50");}}

三、Prometheus 配置服务发现

prometheus.yml中配置基于 Kubernetes 的服务发现,自动抓取所有rebate服务实例:

scrape_configs:-job_name:'rebate-app'kubernetes_sd_configs:-role:podrelabel_configs:-source_labels:[__meta_kubernetes_pod_label_app]action:keepregex:rebate-system-source_labels:[__meta_kubernetes_pod_annotation_prometheus_io_scrape]action:keepregex:true-source_labels:[__meta_kubernetes_pod_ip]target_label:__address__replacement:$1:8080-source_labels:[__meta_kubernetes_namespace]target_label:namespace

确保 Pod 注解包含:

metadata:labels:app:rebate-systemannotations:prometheus.io/scrape:"true"

四、Grafana 仪表盘配置

导入或创建以下关键面板:

  • JVM 内存与 GC:使用JVM (Micrometer)官方模板(ID: 4701)
  • HTTP 请求延迟分布:查询语句:
    histogram_quantile(0.95, rate(http_server_requests_seconds_bucket{job="rebate-app"}[5m]))
  • 业务成功率
    rate(rebate_commission_success_total[5m]) / (rate(rebate_commission_success_total[5m]) + rate(rebate_commission_failure_total[5m]))

同时配置告警规则,例如接口错误率突增:

# alert.rules.ymlgroups:-name:rebate-alertsrules:-alert:HighCommissionErrorRateexpr:rate(rebate_commission_failure_total[5m])>0.1for:2mlabels:severity:criticalannotations:summary:"佣金计算失败率过高"description:"过去5分钟失败率超过10%,当前值:{{ $value }}"

在 Prometheus 中加载该规则:

rule_files:-"alert.rules.yml"

五、日志与链路追踪联动

虽然本文聚焦指标监控,但实际生产中需结合 Loki(日志)与 Jaeger(链路)。我们在关键方法添加 Trace ID 日志:

importorg.slf4j.Logger;importorg.slf4j.LoggerFactory;importorg.springframework.web.filter.OncePerRequestFilter;publicclassTraceIdFilterextendsOncePerRequestFilter{privatestaticfinalLoggerlog=LoggerFactory.getLogger(TraceIdFilter.class);@OverrideprotectedvoiddoFilterInternal(HttpServletRequestrequest,HttpServletResponseresponse,FilterChainfilterChain)throwsIOException,ServletException{StringtraceId=UUID.randomUUID().toString().replace("-","").substring(0,16);MDC.put("traceId",traceId);log.info("Start request: {} {}",request.getMethod(),request.getRequestURI());try{filterChain.doFilter(request,response);}finally{MDC.clear();}}}

Grafana 中可通过 Explore 关联日志与指标,实现“从告警 → 指标 → 日志 → 代码”的完整排查链路。

本文著作权归 微赚淘客系统3.0 研发团队,转载请注明出处!

http://www.jsqmd.com/news/341446/

相关文章:

  • 2026年优质客服系统厂商推荐,覆盖在线试用、智能应答与全渠道售后 - 品牌2025
  • 西门子PLC设备锁机程序探秘:S7 - 200cn与S7 - 200 smart的独特应用
  • 国内外市场占有率高、质量好且售后服务好的介电常数测定仪厂家推荐 - 品牌推荐大师1
  • 淘宝客返利系统的用户数据安全设计:脱敏存储与接口访问控制
  • 一天一个Python库:pygments - 强大的代码高亮和格式化工具
  • 避坑指南|2026年2月敏感肌护肤品终极测评:这些误区别踩,选对比选贵重要 - 速递信息
  • 淘客系统的佣金资金流处理:数据追溯与账户交易的安全机制
  • # 缓存与数据库的协调策略【缓存更新时机】
  • 2026医用级硅胶生产厂家推荐榜:三大标杆企业助力医疗设备精准化升级 - 速递信息
  • Opencv 学习笔记:提取轮廓中心点坐标(矩计算法)
  • 美通卡回收的实操图文指南 - 京回收小程序
  • 2026厂房洁净室工程怎么选?5家行业标杆企业值得关注 - 品牌2025
  • 电子制造企业CRM选型指南:5款热门客户管理系统对比分析(2026)
  • 中国城市夜间热岛强度空间分异数据集(2000-2024,1km 逐月):动态特征与生态效应
  • 2026厂房机电安装工程哪家强?国内靠谱服务商推荐合集 - 品牌2025
  • 这次终于选对!倍受青睐的AI论文写作软件 —— 千笔
  • 测完这批工具 9个AI论文写作软件测评:研究生毕业论文+开题报告高效写作指南
  • 2026年天津婚姻财产律师联系电话推荐:服务特色与沟通要点 - 十大品牌推荐
  • 2026年天津离婚房产律师联系电话推荐:高效沟通与权益保障 - 十大品牌推荐
  • 你就再也不用担心断网导致白编译了!
  • 2026年天津离婚房产律师联系电话推荐:核心律师深度解析 - 十大品牌推荐
  • CVE-2025-3248 Langflow远程代码执行漏洞利用工具
  • 河南艺考画室哪家好?河南美术艺考机构盘点!天籁学子以绝对实力领跑2026届统考! - 速递信息
  • 【期货量化实战】期货量化交易策略实盘优化技巧(Python量化)
  • 2026年天津离婚房产律师联系电话推荐:核心联系方式汇总 - 十大品牌推荐
  • 2026年耐磨截齿/掘进机截齿/铣刨机截齿厂家推荐:新乡市三牛机械锻造有限公司,适配矿山、隧道、公路工程多场景开采需求 - 品牌推荐官
  • 2026最新十大知名多层板厂家推荐榜!优质环保品质与高性价比品牌选择指南,环保品质双优助力全屋定制 - 品牌推荐2026
  • 【期货量化进阶】期货量化交易策略信号强度评估(Python量化)
  • 硅胶制品定制困局破解:伟业达3P体系如何实现精准交付? - 速递信息
  • 2026年天津遗产继承律师联系电话推荐:核心律师资源汇总 - 十大品牌推荐