1、引入依赖

        <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-prometheus</artifactId>
</dependency>
package com.xf.config;

import java.time.Duration;

import org.springframework.boot.actuate.autoconfigure.metrics.MeterRegistryCustomizer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import io.micrometer.core.instrument.Meter;
import io.micrometer.core.instrument.MeterRegistry;
import io.micrometer.core.instrument.config.MeterFilter;
import io.micrometer.core.instrument.distribution.DistributionStatisticConfig;
import lombok.extern.slf4j.Slf4j; @Configuration
@Slf4j
public class MeterService { @Bean
MeterRegistryCustomizer<MeterRegistry> metricsCommonTags() {
return registry -> {
registry.config().commonTags("application", "epayapi").meterFilter(new MeterFilter() {
@Override
public DistributionStatisticConfig configure(Meter.Id id, DistributionStatisticConfig config) {
if (id.getType() == Meter.Type.TIMER && id.getName().matches("^(http|hystrix){1}.*")) {
return DistributionStatisticConfig.builder().percentilesHistogram(true)
.percentiles(0.5, 0.90, 0.95, 0.99)
.sla(Duration.ofMillis(50).toNanos(), Duration.ofMillis(100).toNanos(),
Duration.ofMillis(200).toNanos(), Duration.ofSeconds(1).toNanos(),
Duration.ofSeconds(5).toNanos())
.minimumExpectedValue(Duration.ofMillis(1).toNanos())
.maximumExpectedValue(Duration.ofSeconds(5).toNanos()).build().merge(config);
} else {
return config;
}
}
});
};
}
}

P90 P50要加上面的代码

2、暴露端点

management:
endpoints:
web:
exposure:
include: prometheus
endpoint:
health:
show-details: always
metrics:
export:
datadog:
application-key: ${spring.application.name}

ps:暴露端点不要写*,不要写*,不要写*

3、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'.
metrics_path: /epayapi/actuator/prometheus
scrape_interval: 5s
static_configs:
- targets: ["127.0.0.1:7011"]

4、下载地址整理

prometheus下载: https://prometheus.io/download/

grafana下载:https://grafana.com/get/?tech=target&plcmt=top-nav&cta=A-downloads&tab=self-managed

grafana模板:https://grafana.com/grafana/dashboards/

最新文章

  1. android创建桌面快捷方式(启动目标非项目的启动页)
  2. 网站后台调用winform MessageLoopApartment
  3. Html5实践之EventSource
  4. Mint Linuxubuntu 字体配置文件
  5. 全国各城市Uber客服联系方式(电话、邮箱、微博)
  6. Qt中将QTableView中的数据导出为Excel文件
  7. GitHub上搭建个人网站
  8. JAVA中浅复制与深复制 - coolmist - ITeye技术网站
  9. 在JavaScript中使用json.js:访问JSON编码的某个值
  10. python正则表达式写[强口令检测]
  11. oracle EBS SLQ语句
  12. 一个spring3.2的项目 从jdk1.7放到1.8的环境中编译,打开网页异常:spring jar包版本升级经历
  13. linux 学习笔记 显示压缩文件 gong.zip 的文件内容
  14. shell 脚本的编写
  15. oracle的备份与恢复
  16. SpringMvc数据校验@Valid等注解的使用与工具类抽取
  17. Jad查看源码
  18. mybatis12一级缓存
  19. freemarker split字符串分割 遍历map
  20. EasyUI treegrid 加载checked

热门文章

  1. python 类相关 下划线相关 __init__
  2. 状态机的技术选型,yyds!
  3. 通过docker部署grafana和mysql
  4. 【Java 并发003】原理层面:Java并发三特性全解析
  5. Go | 函数注意事项
  6. 解决Emma中文乱码
  7. Docker容器入门到精通
  8. c++11 线程池--鸿蒙OS
  9. Jmeter 定时器之同步定时器(Synchronizing Timer)
  10. ubuntu系统wireshark源码编译与安装