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 92985e6..e58ccc9 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 @@ -220,7 +220,24 @@ def process(mAgents, bAgents, jobs, restores): }) continue - if sched != "Daily": + warnDays = 0 + critDays = 0 + if sched == "Daily": + # We use 1.2 & 2.2 here to give wiggle room for jobs to complete if + # they take longer than expected. + warnDays = 1.2 + critDays = 2.2 + elif sched == "Weekly": + # Ditto, but for a week + warnDays = 7.2 + critDays = 8.2 + elif sched == "NotScheduled": + results[host].append({ + "status": WARN, + "message": f"Backup agent {bAgentId} job {jobId} is not scheduled." + }) + continue + else: results[host].append({ "status": WARN, "message": f"Backup agent {bAgentId} job {jobId} has scheduleType unknown to CheckMK plugin: {sched}." @@ -228,14 +245,12 @@ def process(mAgents, bAgents, jobs, restores): continue 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: + if daysSinceLastRun > critDays: 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: + elif daysSinceLastRun > warnDays: results[host].append({ "status": WARN, "message": f"Backup agent {bAgentId} job {jobId} is late! Last backup ran {daysSinceLastRun:.1f} days ago." @@ -254,12 +269,12 @@ def process(mAgents, bAgents, jobs, restores): timeSinceLastSuccess = datetime.now(timezone.utc) - datetime.fromisoformat(lastRestorePoint) daysSinceLastSuccess = timeSinceLastSuccess.seconds / SECONDS_PER_DAY - if daysSinceLastSuccess > 2.2: + if daysSinceLastSuccess > critDays: results[host].append({ "status": CRIT, "message": f"Job {jobId} last SUCCESSFULLY ran {daysSinceLastSuccess:.1f} days ago!" }) - elif daysSinceLastSuccess > 1.2: + elif daysSinceLastSuccess > warnDays: results[host].append({ "status": WARN, "message": f"Job {jobId} last SUCCESSFULLY ran {daysSinceLastSuccess:.1f} days ago!" diff --git a/vspc_backup_checks/2.3/vspc_backup_checks-0.3.1.mkp b/vspc_backup_checks/2.3/vspc_backup_checks-0.3.1.mkp deleted file mode 100755 index 30b4c07..0000000 Binary files a/vspc_backup_checks/2.3/vspc_backup_checks-0.3.1.mkp and /dev/null differ diff --git a/vspc_backup_checks/2.3/vspc_backup_checks-0.4.0.mkp b/vspc_backup_checks/2.3/vspc_backup_checks-0.4.0.mkp new file mode 100755 index 0000000..362eb09 Binary files /dev/null and b/vspc_backup_checks/2.3/vspc_backup_checks-0.4.0.mkp differ