ltsdb/clients/record_reboot_overdue

44 lines
863 B
Plaintext
Raw Permalink Normal View History

2023-01-14 19:20:57 +01:00
#!/usr/bin/python3
import time
import glob
import os.path
import ltsdb_record
now = time.time()
with open("/proc/uptime") as fh:
ln = fh.readline()
uptime = float(ln.split()[0])
last_reboot = now - uptime
last_mtime = 0
for p in glob.glob("/boot/**/*", recursive=True):
mtime = os.path.getmtime(p)
if mtime > last_mtime:
last_mtime = mtime
if last_mtime > last_reboot:
overdue = now - last_mtime
else:
overdue = 0
report0 = []
report0.append({ "measure": "reboot_overdue", "unit": "s", "value": overdue})
report = [
{
"description": {
"hostname": ltsdb_record.node,
"measure": r["measure"],
"unit": r["unit"]
},
"data": [
[now, r["value"]]
]
}
for r in report0
]
success = ltsdb_record.record_observations(report)
exit(1 - success)