一、添加maven依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-prometheus</artifactId>
</dependency>
二、编写业务监控指标
@Component
public class PrometheusCustomMonitor {
/** 订单数 */
private Counter orderCount;
/** 金额统计 */
private DistributionSummary amountSum;
/** 指标注册器 */
@Autowired
private MeterRegistry registry;
@PostConstruct
private void init() {
orderCount = registry.counter("order_request_count", "order", "test-svc");
amountSum = registry.summary("order_amount_sum", "orderAmount", "test-svc");
}
public Counter getOrderCount() {
return orderCount;
}
public DistributionSummary getAmountSum() {
return amountSum;
}
}
三、编写业务监控代码
@RestController
public class TestController {
@Autowired
private PrometheusCustomMonitor monitor;
@RequestMapping("/order")
public String order() throws Exception {
// 统计下单次数
monitor.getOrderCount().increment();
// 统计金额
monitor.getAmountSum().record(new Random().nextInt(100));
return "下单成功" ;
}
}
四、编写配置(application.yml)
management:
server:
port: 7070
endpoints:
web:
exposure:
include: '*'
base-path: "/actuator"
health:
show-details: always
server:
port: 7777
五、Prometheus添加配置
(1)打开prometheus.yml,并加入下面配置信息
- job_name: '自定义exporter(springboot)'
scrape_interval: 5s
metrics_path: '/actuator/prometheus'
file_sd_configs:
- files: ['/root/prometheus/prometheus-2.31.1.linux-amd64/my_exporters/*.json']
(2)创建my_exporters/application.json并录入下面内容
[
{
"targets": ["127.0.0.1:7070"]
}
]
然后重启Prometheus
六、在Grafana上添加新仪表盘
点击【Dashboards】-> 【Browse】->【New Bashboard】进入到编辑页面,并点击【Add a new panel】
(1)如果不清楚是什么指标的话,可以点击【Metrics browser】进行浏览选择,然后点击【Use query】按钮完成指标的选择。
(2)如果清楚指标的话,可以直接【Metrics browser】输入框录入指标项,然后在左上角选择图表,然后再点击【Apply】完成面板的创建。
打赏