Skip to content

Commit

Permalink
management-service: updated dependencies + added grafana integration (#…
Browse files Browse the repository at this point in the history
…152)

* management-service: updated dependencies + added grafana integration

* Added grafana and prometheus components

* Fixed paths in docker compose

* Changed prometheus port as existing one is in use

* Extracted monitoring docker compose to separate directory

* Added config for nginx

* .

* .

* .

* .

* .

* .

* .

* .

* .

* .

* .
  • Loading branch information
MDybek authored Dec 26, 2024
1 parent d38a27d commit b83ecd8
Show file tree
Hide file tree
Showing 6 changed files with 71 additions and 19 deletions.
32 changes: 15 additions & 17 deletions management-service/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,30 +5,18 @@
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.4.0</version>
<version>3.4.1</version>
<relativePath/>
</parent>
<groupId>pl.pwr</groupId>
<artifactId>zpi</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>Magpie Monitor</name>
<description>Monitor tool for your k8s apps</description>
<url/>
<licenses>
<license/>
</licenses>
<developers>
<developer/>
</developers>
<scm>
<connection/>
<developerConnection/>
<tag/>
<url/>
</scm>

<properties>
<java.version>21</java.version>
<spring.boot.version>3.4.0</spring.boot.version>
<spring.boot.version>3.4.1</spring.boot.version>
<projectlombok.version>1.18.36</projectlombok.version>
<springdoc.version>2.7.0</springdoc.version>
<jjwt.version>0.12.6</jjwt.version>
Expand Down Expand Up @@ -60,10 +48,20 @@
<version>${spring.boot.version}</version>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-prometheus</artifactId>
<scope>runtime</scope>
</dependency>

<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka</artifactId>
<version>3.3.0</version>
<version>3.3.1</version>
</dependency>

<dependency>
Expand Down Expand Up @@ -239,7 +237,7 @@
<dependency>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
<version>5.8.1</version>
<version>5.11.4</version>
</dependency>
</dependencies>
</plugin>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,8 @@ public SecurityFilterChain securityFilterChain(HttpSecurity http, CorsConfigurat
"/swagger-ui/**",
"/api/v1/auth/**",
"/login/oauth2/code/**",
"/error"
"/error",
"/actuator/**"
).permitAll();
request.anyRequest().authenticated();
})
Expand Down
7 changes: 6 additions & 1 deletion management-service/src/main/resources/application.properties
Original file line number Diff line number Diff line change
Expand Up @@ -63,4 +63,9 @@ magpie.monitor.client.base.url=${CLIENT_BASE_URL}
report.scheduler.cron=0 */10 * * * *

slack.webhook.url.regex=https://hooks.slack.com/services/[A-Z0-9]+/[A-Z0-9]+/[a-zA-Z0-9]+
discord.webhook.url.regex=https://discord.com/api/webhooks/[0-9]+/[a-zA-Z0-9\-]+
discord.webhook.url.regex=https://discord.com/api/webhooks/[0-9]+/[a-zA-Z0-9\-]+

management.endpoints.web.exposure.include=info,health,loggers,metrics,prometheus
management.endpoint.health.show-details=always
management.metrics.tags.application=${spring.application.name}
management.observations.annotations.enabled=true
33 changes: 33 additions & 0 deletions monitoring/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
services:
prometheus:
image: prom/prometheus:v3.0.0
container_name: prometheus
environment:
VIRTUAL_HOST: ${PROMETHEUS_PRODUCTION_HOST}
LETSENCRYPT_HOST: ${PROMETHEUS_PRODUCTION_HOST}
VIRTUAL_PORT: 9090
volumes:
- ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
- prometheus-data:/prometheus
restart: unless-stopped

grafana:
image: grafana/grafana:latest
container_name: grafana
environment:
VIRTUAL_HOST: ${GRAFANA_PRODUCTION_HOST}
LETSENCRYPT_HOST: ${GRAFANA_PRODUCTION_HOST}
VIRTUAL_PORT: 3000
volumes:
- ./grafana/provisioning/datasources:/etc/grafana/provisioning/datasources
- grafana-data:/var/lib/grafana
restart: unless-stopped

volumes:
prometheus-data:
grafana-data:

networks:
default:
name: magpie-network
external: true
7 changes: 7 additions & 0 deletions monitoring/grafana/provisioning/datasources/datasources.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
apiVersion: 1
datasources:
- name: Prometheus
type: prometheus
access: proxy
url: http://prometheus:9090
isDefault: true
8 changes: 8 additions & 0 deletions monitoring/prometheus/prometheus.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
scrape_configs:
- job_name: 'ManagementService'
metrics_path: '/actuator/prometheus'
scrape_interval: 3s
static_configs:
- targets: ['management-service:8080']
labels:
application: 'ManagementService'

0 comments on commit b83ecd8

Please sign in to comment.