diff --git a/accompany-admin/accompany-admin-web/src/main/java/com/accompany/admin/AdminApplication.java b/accompany-admin/accompany-admin-web/src/main/java/com/accompany/admin/AdminApplication.java index b31db1b3f..e183642c5 100644 --- a/accompany-admin/accompany-admin-web/src/main/java/com/accompany/admin/AdminApplication.java +++ b/accompany-admin/accompany-admin-web/src/main/java/com/accompany/admin/AdminApplication.java @@ -8,7 +8,6 @@ import org.springframework.boot.SpringBootConfiguration; import org.springframework.boot.actuate.autoconfigure.metrics.MeterRegistryCustomizer; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; -import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; @@ -27,14 +26,8 @@ import org.springframework.scheduling.annotation.EnableScheduling; @SpringBootConfiguration public class AdminApplication { - - @Bean - MeterRegistryCustomizer configurer() { - return (registry) -> registry.config().commonTags("application", "pk_admin"); - } - public static void main(String[] args) { SpringApplication.run(AdminApplication.class, args); } -} +} \ No newline at end of file diff --git a/accompany-base/accompany-core/src/main/java/com/accompany/core/autoconfigure/MetricsAutoConfiguration.java b/accompany-base/accompany-core/src/main/java/com/accompany/core/autoconfigure/MetricsAutoConfiguration.java new file mode 100644 index 000000000..b2d8456c8 --- /dev/null +++ b/accompany-base/accompany-core/src/main/java/com/accompany/core/autoconfigure/MetricsAutoConfiguration.java @@ -0,0 +1,27 @@ +package com.accompany.core.autoconfigure; + +import io.micrometer.core.instrument.MeterRegistry; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.actuate.autoconfigure.metrics.MeterRegistryCustomizer; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +/** + * 公共的 Metrics 配置类 + * 自动从 spring.application.name 获取应用名称作为标签 + */ +@Configuration +public class MetricsAutoConfiguration { + + @Value("${spring.application.name:pk_unknown}") + private String applicationName; + + @Value("${spring.profiles.active:unknown}") + private String activeProfile; + + @Bean + public MeterRegistryCustomizer meterRegistryCustomizer() { + String applicationTag = applicationName + "(" + activeProfile + ")"; + return registry -> registry.config().commonTags("application", applicationTag); + } +} \ No newline at end of file diff --git a/accompany-business/accompany-business-web/src/main/java/com/accompany/business/BusinessApplication.java b/accompany-business/accompany-business-web/src/main/java/com/accompany/business/BusinessApplication.java index 6b97d5661..c5a47fbc0 100644 --- a/accompany-business/accompany-business-web/src/main/java/com/accompany/business/BusinessApplication.java +++ b/accompany-business/accompany-business-web/src/main/java/com/accompany/business/BusinessApplication.java @@ -34,12 +34,6 @@ public class BusinessApplication extends SpringBootServletInitializer { return builder.sources(BusinessApplication.class); } - @Bean - MeterRegistryCustomizer configurer() { - return (registry) -> registry.config().commonTags("application", "pk_bussiness"); - } - - public static void main(String[] args) { SpringApplication.run(BusinessApplication.class, args); } diff --git a/accompany-scheduler/accompany-scheduler-web/src/main/java/com/accompany/scheduler/JobApplication.java b/accompany-scheduler/accompany-scheduler-web/src/main/java/com/accompany/scheduler/JobApplication.java index a08ffc523..55e26f4ce 100644 --- a/accompany-scheduler/accompany-scheduler-web/src/main/java/com/accompany/scheduler/JobApplication.java +++ b/accompany-scheduler/accompany-scheduler-web/src/main/java/com/accompany/scheduler/JobApplication.java @@ -7,7 +7,6 @@ import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringBootConfiguration; import org.springframework.boot.actuate.autoconfigure.metrics.MeterRegistryCustomizer; import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; @@ -28,9 +27,4 @@ public class JobApplication { public static void main(String[] args) { SpringApplication.run(JobApplication.class, args); } - - @Bean - MeterRegistryCustomizer configurer() { - return (registry) -> registry.config().commonTags("application", "pk_job"); - } -} +} \ No newline at end of file