import agent_module import config_loader import time import logging import traceback logging.basicConfig(filename=config_loader.cfg['logging_cron']['file'], level=config_loader.cfg['logging_cron']['level'], format=config_loader.cfg['logging_cron']['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) logging.info("Cronjob is gestart.") agent_list = database.get_agents() agents_to_query = [] data_to_log = ['temperature', 'ram_total', 'ram_free', 'no_users', 'cpu_load', 'no_processes', 'no_services'] logger.debug('De volgende agents worden bevraagd: %s' % agent_list) # Maak een lijst met alle agents als een object. for agent_info in agent_list: agents_to_query.append( agent_module.agent(agent_info[0]) ) # Vraag per agent de informatie op. for agent_query in agents_to_query: try: agent_query.request_info()
import agent_module import database import helper_web import logging import config_loader 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('Dashboard pagina wordt gemaakt.') agent_list = [] for agent_record in database.get_agents(): agent_list.append(agent_module.agent(agent_record[0])) # Als we nu toch bezig zijn, vragen we meteen de informatie uit de database op. agent_list[-1].get_last_data() # Nu kunnen we de tabel gaan bakken. table = '<h1>Dashboard</h1><table id="dashboard_table"><tr><th>Hostname</th><th>RAM</th><th>CPU</th><th>Users</th><th>Procs</th><th>serv</th></tr>' for agent in agent_list: # We maken even een list met alle data. Dit maakt het maken van de tabel wat makkelijker. # TODO Icoontje voor Windows of Linux. current_agent_data = [agent.info['hostname'],] # Er is een redelijke kans dat een item niet in de database staat. Als dit het geval is, dan moet er een vraagteken komen te staan in de tabel. # Zo'n brei aan try en excepts is niet erg mooi, maar ik kan er nu even niets beters van maken. try: current_agent_data.append(str(int(agent.data['ram_free'] / agent.data['ram_total'] * 100))) except: