From d32ad1c43b3c359a7b72ac5ea123bc02483f244e Mon Sep 17 00:00:00 2001 From: evilimkova <evilimkova@onpointserv.com> Date: Tue, 25 Apr 2023 16:29:16 +0200 Subject: [PATCH] Adding prometheus and grafan to docker-compose --- application/docker-compose.yml | 30 ++++++++++++++++++- .../datasources/prometheus_ds.yml | 6 ++++ .../src/main/resources/application.properties | 2 +- .../src/main/resources/application.properties | 2 +- .../src/main/resources/application.properties | 2 +- .../src/main/resources/application.properties | 2 +- application/pom.xml | 5 ++++ application/prometheus/prometheus.yml | 25 ++++++++++++++++ 8 files changed, 69 insertions(+), 5 deletions(-) create mode 100644 application/grafana/provisioning/datasources/prometheus_ds.yml create mode 100644 application/prometheus/prometheus.yml diff --git a/application/docker-compose.yml b/application/docker-compose.yml index 41a6a0d3..6112e2d1 100644 --- a/application/docker-compose.yml +++ b/application/docker-compose.yml @@ -1,4 +1,7 @@ version: '3' +volumes: + prometheus_data: + grafana-data: services: certificate: @@ -27,4 +30,29 @@ services: container_name: mail image: xpokorn8/sprachschulsystem:mail ports: - - "5003:5003" \ No newline at end of file + - "5003:5003" + + prometheus: + image: prom/prometheus:v2.43.0 + container_name: prometheus + volumes: + - ./prometheus:/etc/prometheus + - prometheus_data:/prometheus + expose: + - 9090 + ports: + - "9090:9090" + command: + - '--config.file=/etc/prometheus/prometheus.yml' + + grafana: + image: grafana/grafana:7.5.7 + ports: + - "3000:3000" + restart: unless-stopped + volumes: + - ./grafana/provisioning/datasources:/etc/grafana/provisioning/datasources + - grafana-data:/var/lib/grafana + + + diff --git a/application/grafana/provisioning/datasources/prometheus_ds.yml b/application/grafana/provisioning/datasources/prometheus_ds.yml new file mode 100644 index 00000000..69fb2b04 --- /dev/null +++ b/application/grafana/provisioning/datasources/prometheus_ds.yml @@ -0,0 +1,6 @@ +datasources: + - name: Prometheus + access: proxy + type: prometheus + url: http://host.docker.internal:9090 + isDefault: true \ No newline at end of file diff --git a/application/module-certificate/src/main/resources/application.properties b/application/module-certificate/src/main/resources/application.properties index 56f47bd4..c773ad97 100644 --- a/application/module-certificate/src/main/resources/application.properties +++ b/application/module-certificate/src/main/resources/application.properties @@ -1,6 +1,6 @@ server.port=5001 -management.endpoints.web.exposure.include=health, metrics +management.endpoints.web.exposure.include=health,metrics,prometheus management.endpoint.health.show-details=always management.health.defaults.enabled=true management.endpoint.health.probes.enabled=true diff --git a/application/module-exercise/src/main/resources/application.properties b/application/module-exercise/src/main/resources/application.properties index 13d14764..dc2e9357 100644 --- a/application/module-exercise/src/main/resources/application.properties +++ b/application/module-exercise/src/main/resources/application.properties @@ -1,6 +1,6 @@ server.port=5002 -management.endpoints.web.exposure.include=health, metrics +management.endpoints.web.exposure.include=health,metrics,prometheus management.endpoint.health.show-details=always management.health.defaults.enabled=true management.endpoint.health.probes.enabled=true diff --git a/application/module-language-school/src/main/resources/application.properties b/application/module-language-school/src/main/resources/application.properties index db1fd4ab..0a43c652 100644 --- a/application/module-language-school/src/main/resources/application.properties +++ b/application/module-language-school/src/main/resources/application.properties @@ -1,6 +1,6 @@ server.port=5000 -management.endpoints.web.exposure.include=health, metrics +management.endpoints.web.exposure.include=health,metrics,prometheus management.endpoint.health.show-details=always management.health.defaults.enabled=true management.endpoint.health.probes.enabled=true diff --git a/application/module-mail/src/main/resources/application.properties b/application/module-mail/src/main/resources/application.properties index 44b7f743..6a14995d 100644 --- a/application/module-mail/src/main/resources/application.properties +++ b/application/module-mail/src/main/resources/application.properties @@ -1,6 +1,6 @@ server.port=5003 -management.endpoints.web.exposure.include=health, metrics +management.endpoints.web.exposure.include=health,metrics,prometheus management.endpoint.health.show-details=always management.health.defaults.enabled=true management.endpoint.health.probes.enabled=true diff --git a/application/pom.xml b/application/pom.xml index 81c06568..dd5ca994 100644 --- a/application/pom.xml +++ b/application/pom.xml @@ -99,6 +99,11 @@ <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> + + <dependency> + <groupId>io.micrometer</groupId> + <artifactId>micrometer-registry-prometheus</artifactId> + </dependency> </dependencies> <build> diff --git a/application/prometheus/prometheus.yml b/application/prometheus/prometheus.yml new file mode 100644 index 00000000..1fb0be13 --- /dev/null +++ b/application/prometheus/prometheus.yml @@ -0,0 +1,25 @@ +global: + scrape_interval: 1s + external_labels: + monitor: 'my-monitor' + +scrape_configs: + - job_name: 'prometheus' + static_configs: + - targets: ['localhost:9090'] + - job_name: 'module-certificate' + metrics_path: /actuator/prometheus + static_configs: + - targets: ['host.docker.internal:5001'] + - job_name: 'module-exercise' + metrics_path: /actuator/prometheus + static_configs: + - targets: ['host.docker.internal:5002'] + - job_name: 'module-language-school' + metrics_path: /actuator/prometheus + static_configs: + - targets: ['host.docker.internal:5000'] + - job_name: 'module-mail' + metrics_path: /actuator/prometheus + static_configs: + - targets: ['host.docker.internal:5003'] -- GitLab