diff --git a/server/monitor-types/snmp.js b/server/monitor-types/snmp.js index ea9c3a85c..24537fce3 100644 --- a/server/monitor-types/snmp.js +++ b/server/monitor-types/snmp.js @@ -25,9 +25,7 @@ class SNMPMonitorType extends MonitorType { // Handle errors during session creation session.on("error", (error) => { - heartbeat.status = DOWN; - heartbeat.msg = `SNMP: Error creating SNMP session: ${error.message}`; - log.debug("monitor", heartbeat.msg); + throw new Error(`Error creating SNMP session: ${error.message}`); }); const varbinds = await new Promise((resolve, reject) => { @@ -35,11 +33,11 @@ class SNMPMonitorType extends MonitorType { if (error) { reject(error); } else { - log.debug("monitor", `SNMP: Received varbinds (Type=${getKey(snmp.ObjectType, varbinds[0].type)}): ${varbinds[0].value}`); resolve(varbinds); } }); }); + log.debug("monitor", `SNMP: Received varbinds (Type=${getKey(snmp.ObjectType, varbinds[0].type)}): ${varbinds[0].value}`); // Verify if any varbinds were returned from the SNMP session or if the varbind type indicates a non-existent instance. // The `getKey` method retrieves the key associated with the varbind type from the snmp.ObjectType object. diff --git a/src/pages/EditMonitor.vue b/src/pages/EditMonitor.vue index cf15677cd..0f73c7535 100644 --- a/src/pages/EditMonitor.vue +++ b/src/pages/EditMonitor.vue @@ -1320,11 +1320,13 @@ message HealthCheckResponse { } } - // Set default timeout + // Set a default timeout of 1 second for SNMP monitors when querying a single OID. + // Since we're only querying a single OID, a shorter timeout is sufficient to ensure timely responses + // without unnecessary delays. This helps keep the monitoring process lightweight and efficient. if (this.monitor.type === "snmp") { this.monitor.timeout = 1; } else { - this.monitor.timeout = 48; + this.monitor.timeout = 48; // Default timeout for other monitor types } // Set default SNMP version