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
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 21 additions and 19 deletions

View file

@ -602,9 +602,12 @@ class Monitor extends BeanModel {
const { status, response } = await evaluateJsonQuery(data, this.jsonPath, this.jsonPathOperator, this.expectedValue);
bean.status = status ? UP : DOWN;
bean.msg = `JSON query ${status ? "passes" : "does not pass"} `;
bean.msg += `comparison: ${response} ${this.jsonPathOperator} ${this.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})`);
}
}

View file

@ -9,17 +9,15 @@ class SNMPMonitorType extends MonitorType {
* @inheritdoc
*/
async check(monitor, heartbeat, _server) {
const options = {
let session;
try {
const sessionOptions = {
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);
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();

View file

@ -1354,7 +1354,7 @@ message HealthCheckResponse {
// Set default SNMP version
if (!this.monitor.snmpVersion) {
this.monitor.snmpVersion = "1";
this.monitor.snmpVersion = "2c";
}
// Set default jsonPath