这里我们想要实现的是让普罗米修斯自动取读取Eureka上的服务信息,然后对服务进行监控。
1.修改Prometheus配置
修改prometheus.yml文件,在scrape_configs节点下添加:
- job_name: 'eureka'
metrics_path: '/actuator/prometheus' #springboot默认的actuator路径
# Scrape Eureka itself to discover new services.
eureka_sd_configs:
- server: http://192.168.53.21:8001/eureka #这里是Eureka注册地址
relabel_configs:
- source_labels: [__meta_eureka_app_instance_metadata_prometheus_path]
action: replace
target_label: __metrics_path__
regex: (.+)
2.为服务添加bean
import io.micrometer.core.instrument.MeterRegistry;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.actuate.autoconfigure.metrics.MeterRegistryCustomizer;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class MetricsConfig {
@Value("${spring.application.name}")
private String applicationName;
@Bean
public MeterRegistryCustomizer meterRegistryCustomizer() {
return meterRegistry -> meterRegistry.config().commonTags("application", applicationName);
}
}
最后服务启动后就可以看到对应服务了。
参考资料:
https://prometheus.io/docs/prometheus/latest/configuration/configuration/#eureka_sd_config
最后一次更新于2021-08-23


0 条评论