java集成prometheus上报数据
背景
公司业务发展越来越快,之前缺少的监控,这一块一直没有跟上
经过一番调研,决定使用prometheus+grafana实现监控报警
对于服务器资源、mysql、redis,prometheus官方都有推荐的exporter,因为对于系统资源等常规监控基本都可以实现
但是还有一类和业务相关的指标,常规的exporter没法直接处理,因此需要在应用程序中自行埋点,因此需要prometheus能够从应用程序采集数据
目标
解决prometheus从应用程序采集数据问题
现状
应用程序目前使用springboot框架,且已经集成了spring-boot-starter-actuator;actuator本身支持metrics,因此直接集成相关的jar即可
<dependency>
<groupId>io.prometheus</groupId>
<artifactId>prometheus-metrics-core</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>io.prometheus</groupId>
<artifactId>prometheus-metrics-instrumentation-jvm</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-prometheus</artifactId>
<version>1.0.0</version>
</dependency>
对应配置修改
management:
endpoints:
web:
exposure:
include: health,prometheus
metrics:
tags:
application: ${spring.application.name}
business: {具体业务}