def collect(conn, fg): cur = conn.cursor(cursor_factory=psycopg2.extras.DictCursor) for param in PARAMS: cur.execute(SQL[param]) row = cur.fetchone() if row is not None: lib.update_stat_n(cur, PARAMS[param], row['data']) cur.close()
def collect(conn, fg): cur = conn.cursor(cursor_factory=psycopg2.extras.DictCursor) for param in PARAMS: cur.execute(SQL[param]) row = cur.fetchone() if row is not None: lib.update_stat_n(cur, PARAMS[param], row['data']) cur.close()
def collect(conn, fg): cur = conn.cursor(cursor_factory=psycopg2.extras.DictCursor) run = 0 systemctl = Popen([SYSTEMCTL, 'is-active', 'bacula-dir'], stdout=PIPE) status = systemctl.stdout.read().rstrip() if 'active' == status: run = 1 if fg: print (status, run) param = PARAMS["bacula.daemon.bacula-dir.status"] lib.update_stat_n(cur, param, run) run = 0 systemctl = Popen([SYSTEMCTL, 'is-active', 'bacula-sd'], stdout=PIPE) status = systemctl.stdout.read().rstrip() if 'active' == status: run = 1 if fg: print (status, run) param = PARAMS["bacula.daemon.bacula-sd.status"] lib.update_stat_n(cur, param, run) run = 0 systemctl = Popen([SYSTEMCTL, 'is-active', 'bacula-fd'], stdout=PIPE) status = systemctl.stdout.read().rstrip() if 'active' == status: run = 1 if fg: print (status, run) param = PARAMS["bacula.daemon.bacula-fd.status"] lib.update_stat_n(cur, param, run) # record itself :) param = PARAMS["ibadmin.daemon.ibadstatd.status"] lib.update_stat_n(cur, param, 1) cur.close()
def collect(conn, fg): cur = conn.cursor(cursor_factory=psycopg2.extras.DictCursor) run = 0 systemctl = Popen([SYSTEMCTL, 'is-active', 'bacula-dir'], stdout=PIPE) status = systemctl.stdout.read().rstrip() if 'active' == status: run = 1 if fg > 1: print(status, run) param = PARAMS["bacula.daemon.bacula-dir.status"] lib.update_stat_n(cur, param, run) run = 0 systemctl = Popen([SYSTEMCTL, 'is-active', 'bacula-sd'], stdout=PIPE) status = systemctl.stdout.read().rstrip() if 'active' == status: run = 1 if fg > 1: print(status, run) param = PARAMS["bacula.daemon.bacula-sd.status"] lib.update_stat_n(cur, param, run) run = 0 systemctl = Popen([SYSTEMCTL, 'is-active', 'bacula-fd'], stdout=PIPE) status = systemctl.stdout.read().rstrip() if 'active' == status: run = 1 if fg > 1: print(status, run) param = PARAMS["bacula.daemon.bacula-fd.status"] lib.update_stat_n(cur, param, run) # record itself :) param = PARAMS["ibadmin.daemon.ibadstatd.status"] lib.update_stat_n(cur, param, 1) cur.close()
def clientlist(conn, fg): cur = conn.cursor(cursor_factory=psycopg2.extras.DictCursor) curparam = conn.cursor(cursor_factory=psycopg2.extras.DictCursor) cur.execute("select R.name as name from config_confcomponent C, config_confrtype T, config_confresource R where C.type='D' and C.compid=R.compid and T.typeid=R.type and T.name='Client';") for client in cur: name = client['name'] if name not in CLIENTS: CLIENTS.append(name) setparam(curparam, "bacula.client."+name+".status", 'N', "Status of bacula-fd agent service at "+name, "Status", 1, 6, '#001F3F', 'box-primary') global NR NR = cur.rowcount param = PARAMS["bacula.client.number"] lib.update_stat_n(cur, param, NR) if fg: print(PARAMS) print(CLIENTS) cur.close() curparam.close()
def clientlist(conn, fg): cur = conn.cursor(cursor_factory=psycopg2.extras.DictCursor) curparam = conn.cursor(cursor_factory=psycopg2.extras.DictCursor) cur.execute("select R.name as name from config_confcomponent C, config_confrtype T, config_confresource R where C.type='D' and C.compid=R.compid and T.typeid=R.type and T.name='Client';") for client in cur: name = client['name'] if name not in CLIENTS: CLIENTS.append(name) setparam(curparam, "bacula.client."+name+".status", 'N', "Status of bacula-fd agent service at "+name, "Status", 1, 6, '#001F3F', 'box-primary') global NR NR = cur.rowcount param = PARAMS["bacula.client.number"] lib.update_stat_n(cur, param, NR) if fg > 1: print(PARAMS) print(CLIENTS) cur.close() curparam.close()
def collect(conn, fg): cur = conn.cursor(cursor_factory=psycopg2.extras.DictCursor) try: stat = open('/proc/meminfo') except IOError: return 0 # read all memory info into buffer data = stat.read() stat.close() for line in data.splitlines(): try: name, value, units = line.split() name = name.rstrip(':') value = int(value) if name not in KEY_MAPPING: continue except ValueError: continue if 'kB' == units: value *= 1024 elif 'MB' == units: value *= 1049586 elif 'GB' == units: value *= 1024 * 1048576 if fg: print (name, value) param = PARAMS[name] lib.update_stat_n(cur, param, value) if name in ('MemTotal', 'MemFree'): SYNTH[name] = value if SYNTH.get('MemTotal', 0): used = SYNTH['MemTotal'] - SYNTH['MemFree'] util = used * 100.0 / SYNTH['MemTotal'] if fg: print (used, util) param = PARAMS['_Memory_Used'] lib.update_stat_n(cur, param, used) param = PARAMS['_Memory_Util'] lib.update_stat_f(cur, param, util) cur.close()
def collect(conn, fg): clientlist(conn, fg) cur = conn.cursor(cursor_factory=psycopg2.extras.DictCursor) for client in CLIENTS: if STAT.get(client, 0) == 0: # last check was ok or never checked if fg: print ("cheking ", client) out = checkclient(client) param = PARAMS["bacula.client."+client+".status"] lib.update_stat_n(cur, param, out) if out == 0: if fg: print ("Timeout in checking client "+client+" !") # TODO zastanowić się jak rozwiązać problem przerywania testu dla działających klientów # CLIENTS.append(CLIENTS.pop(CLIENTS.index(client))) break else: STAT[client] -= 1 if fg: print (STAT) cur.close()
def collect(conn, fg): clientlist(conn, fg) cur = conn.cursor(cursor_factory=psycopg2.extras.DictCursor) for client in CLIENTS: if STAT.get(client, 0) == 0: # last check was ok or never checked if fg: print("cheking ", client) out = checkclient(client) param = PARAMS["bacula.client." + client + ".status"] lib.update_stat_n(cur, param, out) if out == 0: if fg: print("Timeout in checking client " + client + " !") # TODO zastanowić się jak rozwiązać problem przerywania testu dla działających klientów # CLIENTS.append(CLIENTS.pop(CLIENTS.index(client))) break else: STAT[client] -= 1 if fg: print(STAT) cur.close()
def collect(conn, fg): cur = conn.cursor(cursor_factory=psycopg2.extras.DictCursor) update(cur, fg) for mountpoint in FS: try: data = os.statvfs(mountpoint) except OSError: continue size_total = data.f_blocks * data.f_frsize size_free = data.f_bfree * data.f_frsize size_avail = data.f_bavail * data.f_frsize inode_total = data.f_files inode_free = data.f_ffree inode_avail = data.f_favail if fg > 1: print(mountpoint, size_free, size_avail, inode_total, inode_free, inode_avail) param = PARAMS['system.fs.' + mountpoint + '.size.total'] lib.update_stat_n(cur, param, size_total) param = PARAMS['system.fs.' + mountpoint + '.size.free'] lib.update_stat_n(cur, param, size_free) param = PARAMS['system.fs.' + mountpoint + '.size.available'] lib.update_stat_n(cur, param, size_avail) param = PARAMS['system.fs.' + mountpoint + '.inode.total'] lib.update_stat_n(cur, param, inode_total) param = PARAMS['system.fs.' + mountpoint + '.inode.free'] lib.update_stat_n(cur, param, size_free) param = PARAMS['system.fs.' + mountpoint + '.inode.available'] lib.update_stat_n(cur, param, inode_avail) cur.close()
def collect(conn, fg): cur = conn.cursor(cursor_factory=psycopg2.extras.DictCursor) update(cur, fg) for mountpoint in FS: try: data = os.statvfs(mountpoint) except OSError: continue size_total = data.f_blocks * data.f_frsize size_free = data.f_bfree * data.f_frsize size_avail = data.f_bavail * data.f_frsize inode_total = data.f_files inode_free = data.f_ffree inode_avail = data.f_favail if fg: print (mountpoint, size_free, size_avail, inode_total, inode_free, inode_avail) param = PARAMS['system.fs.'+mountpoint+'.size.total'] lib.update_stat_n(cur, param, size_total) param = PARAMS['system.fs.'+mountpoint+'.size.free'] lib.update_stat_n(cur, param, size_free) param = PARAMS['system.fs.'+mountpoint+'.size.available'] lib.update_stat_n(cur, param, size_avail) param = PARAMS['system.fs.'+mountpoint+'.inode.total'] lib.update_stat_n(cur, param, inode_total) param = PARAMS['system.fs.'+mountpoint+'.inode.free'] lib.update_stat_n(cur, param, size_free) param = PARAMS['system.fs.'+mountpoint+'.inode.available'] lib.update_stat_n(cur, param, inode_avail) cur.close()