#!/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)