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.')
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)