From 4de9a323e4d1e59de7934052209d33bafbc2c52a Mon Sep 17 00:00:00 2001 From: adjoly Date: Tue, 22 Jul 2025 16:38:11 +0200 Subject: [PATCH] =?UTF-8?q?=E3=80=8C=E2=9C=A8=E3=80=8D=20feat:=20added=20n?= =?UTF-8?q?ginx=20exporter?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/front/config/default.conf.template | 7 +++++++ docker/monitoring/compose.yml | 1 + docker/monitoring/exporters/compose.yml | 2 ++ docker/monitoring/exporters/nginx/Dockerfile | 0 docker/monitoring/exporters/nginx/compose.yml | 12 ++++++++++++ docker/monitoring/prometheus/compose.yml | 1 + docker/monitoring/prometheus/config/prometheus.yml | 6 +++++- src/api/user/default.js | 4 ++-- 8 files changed, 30 insertions(+), 3 deletions(-) create mode 100644 docker/monitoring/exporters/compose.yml create mode 100644 docker/monitoring/exporters/nginx/Dockerfile create mode 100644 docker/monitoring/exporters/nginx/compose.yml diff --git a/docker/front/config/default.conf.template b/docker/front/config/default.conf.template index 68b9e75..a2fd36e 100644 --- a/docker/front/config/default.conf.template +++ b/docker/front/config/default.conf.template @@ -39,3 +39,10 @@ server { server_name example.com; return 301 https://$host$request_uri; } + +server { + listen 8080; + location /nginx_status { + stub_status; + } +} diff --git a/docker/monitoring/compose.yml b/docker/monitoring/compose.yml index 14c9bc9..759f2f6 100644 --- a/docker/monitoring/compose.yml +++ b/docker/monitoring/compose.yml @@ -1,2 +1,3 @@ include: - ./prometheus/compose.yml + - ./exporters/compose.yml diff --git a/docker/monitoring/exporters/compose.yml b/docker/monitoring/exporters/compose.yml new file mode 100644 index 0000000..cccb1a9 --- /dev/null +++ b/docker/monitoring/exporters/compose.yml @@ -0,0 +1,2 @@ +include: + - ./nginx/compose.yml diff --git a/docker/monitoring/exporters/nginx/Dockerfile b/docker/monitoring/exporters/nginx/Dockerfile new file mode 100644 index 0000000..e69de29 diff --git a/docker/monitoring/exporters/nginx/compose.yml b/docker/monitoring/exporters/nginx/compose.yml new file mode 100644 index 0000000..7298737 --- /dev/null +++ b/docker/monitoring/exporters/nginx/compose.yml @@ -0,0 +1,12 @@ +services: + nginx-exporter: + container_name: transcendence-nginx-exporter + image: nginx/nginx-prometheus-exporter:latest + command: + - '-nginx.scrape-uri=http://transcendence-front:8080/nginx_status' + depends_on: + front: + condition: service_started + networks: + - front + - prom-exporter diff --git a/docker/monitoring/prometheus/compose.yml b/docker/monitoring/prometheus/compose.yml index 504a5b4..b961117 100644 --- a/docker/monitoring/prometheus/compose.yml +++ b/docker/monitoring/prometheus/compose.yml @@ -26,4 +26,5 @@ services: - '--web.enable-lifecycle' networks: - prom + - prom-exporter restart: unless-stopped diff --git a/docker/monitoring/prometheus/config/prometheus.yml b/docker/monitoring/prometheus/config/prometheus.yml index cbe8524..f4da6d6 100644 --- a/docker/monitoring/prometheus/config/prometheus.yml +++ b/docker/monitoring/prometheus/config/prometheus.yml @@ -1,5 +1,5 @@ global: - scrape_interval: 30s + scrape_interval: 5s # alerting: # alertmanagers: @@ -15,3 +15,7 @@ scrape_configs: password: PROM_ADMIN_PASSWD static_configs: - targets: ['localhost:9090'] + + - job_name: 'nginx' + static_configs: + - targets: ['nginx-exporter:9113'] diff --git a/src/api/user/default.js b/src/api/user/default.js index 73c1d6b..260025e 100644 --- a/src/api/user/default.js +++ b/src/api/user/default.js @@ -15,13 +15,13 @@ if (!env || env === 'development') { function prepareDB() { database.exec(` - CREATE TABLE userData ( + CREATE TABLE IF NOT EXISTS userData ( username TEXT PRIMARY KEY, displayName TEXT ) STRICT `); database.exec(` - CREATE TABLE friends ( + CREATE TABLE IF NOT EXISTS friends ( username TEXT, friendName TEXT, UNIQUE(username, friendName),