diff --git a/app/build.gradle b/app/build.gradle index 09a0c60..f4baa32 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -11,8 +11,13 @@ configurations { dependencies { implementation project(":api") + developmentOnly("org.springframework.boot:spring-boot-devtools") + implementation 'org.springframework.boot:spring-boot-starter-aop' implementation 'org.springframework.boot:spring-boot-starter-security' implementation 'org.springframework.boot:spring-boot-starter-web' + implementation 'org.springframework.boot:spring-boot-starter-actuator' + + runtimeOnly 'io.micrometer:micrometer-registry-prometheus' compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' diff --git a/app/src/main/java/ru/dragonestia/picker/config/MetricsConfig.java b/app/src/main/java/ru/dragonestia/picker/config/MetricsConfig.java new file mode 100644 index 0000000..463f6b4 --- /dev/null +++ b/app/src/main/java/ru/dragonestia/picker/config/MetricsConfig.java @@ -0,0 +1,15 @@ +package ru.dragonestia.picker.config; + +import io.micrometer.core.aop.TimedAspect; +import io.micrometer.core.instrument.MeterRegistry; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class MetricsConfig { + + @Bean + TimedAspect timedAspect(MeterRegistry meterRegistry) { + return new TimedAspect(meterRegistry); + } +} diff --git a/app/src/main/resources/application.properties b/app/src/main/resources/application.properties deleted file mode 100644 index 8b13789..0000000 --- a/app/src/main/resources/application.properties +++ /dev/null @@ -1 +0,0 @@ - diff --git a/app/src/main/resources/application.yml b/app/src/main/resources/application.yml new file mode 100644 index 0000000..7edab2e --- /dev/null +++ b/app/src/main/resources/application.yml @@ -0,0 +1,10 @@ +management: + endpoints: + web: + exposure: + include: health,prometheus + + prometheus: + metrics: + export: + enabled: true diff --git a/config/prometheus.yml b/config/prometheus.yml index e69de29..96eb4ce 100644 --- a/config/prometheus.yml +++ b/config/prometheus.yml @@ -0,0 +1,11 @@ +global: + scrape_interval: 5s + external_labels: + monitor: 'codelab-monitor' + +scrape_configs: + - job_name: 'room-picker_monitoring' + scrape_interval: 5s + metrics_path: '/actuator/prometheus' + static_configs: + - targets: [ 'host.docker.internal:8080' ]