Example #1
0
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()
Example #2
0
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()
Example #3
0
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()
Example #4
0
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()
Example #5
0
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()
Example #6
0
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()
Example #7
0
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()
Example #8
0
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()
Example #9
0
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()
Example #10
0
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()
Example #11
0
File: FS.py Project: inteos/IBAdmin
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()