logger.info('Add Device: IP aangevraagd:' + newip)
    content = content + "<p>Ingevoerd: " + newip + "<p>"
    try:
        agent_to_discover = agent_module.agent(newip)
        new_data = agent_to_discover.discover()
        agent_info_table = '''<table><tr><th>Hostname</th><td>%s</td>
<tr><th>OS</th><td>%s</td></tr>
<tr><th>Versie</th><td>%s</td></tr></table>''' % (new_data['hostname'], new_data['os'], new_data['version'])
        #TODO Checken of agent niet al in database staat.
        database.add_agent(newip, new_data['hostname'], new_data['os']) # Agent toevoegen aan de database.
        logger.warning('Agent wordt tegevoegd aan database: ip=%s, hostname=%s, os=%s' % (newip, new_data['hostname'], new_data['os']))
        custom_actions_table = "<h2>Acties:</h2><table><tr><th>Naam</th><th>Beschrijving</th></tr>"
        if len(new_data['custom_actions']['names_list']) > 0:
            for custom_action in new_data['custom_actions']['names_list']:
                database.add_action(newip, custom_action, new_data['custom_actions']['descriptions'][custom_action])
                current_row = '<tr><td>%s</td><td>%s</td></tr>' % (custom_action, new_data['custom_actions']['descriptions'][custom_action])
                custom_actions_table = custom_actions_table + current_row
            custom_actions_table = custom_actions_table + '</table>'
        else:
            custom_actions_table = "<p>Er zijn geen acties gevonden op deze agent.</p>"
        content = content + agent_info_table + custom_actions_table
    except:
        logger.error("Tijdens het discover proces is het volgende fout gegaan: %s" % traceback.format_exc())
        error = '<span class="warning"><h1>Er ging iets fout:</h1><p>%s</p>' % traceback.format_exc().splitlines()[-1]
        content = content + error
except:
    content = content + '<p>Voer een IP adres of DNS naam in.</p>'

print(helper_web.create_html(content))
logger.info('Pagina apparaat toevoegen is klaar.')
    try:
        current_agent_data.append(str(agent.data['cpu_load']))
    except:
        current_agent_data.append('?')

    try:
        current_agent_data.append(str(agent.data['no_users']))
    except:
        current_agent_data.append('?')

    try:
        current_agent_data.append(str(agent.data['no_processes']))
    except:
        current_agent_data.append('?')

    try:
        current_agent_data.append(str(agent.data['no_services']))
    except:
        current_agent_data.append('?')

    # Yay voor javascript om klikken op een rij werkend te maken.
    agent_row = '''<tr onclick="document.location = 'web_agent.py?id=%s';">''' % agent.ip
    for td in current_agent_data:
        agent_row = agent_row + '<td>' + td + '</td>'
    agent_row = agent_row + '</tr>'
    table = table + agent_row
table = table + '</table>'
print(helper_web.create_html(table))
logger.info('Pagina dashboard is klaar.')
Пример #3
0
logging.basicConfig(filename=config_loader.cfg['logging_normal']['file'], level=config_loader.cfg['logging_normal']['level'], format=config_loader.cfg['logging_normal']['format'])
logger = logging.getLogger('mainlogger')
if config_loader.load_error:
    # Mocht er iets fout zijn gegaan bij het laden van de configuratie, dan wordt deze code uitgevoerd.
    logger.error(config_loader.load_error)

logger.info('Pagina: Agent informatie.')

arguments = cgi.FieldStorage()

current_agent = agent_module.agent(arguments['id'].value)
#current_agent = agent_module.agent('localhost')
if len(current_agent.info) != 2 :
    warning = '<div class="warning"><p>Ongeldige agent!</p></div>'
    logger.error('Ongeldige agent opgevraagd.')
    print(helper_web.create_html(warning))
    print(current_agent.info)
    exit(1)

try:
    current_agent.request_info()
except socket.timeout:
    print(helper_web.create_html('<div class="warning"><p>Timeout bij het opvragen van de data.</p></div>'))
    exit(1)
except ConnectionRefusedError:
    print(helper_web.create_html('<div class="warning"><p>Verbinding geweigerd bij het opvragen van de data.</p></div>'))
    exit(1)
except:
    print(helper_web.create_html('<div class="warning"><p>Onbekende fout bij het opvragen van de data.</p></div>'))
    logger.error('Onbekende fout bij het opvragen van data: %s' % traceback.format_exc())
    exit(1)