Apply suggestions from code review

Co-authored-by: Frank Elsinga <frank@elsinga.de>
This commit is contained in:
Matt Visnovsky
2024-06-12 14:25:25 -06:00
committed by GitHub
parent 5dc4bb64d5
commit b5a73e5ad7
3 changed files with 21 additions and 19 deletions

View File

@@ -9,17 +9,15 @@ class SNMPMonitorType extends MonitorType {
* @inheritdoc
*/
async check(monitor, heartbeat, _server) {
const options = {
port: monitor.port || "161",
retries: monitor.maxretries,
timeout: monitor.timeout * 1000,
version: snmp.Version[monitor.snmpVersion],
};
let session;
try {
session = snmp.createSession(monitor.hostname, monitor.radiusPassword, options);
const sessionOptions = {
port: monitor.port || "161",
retries: monitor.maxretries,
timeout: monitor.timeout * 1000,
version: snmp.Version[monitor.snmpVersion],
};
session = snmp.createSession(monitor.hostname, monitor.radiusPassword, sessionOptions);
// Handle errors during session creation
session.on("error", (error) => {
@@ -46,13 +44,14 @@ class SNMPMonitorType extends MonitorType {
const { status, response } = await evaluateJsonQuery(value, monitor.jsonPath, monitor.jsonPathOperator, monitor.expectedValue);
heartbeat.status = status ? UP : DOWN;
heartbeat.msg = `SNMP value ${status ? "passes" : "does not pass"} `;
heartbeat.msg += `comparison: ${response} ${monitor.jsonPathOperator} ${monitor.expectedValue}.`;
if (status) {
bean.status = UP;
bean.msg = `JSON query passes (comparing ${response} ${this.jsonPathOperator} ${this.expectedValue})`
} else {
throw new Error(`JSON query does not pass (comparing ${response} ${this.jsonPathOperator} ${this.expectedValue})`);
}
} catch (err) {
heartbeat.status = DOWN;
heartbeat.msg = `Error: ${err.message}`;
throw err;
} finally {
if (session) {
session.close();