diff --git a/vspc_backup_checks/2.3/local/lib/python3/cmk_addons/plugins/vspc_backup_checks/libexec/agent_vspc_backup_checks b/vspc_backup_checks/2.3/local/lib/python3/cmk_addons/plugins/vspc_backup_checks/libexec/agent_vspc_backup_checks index d3aa112..dd96a85 100755 --- a/vspc_backup_checks/2.3/local/lib/python3/cmk_addons/plugins/vspc_backup_checks/libexec/agent_vspc_backup_checks +++ b/vspc_backup_checks/2.3/local/lib/python3/cmk_addons/plugins/vspc_backup_checks/libexec/agent_vspc_backup_checks @@ -196,6 +196,9 @@ def process(mAgents, bAgents, jobs, managed): if failureMessage: # We use 2.2 here to give wiggle room for jobs to complete if # they take longer than expected. + # + # NB: we assume here that lastEndTime was set if there's a + # failureMessage. results[host].append({ "status": CRIT if daysSinceLastRun > 2.2 else WARN, "message": f"Backup agent {bAgentId} job {jobId} failed {daysSinceLastRun:.1f} days ago: {failureMessage}" @@ -209,30 +212,24 @@ def process(mAgents, bAgents, jobs, managed): }) continue - if not daysSinceLastRun: - results[host].append({ - "status": OK, - "message": f"Backup agent {bAgentId} is healthy; no backups yet." - }) - continue - - # We use 1.2 & 2.2 here to give wiggle room for jobs to complete if - # they take longer than expected. - if daysSinceLastRun > 2.2: - results[host].append({ - "status": CRIT, - "message": f"Backup agent {bAgentId} job {jobId} is late! Last backup ran {daysSinceLastRun:.1f} days ago." - }) - elif daysSinceLastRun > 1.2: - results[host].append({ - "status": WARN, - "message": f"Backup agent {bAgentId} job {jobId} is late! Last backup ran {daysSinceLastRun:.1f} days ago." - }) - else: - results[host].append({ - "status": OK, - "message": f"Backup agent {bAgentId} job {jobId} is healthy; last backup ran {daysSinceLastRun:.1f} days ago." - }) + if daysSinceLastRun is not None: + # We use 1.2 & 2.2 here to give wiggle room for jobs to complete if + # they take longer than expected. + if daysSinceLastRun > 2.2: + results[host].append({ + "status": CRIT, + "message": f"Backup agent {bAgentId} job {jobId} is late! Last backup ran {daysSinceLastRun:.1f} days ago." + }) + elif daysSinceLastRun > 1.2: + results[host].append({ + "status": WARN, + "message": f"Backup agent {bAgentId} job {jobId} is late! Last backup ran {daysSinceLastRun:.1f} days ago." + }) + else: + results[host].append({ + "status": OK, + "message": f"Backup agent {bAgentId} job {jobId} is healthy; last backup ran {daysSinceLastRun:.1f} days ago." + }) if not mEntry: continue diff --git a/vspc_backup_checks/2.3/vspc_backup_checks-0.2.0.mkp b/vspc_backup_checks/2.3/vspc_backup_checks-0.2.0.mkp deleted file mode 100755 index d333e57..0000000 Binary files a/vspc_backup_checks/2.3/vspc_backup_checks-0.2.0.mkp and /dev/null differ diff --git a/vspc_backup_checks/2.3/vspc_backup_checks-0.2.1.mkp b/vspc_backup_checks/2.3/vspc_backup_checks-0.2.1.mkp new file mode 100755 index 0000000..468385f Binary files /dev/null and b/vspc_backup_checks/2.3/vspc_backup_checks-0.2.1.mkp differ