From 8bfb187ef0c95931a844a9930e4fac73995d5ef6 Mon Sep 17 00:00:00 2001 From: Owaise Imdad Date: Sun, 27 Jul 2025 03:47:30 +0530 Subject: [PATCH 1/7] FIX merge conflicts --- docker/dev/docker-compose.yaml | 33 ++++++++------------------------- 1 file changed, 8 insertions(+), 25 deletions(-) diff --git a/docker/dev/docker-compose.yaml b/docker/dev/docker-compose.yaml index 292d0b1d5..75d152052 100755 --- a/docker/dev/docker-compose.yaml +++ b/docker/dev/docker-compose.yaml @@ -1,29 +1,9 @@ services: - client: - image: uptime_client:latest - restart: always - ports: - - "80:80" - environment: - UPTIME_APP_API_BASE_URL: "http://localhost:52345/api/v1" - UPTIME_APP_CLIENT_HOST: "http://localhost" - volumes: - - ./nginx/conf.d:/etc/nginx/conf.d/ - depends_on: - - server - server: - image: uptime_server:latest - restart: always - ports: - - "52345:52345" - env_file: - - server.env - depends_on: - - redis - - mongodb redis: - image: uptime_redis:latest + image: redis:latest restart: always + ports: + - "6379:6379" # ✅ Expose Redis to host volumes: - ./redis/data:/data healthcheck: @@ -32,14 +12,17 @@ services: timeout: 10s retries: 5 start_period: 5s + mongodb: - image: uptime_mongo:latest + image: mongo:latest restart: always + ports: + - "27017:27017" # ✅ Expose MongoDB to host command: ["mongod", "--quiet", "--replSet", "rs0", "--bind_ip_all"] volumes: - ./mongo/data:/data/db healthcheck: - test: echo "try { rs.status() } catch (err) { rs.initiate({_id:'rs0',members:[{_id:0,host:'mongodb:27017'}]}) }" | mongosh --port 27017 --quiet + test: echo "try { rs.status() } catch (err) { rs.initiate({_id:'rs0',members:[{_id:0,host:'localhost:27017'}]}) }" | mongosh --port 27017 --quiet interval: 5s timeout: 30s start_period: 0s From 5c147562b3c6954f2d2dee084247e089d973b344 Mon Sep 17 00:00:00 2001 From: Owaise Imdad Date: Tue, 29 Jul 2025 00:17:34 +0530 Subject: [PATCH 2/7] Added net to be returned from api in backend for infra. --- server/db/models/HardwareCheck.js | 19 +++++ .../db/mongo/modules/monitorModuleQueries.js | 82 +++++++++++++++++++ .../service/infrastructure/statusService.js | 3 +- 3 files changed, 103 insertions(+), 1 deletion(-) diff --git a/server/db/models/HardwareCheck.js b/server/db/models/HardwareCheck.js index bda9f693c..f29df2dbc 100755 --- a/server/db/models/HardwareCheck.js +++ b/server/db/models/HardwareCheck.js @@ -40,6 +40,20 @@ const captureSchema = mongoose.Schema({ mode: { type: String, default: "" }, }); +const networkInterfaceSchema = mongoose.Schema({ + name: { type: String, required: true }, + bytes_sent: { type: Number, default: 0 }, + bytes_recv: { type: Number, default: 0 }, + packets_sent: { type: Number, default: 0 }, + packets_recv: { type: Number, default: 0 }, + err_in: { type: Number, default: 0 }, + err_out: { type: Number, default: 0 }, + drop_in: { type: Number, default: 0 }, + drop_out: { type: Number, default: 0 }, + fifo_in: { type: Number, default: 0 }, + fifo_out: { type: Number, default: 0 }, +}); + const HardwareCheckSchema = mongoose.Schema( { ...BaseCheckSchema.obj, @@ -69,6 +83,11 @@ const HardwareCheckSchema = mongoose.Schema( type: captureSchema, default: () => ({}), }, + + net: { + type: [networkInterfaceSchema], + default: () => [], + }, }, { timestamps: true } ); diff --git a/server/db/mongo/modules/monitorModuleQueries.js b/server/db/mongo/modules/monitorModuleQueries.js index d96e128fa..56c9a794b 100755 --- a/server/db/mongo/modules/monitorModuleQueries.js +++ b/server/db/mongo/modules/monitorModuleQueries.js @@ -220,6 +220,7 @@ const buildHardwareDetailsPipeline = (monitor, dates, dateString) => { diskCount: { $size: "$disk", }, + netCount: { $size: "$net" }, }, }, { @@ -227,6 +228,7 @@ const buildHardwareDetailsPipeline = (monitor, dates, dateString) => { from: "hardwarechecks", let: { diskCount: "$diskCount", + netCount: "$netCount", }, pipeline: [ { @@ -258,6 +260,9 @@ const buildHardwareDetailsPipeline = (monitor, dates, dateString) => { disks: { $push: "$disk", }, + net: { + $push: "$net", + }, }, }, { @@ -371,6 +376,83 @@ const buildHardwareDetailsPipeline = (monitor, dates, dateString) => { }, }, }, + net: { + $map: { + input: { $range: [0, "$$netCount"] }, + as: "netIndex", + in: { + name: { + $concat: ["net", { $toString: "$$netIndex" }], + }, + bytesSent: { + $avg: { + $map: { + input: "$net", + as: "netArray", + in: { + $arrayElemAt: ["$$netArray.bytes_sent", "$$netIndex"], + }, + }, + }, + }, + bytesRecv: { + $avg: { + $map: { + input: "$net", + as: "netArray", + in: { + $arrayElemAt: ["$$netArray.bytes_recv", "$$netIndex"], + }, + }, + }, + }, + packetsSent: { + $avg: { + $map: { + input: "$net", + as: "netArray", + in: { + $arrayElemAt: ["$$netArray.packets_sent", "$$netIndex"], + }, + }, + }, + }, + packetsRecv: { + $avg: { + $map: { + input: "$net", + as: "netArray", + in: { + $arrayElemAt: ["$$netArray.packets_recv", "$$netIndex"], + }, + }, + }, + }, + errIn: { + $avg: { + $map: { + input: "$net", + as: "netArray", + in: { + $arrayElemAt: ["$$netArray.errin", "$$netIndex"], + }, + }, + }, + }, + errOut: { + $avg: { + $map: { + input: "$net", + as: "netArray", + in: { + $arrayElemAt: ["$$netArray.errout", "$$netIndex"], + }, + }, + }, + }, + }, + }, + }, }, }, ], diff --git a/server/service/infrastructure/statusService.js b/server/service/infrastructure/statusService.js index 1c91a407c..0967d3d46 100755 --- a/server/service/infrastructure/statusService.js +++ b/server/service/infrastructure/statusService.js @@ -232,7 +232,7 @@ class StatusService { } if (type === "hardware") { - const { cpu, memory, disk, host } = payload?.data ?? {}; + const { cpu, memory, disk, host, net } = payload?.data ?? {}; const { errors } = payload?.errors ?? []; check.cpu = cpu ?? {}; check.memory = memory ?? {}; @@ -240,6 +240,7 @@ class StatusService { check.host = host ?? {}; check.errors = errors ?? []; check.capture = payload?.capture ?? {}; + check.net = net ?? {}; } return check; }; From 19fe41d738ce87098d0235c361da5d4daa39978b Mon Sep 17 00:00:00 2001 From: Owaise Imdad Date: Tue, 29 Jul 2025 00:22:14 +0530 Subject: [PATCH 3/7] reverting the docker dev changes I made. --- docker/dev/docker-compose.yaml | 35 +++++++++++++++++++++++++--------- 1 file changed, 26 insertions(+), 9 deletions(-) diff --git a/docker/dev/docker-compose.yaml b/docker/dev/docker-compose.yaml index 75d152052..f0b193b2d 100755 --- a/docker/dev/docker-compose.yaml +++ b/docker/dev/docker-compose.yaml @@ -1,9 +1,29 @@ services: - redis: - image: redis:latest + client: + image: uptime_client:latest restart: always ports: - - "6379:6379" # ✅ Expose Redis to host + - "80:80" + environment: + UPTIME_APP_API_BASE_URL: "http://localhost:52345/api/v1" + UPTIME_APP_CLIENT_HOST: "http://localhost" + volumes: + - ./nginx/conf.d:/etc/nginx/conf.d/ + depends_on: + - server + server: + image: uptime_server:latest + restart: always + ports: + - "52345:52345" + env_file: + - server.env + depends_on: + - redis + - mongodb + redis: + image: uptime_redis:latest + restart: always volumes: - ./redis/data:/data healthcheck: @@ -12,19 +32,16 @@ services: timeout: 10s retries: 5 start_period: 5s - mongodb: - image: mongo:latest + image: uptime_mongo:latest restart: always - ports: - - "27017:27017" # ✅ Expose MongoDB to host command: ["mongod", "--quiet", "--replSet", "rs0", "--bind_ip_all"] volumes: - ./mongo/data:/data/db healthcheck: - test: echo "try { rs.status() } catch (err) { rs.initiate({_id:'rs0',members:[{_id:0,host:'localhost:27017'}]}) }" | mongosh --port 27017 --quiet + test: echo "try { rs.status() } catch (err) { rs.initiate({_id:'rs0',members:[{_id:0,host:'mongodb:27017'}]}) }" | mongosh --port 27017 --quiet interval: 5s timeout: 30s start_period: 0s start_interval: 1s - retries: 30 + retries: 30 \ No newline at end of file From ab0bf5ca5f9a8cbe10437d1e1b4a43ba31a63322 Mon Sep 17 00:00:00 2001 From: Owaise Imdad Date: Tue, 29 Jul 2025 00:42:55 +0530 Subject: [PATCH 4/7] Fixed the names and err out and err in . --- .../src/db/mongo/modules/monitorModuleQueries.js | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/server/src/db/mongo/modules/monitorModuleQueries.js b/server/src/db/mongo/modules/monitorModuleQueries.js index 56c9a794b..df15593e2 100755 --- a/server/src/db/mongo/modules/monitorModuleQueries.js +++ b/server/src/db/mongo/modules/monitorModuleQueries.js @@ -382,7 +382,16 @@ const buildHardwareDetailsPipeline = (monitor, dates, dateString) => { as: "netIndex", in: { name: { - $concat: ["net", { $toString: "$$netIndex" }], + $arrayElemAt: [ + { + $map: { + input: "$net", + as: "netArray", + in: { $arrayElemAt: ["$$netArray.name", "$$netIndex"] }, + }, + }, + 0, + ], }, bytesSent: { $avg: { @@ -434,7 +443,7 @@ const buildHardwareDetailsPipeline = (monitor, dates, dateString) => { input: "$net", as: "netArray", in: { - $arrayElemAt: ["$$netArray.errin", "$$netIndex"], + $arrayElemAt: ["$$netArray.err_in", "$$netIndex"], }, }, }, @@ -445,7 +454,7 @@ const buildHardwareDetailsPipeline = (monitor, dates, dateString) => { input: "$net", as: "netArray", in: { - $arrayElemAt: ["$$netArray.errout", "$$netIndex"], + $arrayElemAt: ["$$netArray.err_out", "$$netIndex"], }, }, }, From 114572024c29467cbfe84a2f6c16b7f2e7a5a1b2 Mon Sep 17 00:00:00 2001 From: allanmaaz Date: Sat, 2 Aug 2025 12:34:31 +0530 Subject: [PATCH 5/7] Removed teh required true from network db. --- server/src/db/models/HardwareCheck.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/server/src/db/models/HardwareCheck.js b/server/src/db/models/HardwareCheck.js index f29df2dbc..3e65e2df4 100755 --- a/server/src/db/models/HardwareCheck.js +++ b/server/src/db/models/HardwareCheck.js @@ -41,7 +41,7 @@ const captureSchema = mongoose.Schema({ }); const networkInterfaceSchema = mongoose.Schema({ - name: { type: String, required: true }, + name: { type: String}, bytes_sent: { type: Number, default: 0 }, bytes_recv: { type: Number, default: 0 }, packets_sent: { type: Number, default: 0 }, @@ -87,6 +87,7 @@ const HardwareCheckSchema = mongoose.Schema( net: { type: [networkInterfaceSchema], default: () => [], + required: false, }, }, { timestamps: true } From 950c5fdc92a567046c3fd75c8d56fd57846c4aa6 Mon Sep 17 00:00:00 2001 From: owiaseimdad Date: Sat, 2 Aug 2025 12:42:35 +0530 Subject: [PATCH 6/7] Formating done. --- server/src/db/models/HardwareCheck.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/src/db/models/HardwareCheck.js b/server/src/db/models/HardwareCheck.js index 3e65e2df4..5b7d56213 100755 --- a/server/src/db/models/HardwareCheck.js +++ b/server/src/db/models/HardwareCheck.js @@ -41,7 +41,7 @@ const captureSchema = mongoose.Schema({ }); const networkInterfaceSchema = mongoose.Schema({ - name: { type: String}, + name: { type: String }, bytes_sent: { type: Number, default: 0 }, bytes_recv: { type: Number, default: 0 }, packets_sent: { type: Number, default: 0 }, From d4e83818272d8a5080a10b45bc8f1c76b4ac9817 Mon Sep 17 00:00:00 2001 From: Owaise Date: Tue, 5 Aug 2025 19:43:35 +0530 Subject: [PATCH 7/7] Renamed them as average values in the table. --- server/src/db/mongo/modules/monitorModuleQueries.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/server/src/db/mongo/modules/monitorModuleQueries.js b/server/src/db/mongo/modules/monitorModuleQueries.js index df15593e2..f7283c8e9 100755 --- a/server/src/db/mongo/modules/monitorModuleQueries.js +++ b/server/src/db/mongo/modules/monitorModuleQueries.js @@ -393,7 +393,7 @@ const buildHardwareDetailsPipeline = (monitor, dates, dateString) => { 0, ], }, - bytesSent: { + avgBytesSent: { $avg: { $map: { input: "$net", @@ -404,7 +404,7 @@ const buildHardwareDetailsPipeline = (monitor, dates, dateString) => { }, }, }, - bytesRecv: { + avgBytesRecv: { $avg: { $map: { input: "$net", @@ -415,7 +415,7 @@ const buildHardwareDetailsPipeline = (monitor, dates, dateString) => { }, }, }, - packetsSent: { + avgPacketsSent: { $avg: { $map: { input: "$net", @@ -426,7 +426,7 @@ const buildHardwareDetailsPipeline = (monitor, dates, dateString) => { }, }, }, - packetsRecv: { + avgPacketsRecv: { $avg: { $map: { input: "$net", @@ -437,7 +437,7 @@ const buildHardwareDetailsPipeline = (monitor, dates, dateString) => { }, }, }, - errIn: { + avgErrIn: { $avg: { $map: { input: "$net", @@ -448,7 +448,7 @@ const buildHardwareDetailsPipeline = (monitor, dates, dateString) => { }, }, }, - errOut: { + avgErrOut: { $avg: { $map: { input: "$net",